For me, Coaching is about getting the most out of people, teams or organization by raising their mindfulness levels with regards to their present inner and outer environments, and above all, with regards to their own strengths. This is done mainly by putting forth the correct questions, and not by giving them instant answers.
My description of an Agile Coach is even less prohibitive. Although coaching is my primary modus operandi, there are times when I make suggestions in view of my practitioner foundation. As a coach I often switch the roles of a mentor and a trainer. For instance, people get motivated to take action by sharing personal experiences and other valuable resources with them. Leading a workshop can help kickstart a gathering on practices like TDD and Refactoring.
As an Agile Coach and a Scrum Master I impart knowledge at various levels within an organization.
Coaching Agile Practices to cross-functional team members
An Agile Coach helps individuals in a team, understand their roles in Agile environment. This includes helping the team members grow their skills. At various points in time a coach is required to wear many cross-functional, cross-skilled hats like that of a Tech Coach, a QA Coach or a BA Coach.
A coach is required to actively pair with developers to teach skills and practices like Pair Programming, Test Driven Development and will run various workshops to make them understand the concept of Continuous Integration etc.
A coach helps a QA team by giving them a hands on training creating test scenarios from acceptance criteria, setting up automated tests, teaching them test pyramid concepts etc.
With BAs and Product Owners, emphasis is given to identifying Functional and Non-Functional Requirements, converting a Vision or Requirements Document to a Product Backlog, Story Estimation and Slicing Techniques, Story Prioritization Skills, etc.
Coaching Agile Values and Principles
While Processes and tools are important, Agile manifesto clearly states that more emphasis must be given to the Individuals and interactions. Before teaching a team about agile practices and tools like daily scrums, pair programming, etc. a coach is required to get a buy-in from the team members by making them understand how those practices can help their team become high performing.
Practices and tools gets replaced if we don’t back them up with a clear understanding of the Principles behind them. Making practices like sprint planning meetings, daily scrums, reviews and retrospectives effective and valuable for the team falls under this type of coaching.
Coach also helps the team to think about all the possible Metrics that the team can yield and decide which one of those will be beneficial for them to measure. Most common metrics include Cycle Time, Velocity, Defects Count, Code Coverage, Cyclomatic Complexity and Build Frequency.
Coaching the Organization
Members of a scrum team are not the only ones who require coaching from an Agile coach. Company’s leadership is coached as part of the strategic plan of the Agile Coach. This means coaching the organization at all levels including but not limited to the Program Managers, the Department Heads, the Project Managers, etc.
Coaching at this level ensures an organization’s commitment to an Agile project and makes sure that the company’s heads will support and enable the teams in delivering valuable product increments every sprint. This helps prevent scope creep and other road blocks that can slow down a team substantially.
Other topics of interest that an Agile Coach covers as part of the Strategic coaching are continuous delivery initiatives, identifying enhancements in architecture and ecosystems, team selection for Agile Adoption and discussing overheads in IT policies.
Almost all Agile Coaches touch upon all the topics discussed above to varying degrees depending upon the culture of the company, team member’s skills and motivation levels and above all what’s the need of the moment.
Explore Further with the following links.