- 18 Hot IT Certifications for 2014
- CIOs Opting for IT Contractors Over Hiring Full-Time Staff
- 12 Best Free iOS 7 Holiday Shopping Apps
- For CMOs Big Data Can Lead to Big Profits
CIO - For the most part, attendees at last month's Agile2013 Nashville conference downplayed their title. Programmers, managers, DevOps and testers instead described themselves as "agilists" there to share the experience.
However, there was one group that stuck out, one group that didn't exist 10 years ago: The agile coaches. The role is new, and hard to define.
One attendee describes himself as someone who "used to be a programmer" but is now a coach. I ask what he's been doing, in an effort to define agile coach by example. His company won a contract to convert a large company to scrum and was putting employees through three days of the Certified ScrumMaster course - but he wasn't a trainer.
More from Agile2013: How to Move Beyond Project Estimates and Provide Better Value
The Agile Conference has a coaches' clinic where you can get 15 minutes of "free coaching." But what exactly is that? (Photo Credit: Matt Heusser/ CAST)
"What do you do?" I ask.
"Whatever it takes," he answers. "Programming, if I need to."
That's right. Pressured to describe his role, his one example was the thing he claimed he wasn't doing lately.
Where Does an Agile Coach Come From?
The earliest mention of the "coach" role in agile software development comes from extreme programming, codified in Kent Beck's Extreme Programming Explained: Embrace Change. For Beck, the coach was equal parts traditional manager and 'tracker.'
Beck positions the coach as someone who might otherwise be a lead programmer or system architect. While those terms "conjure up visions of isolated geniuses making the important decisions on the project," he continues, "the coach is just the opposite. The measure of a coach is how few technical decisions he or she makes. The job is to get everybody else making good decisions."
The responsibility Beck gives the coach probably mimics what the attendee I spoke to actually does on his project - partnering with developers (especially junior ones) to figure out development tasks and helping programmers develop technical skills such as unit testing and refactoring, all while serving as a translator to explain the process to upper-level management.
Over the past few years, the agile movement has moved its focus to self-directed work teams, and the coach role has shifted a bit to match. At the conference, when I asked about the role, most responses were similar to International Coach Federation (ICF) guidance: "With coaching, the assumption is that individuals or teams are capable of generating their own solutions, with the coach supplying supportive, discovery-based approaches and frameworks."
Even the original extreme programming book supports that idea. "If you had a team that was technically self-sufficient, but needed help with their process, you could coach without being a techno-whiz," Beck writes. "You would still have to convince the propeller-heads that they should listen to you. But once the skills are there, my job is mostly reminding the team of the way they said they wanted to act in various situations."