Agile Coaching for Your Agile Company

[article]

Part I - When do you need an internal coach?

1. Symptoms of the Need for Coaching

Many companies embark on their Agile journey alone. Some will persist in the Do-It-Yourself (DIY) method and others will determine that they need help in the form of expert training and coaching provided by a professional Agile consultant from outside the company. As Agile spreads within the enterprise it will either become apparent or the Agile consultant will suggest that the company create an internal coaching position to better serve the needs of the evolving organization.

Sometimes the need is not so obvious. DIY companies in particular can take a long time to realize that Agile expertise exists and that not enough of it is available within the company.

Deciding to create internal Agile expertise can be guesswork or deliberate. Some symptoms of an organization ready for a funded, centralized, dependable, persistent corporate Agile presence are:

  • There is no way to judge the success of the existing Agile teams
  • Teams show a wide variance in their success
  • Teams show largely unsatisfactory Agile implementations, a lack of success, or a lack of benefits compared to what went before
  • Your outside consultant(s) becomes a bottleneck to your rollout
    • For financial reasons – they just cost too much
    • Because they cannot meet your demand
    • Because they are not experienced enough to meet all of your needs
  • Your Agile implementation is moving from individual teams to programs
  • Other organizations within the company notice that they are not aligned with the Agile organizations

The first three are about how well your Agile teams are doing. If you are well into the adoption of Agile methods and you can’t tell how well your teams are doing, or if your teams are doing poorly, you will want to take action. In a PMO-driven world, you would put in numerous rules and oversight to address these issues. In an Agile world, you want to provide support, training, and education in order to make teams more successful in discovering the best implementations and benefits from Agile methods. You will also want to distil and synthesize from your successes a localized formula for adopting Agile, so that training and coaching can be as effective as possible within your organization.

One good way to do this is to provide someone who is well versed in Agile and who can both assess Agile maturity and provide coaching services (see below) to your teams.

The next symptom refers to what happens when you outgrow your external source of Agile expertise. Eventually, you will want to become self-sustaining and you will need to shift Agile expertise in-house. The items listed here are the symptoms you will begin to feel as you go beyond the need for Agile introductory training.

The last two symptoms are natural outgrowths of a successful Agile adoption. You will eventually want to apply Agile principles to large-scale projects, and will also notice as Agile takes hold that some of the organizations outside of the development teams are asking for training to align themselves better with the new rhythm and style of the Agile teams.

The thoughtful reader will notice that we have just argued that there is a need for internal coaching if your Agile tranformation is going poorly, or if it is going well. In other words, there is an eventual need for Agile coaching in nearly all companies that choose to adopt Agile methods.

Part II - What does an internal coach do?

2. Training (those new to Agile)

Training is one of the primary functions of an Agile coach. New teams, new employees, managers, and executives will all need training in the early days of a transformation. The need for training is constant because even after the entire organization has become mature at Agile practices, new people joining the organization will need training in order to fit in with the existing Agile culture.

3. Coaching

  • Launching new teams

Coaching is the process of advising, correcting, suggesting, and otherwise helping teams to initiate or improve their Agile implementation. While frameworks like Scrum are simple, there is significant room for error and sub-optimization when a team tries to implement it for the first time. A coach is expected to use their experience to guide teams in their first attempts in interpreting Agile principles and practices.

  • Team Assessments and Tuneups

This is a delicate process where the coach typically observes a team and then offers appropriate remedial measures which might include training, coaching on specific aspects of Agile, or specific advice on altering the team context. Many misinterpret these assessments as a way to check for compliance to a “standard Agile process”. A better way to think about it is to check for the best implementation of Agile principles to achieve the best possible business results. When there is a standard framework such as Scrum or XP in place then realizing the best possible implementation of those might be the simplest goal, but it is not the only one.

A warning: If the goal of assessments is seen as “compliance”, then the coach will be seen as another form of “process police” and will lose credibility as a trusted partner for the team.

  • Continuous Education

Often training is lavished on development teams early in an Agile adoption, but others such as management, business development, sales, marketing, operations, the Project Management Office (PMO), and other organizations do not receive the same level of training. Educating these organizations about Agile is a first step to helping the company remain an effective business entity. This continuous education effort by the coach is typically less intensive and detailed than actual Agile team training, and in many cases it is the correct level of information to give other organizations, particularly early on.

  • Support and Governance

Just as the PMO has a centralized role in process governance, there is an ongoing need to understand the current state of Agile process implementations in the company. This can be as simple as somebody who visits teams or it can be as complex as designing and collecting rich sets of metrics to improve Agile implementations company-wide.

  • Consulting

Agile frameworks do not specify all aspects of an Agile implementation, particularly with large organizations and projects. It can be both non-trivial and non-obvious to apply Agile principles to a 500+ person program in a way that will work in practice and provide similar benefits as in smaller teams. An Agile coach is presumed to stay current on the state of industry knowledge regarding complex and large applications of Agile methods, and should be able to help teams and programs in successfully applying the knowledge.

  • Community Creation and Leadership

An important service that the internal Agile coach can perform for their organization is the formation and nurturing of a community of practitioners. This community will serve as a place where practitioners can air questions and collaborate to solve local issues. Such communities should be formed early in the organization’s Agile transition. As a simple special-interest group, the community can be a fun place to grow and learn, especially if the Agile coach periodically injects items of interest from the greater Agile community into it for purposes of discussion.

The coach not only nurtures the community, but also uses it to stimulate new ideas and problem solving across teams, groups, and organizations. In this venue, the coach can gently steer discussion and inject very sophisticated thinking without being directive or dismissive of others. Having such communities can spark new efforts in innovation and productivity boosts long after the start of the Agile transition.

4. Modeling Agile Behaviors

The most critical thing an Agile coach can do within the organization is to continually model the behaviors he or she is trying to develop. Some of these behaviors include facilitation, constructive conflict navigation, failing fast and making the failures and other learning opportunities highly and continuously visible. See Davies and Sedky’s book on Agile coaching and Tabaka’s book on collaboration for details. In Adkins’ book on coaching Agile teams (see Further Reading), she lists many of these same behaviors for the Agile coach, one of which is “your favorite goes here” -- reflecting that the coach must always be adapting to the situation at hand within the organization. Modeling such continuous improvement behaviors is key for an Agile coach.

Part III – Creating Your Internal Coach

5. What To Look For in an Agile Coach

5.1. Values

As the Agile Manifesto declared better ways of working, we propose a potential set of values to seek out in an Agile Coach:

  • Engaging over telling

Just as Agile philosophy values interactions between people, so will a good Agile coach make use of interactive teaching techniques by briefly discussing new concepts and then engaging students in discussions, activities, and experiments that encourage people to participate in their own learning. This skill can range from an untutored individual style to years of perfecting professional training skills.

  • Investigative style of observation (and Socratic questioning) over interrogation

While the Agile coach may have greater knowledge of Agile practices than anyone in the organization, they should have the wisdom to realize that they may not always have the right answer. Therefore, an Agile coach will not ask questions such as “Why are you not doing pair programming?” but instead allow teams to discover and decide their best solution. To accomplish this, the coach may ask things such as “What problems are you having with quality? What do you see working or not working with current practices? Is there an alternative practice we could try that may accomplish better results? Have we considered pair programming?” Such a line of questioning allows the team to select practices that work best for their environment rather than have some new Agile practice forced upon them.

  • Facilitation over directive leadership

An Agile coach will ensure that all voices are heard rather than dictating an agenda. While achieving this balanced input through facilitation, the Agile coach will also help the team reach consensus on decisions rather than make a decision for the team. The coach should be capable of providing this facilitation to any level of the organization from delivery teams up through executive management so that they all can realize the benefit of collaborative self-management.

  • Community-oriented over hierarchical structures

An Agile coach sees the organization as an ecosystem and realizes that one small change in a practice or a role can ripple through the organization in unpredictable ways. So each change is treated as an experiment that runs through enough plan-do-check-act cycles to determine if the change is effective or detrimental for the team and the organization. This is a very different view from traditional organizational structures where we try to compartmentalize work and people in hierarchies or matrices. People rarely live within these boxes and instead tend to wind their way throughout parts of the organization just as vines grow through fences and hedges in a garden. The Agile coach looks at where these vines might support or choke the growth of the Agile transition and take appropriate steps to initiate new changes.

5.2 . Human Qualities

Beyond the qualities listed above, there are others that you may want to notice as you seek out your internal Agile coach:

  • Listening Deeply amp; Reflectively

This is more than just “reflective listening”. As Adkins describes in her book, there can be multiple levels of listening and a good coach learns to not only hear the words, but “hear the context” behind the words.

  • Teaching with Passion

A coach may not be passionate about all subjects, but they should show passion for some subjects and that will be evidenced in how they teach others in a classroom setting or mentor one-on-one. This typically shows up as people describing them as “energetic” or “motivating”.

  • Continual Student

The state-of-the-art in Agile methodologies is constantly changing as the worldwide community grows and techniques are vetted and reported. An Agile coach needs to be aware of these trends in order to be able to introduce them within the organization.

  • Always Serving

The best coaches are always serving their teams, communities and organizations. This does not mean that they are suppressing their own goals. At Rally, one of our core values is “Create Your Own Reality”. As part of that core value, we each try to identify our passions and find ways to align them with organizational goals to effectively serve self and the organization. A good Agile coach models this behavior as well as teaching others to do the same.

To consider other characteristics of an Agile coach, you may want to review patterns in Rising and Mann’s book on Fearless Change or review Roger Brown’s list from his 2009 blog post.

6. Hire or Select from Within?

6.1. Build vs. Buy

There are good reasons for finding your Agile coach within your company. Cultural implications of an Agile transformation, a deep understanding of the political landscape, historical context, business environment, and other company-specific factors can be very powerful pieces of a coach’s strategy. In terms of effective coaching, these can be as important as any of the various coaching skills and qualities that we mention above.

Another important thing for a corporate coach is enthusiasm and a positive outlook. Somebody who believes in the strength and benefits of Agile will have a much higher likelihood of helping implement it correctly. Energetic enthusiasm trumps dispassionate knowledge, in our opinion.

A third significant benefit from finding your coach inside the company is that often they will already be well-known within the company as being positive, driven, and competent. Credibility is key for a coach, so having someone who has already developed credibility, sometimes over years, can make a big difference. This is crucial for dealing with the common belief in nearly all companies that “we’re different here”. Someone who has shown the ability to achieve success with Agile methods within the local corporate context will enjoy much higher credibility than an outsider.

6.2 Some tips for hiring a coach

If you decide to go outside the company, you will be faced with an unusual hiring situation of not having existing expertise within your company to help judge candidates. To overcome this, include an external Agile coach in the interview loops.

Also, don’t just sit your candidate in a room and pepper them with questions. There are many good sources of information on interviewing, but Agile principles would simply suggest that they “collaborate” and “demonstrate results”. A few suggestions:

  • Have the coach candidate facilitate a discussion within a team in your company. The team should be passionate about the topic. This might be a design or strategy discussion. There should be opposing views represented. Observe how the candidate serves the team in helping them reach their own conclusion. Of course, a non-disclosure agreement (NDA) helps as well.
  • Pair the coach candidate with someone else in your organization to develop training material or code.
  • Have the coach candidate teach a topic to a wide variety of staff in your company. Lunch-n-learns are good opportunities.
  • Observe how the coach reacts to the unexpected. Try Powerpoint Karoke, in which the speaker is given a set of slides that they have never seen before. The slides are put on automatic advance every 20 seconds or so. The object of the game is to give the most coherent presentation possible.

7. Summary

Coaching and training are indispensable to Agile transformations. For most companies of significant size, there is great value in the creation and maintenance of a stable, dependable internal source of Agile knowledge, often called the “internal Agile coach.” It is possible to observe some symptoms across the enterprise that indicate that an internal Agile coach might be a good addition to Agile activities.

The duties of the internal Agile coach differ from those of the so-called “Agile champion” and are many and varied. They include aspects of training and coaching and a number of other items. Being an Agile coach requires a wide range of human qualities, skills and experience, and selecting one for the company should be done carefully.

8 . Further Reading

“Agile Coaching”, Rachel Davies and Liz Sedley, 2009.

“Coaching Agile Teams: A Companion for ScrumMasters, Agile Coaches, and Project Managers in Transition”, Lyssa Adkins, Addison-Wesley, 2010.

“Collaboration Explained: Facilitation Skills for Software Project Leaders”, Jean Tabaka, Addison-Wesley, 2006.

“Fearless Change: Patterns for Introducing New Ideas”, Mary Lynn Manns, Ph.d., and Linda Rising, Ph.d., Addison-Wesley, 2004.

http://www.Agilecoach.net/

“The Value of an Agile Coach”, Roger Brown, http://www.Agilecoachjournal.com/index.php/2009-10-15/scrum/the-value-of-an-Agile-coach/.


About the Authors
Mark Kilby is an Agile Coach with Rally Software in Orlando, Florida. Since 1990, Mark has helped teams develop unique software and system solutions for government, industry, and academia as a developer, architect, project manager, instructor, methodologist and scrummaster. His experience spans full life cycle development of new and legacy applications for the military, NASA, publishing, telecommunications, and many other industries. His passion is coaching coaches to guide great teams via collaboration, continuous evolution, and application of agile principles. Mark is a Certified ScrumMaster and received a Masters degree in Electrical Engineering from the University of Florida and a Masters in Computer Science from University of Central Florida.

Alan Atlas has been professionally involved in high tech for nearly thirty years. Starting out with a BA in Psychology from Brown University and a BSEE from the University of Massachusetts, he joined Bell Labs as a hardware engineer and promptly went off to Georgia Institute of Technology to get an MSEE. During his time at Bell Labs, he discovered software and taught himself the C programming language.

Moving to the world of software development, Alan then spent some years developing kernel functions in a realtime UNIX kernel for data acquisition workstations. Promoted to OS Group Manager, Alan began 25 years of technical management during which he rose to the Sr. VP level before voluntarily downgrading back to Dev Manager where things are a lot more fun. Highlights of those years include the release of OSF Motif 1.0 and the release of AvidNews 1.0, an industry-award-winning broadcast news management system from Avid Technology.

While a Sr. Development Manager in Web Services at Amazon.com, Alan discovered Scrum. He became a Certified Scrum Master and he and his team used Scrum for over a year to successfully deliver Amazon S3, the Codie-award-winning web service that provides unlimited Internet-connected storage.

The success of the Amazon S3 project and Alan’s enthusiasm for the Scrum methodology led to widespread Scrum adoption within Amazon.com. Alan became a Certified Scrum Trainer and the first fulltime Agile Trainer/Coach at Amazon. His experiences in this capacity led him to seek and achieve the Certified Scrum Coach designation, and then to make a career switch into fulltime Agile coaching and training at Rally Software, a market leader in Agile tools and consulting. Alan has presented at Agile2009 and the Munich Scrum Gathering, and is blogging actively on his own and also on Rally’s Agileblog.

Outside of work, Alan plays tenor and baritone saxophone in a Motown-style soul band, scuba dives, and naps whenever possible. Tormenting the family parrots also takes up a lot of his time.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.