For the Agile Adoption blog series, I have talked about:
Why you should adopt agile – Part 1
How to start – Part 2
What to do – Part 3
When things go wrong – Part 4
(bonus points to you if you picked up on the theme in the titles before now)
And now for the final post,
Who can help?
Agile is about helping teams work together to produce great software. As I have discussed in previous blog posts, there are a number of challenges that can come up when a team adopts agile. Agile coaches help teams by targeting specific problem areas that are preventing the team from performing at their best.
Agile coaches do four important things:
- Observe and give feedback
- Educate and encourage learning
- Facilitate and smooth the path
- Support and energize the team
An assessment is often the first step in a coaching engagement, to determine where you are and where you want to be. By better understanding the frameworks, practices, tools, and processes currently in place, coaches can tailor their approach as needed by taking into account the goals, risks, environment, and culture at your organization.
This assessment should include observing current day-in-the-life ceremonies, surveying team members to assess the organization’s adoption of agile practices, and conducting small group interviews with key executive and management roles within the organization. After the assessment, the coach will identify and assess the impacts and potential risks and impediments to current agile adoption and determine recommendations for agile practices, frameworks, tools, training, and assistance needed for the subsequent coaching effort.
After the assessment, the coach will work with the team to educate them on the areas of agile that need improvement. This could take the form of formal training sessions or just in time training, taking advantage of teachable moments as they occur during the normal workday. As part of supporting and encouraging the team, an agile coach will provide insight and encouragement, helping to remove impediments along the path to agile advancement. This includes determining how to tailor and apply appropriate best practices in agile to your organization. While there are many common patterns in agile adoption, every organization has its own unique challenges, and a good coach will ensure that agile is adapted to work within the organization. While some agile purists may take exception to this statement, I believe that part of being agile is always improving, and part of that improvement may include tailoring agile practices. I think of it as knowing what the book says on agile, and knowing what will work for your organization. However, if you do something different from the book, you should know what risks you are introducing by doing (or not doing) things differently than is recommended.
As a final note, a coaching relationship should be like parenting, where the purpose is to make the coach’s role obsolete. A good coach will evaluate how the team its doing against their goals, and plan for a gradual transition, allowing the team to spread its wings more and more within the supportive context of coaching, until they are ready to go out there on their own. This doesn’t mean that there won’t be problems along the way, or that the team won’t have setbacks. But by providing ongoing support as needed, such as additional training or access to a periodic check-in with a coach, you can give fledgling teams the ability to learn and grow and make mistakes on their own, and ultimately succeed at making great software.
If this blog series has piqued your interest in agile, or if you would like to learn more about how SPR can support your agile adoption, please contact us.