Agility through Teamwork
Agile teams deliver business value frequently, adapting to the changing needs of the business, while working at a sustainable pace (paraphrasing Elisabeth Hendrickson’s Agile Acid Test). What’s the secret to achieving true “agility”? Why do so many software teams fail to achieve it?
In my experience, if you have the right people on a software development team, and allow them to truly self-organize, as Esther Derby notes, they’ll figure out how to achieve true agility. This isn’t cheap or easy, and it requires that everyone in the company—from executives on down—understands that focusing on quality is the only way to get speed. The reality is that companies must make this investment in order to get the software they need to succeed over the long term.
According to Steve Denning, a self-organizing, cross-functional team builds the right mix of skills they need to overcome all impediments they encounter, and those impediments never stop arising. The members of that team—or teams, depending on company size—know their business domain and enjoy their work. They don’t just aspire to be great. They seek what Olaf Lewitz describes so well in his Magnificence Mantra.
To that end, each individual, whatever her position on the team, continually improves her craft, studying resources such as Bob Martin’s The Clean Coder. No matter how much they’ve already achieved, team members push themselves to delight their customers more. They use retrospectives to identify obstacles and try small experiments to overcome them. They embrace techniques such as the core protocols to ensure full collaboration and personal safety for all members.
Back in 2003 when my current team committed to delivering the best possible quality software we could, I knew we would find ways to deliver on that commitment. It’s been a privilege to be part of a team for such a long journey—from the chaos that so many software teams experience to being able to meet any challenge our business stakeholders bring. We’ve jelled as a team, we have a level of trust that allows us to wrangle over various ways to solve a problem without hurting feelings, and we’ve always taken time to learn and manage our technical debt.
When I attended Jim McCarthy’s keynote at San Francisco Agile 2012, I realized that our team is successful on so many levels because each of us—individually and as a team—aspires to magnificence. It sounds so touchy-feely that I might have a hard time getting all my teammates to admit it, but it’s true. We care about each other, and we care about our business. We aren’t interchangeable “resources.” Each of us contributes unique skills that have allowed us to deliver value to our business for each of 220 sprints so far, at a steady velocity, while working forty-hour weeks.
How about your team? Would you like to be good? Great? Magnificent? Take time to learn how to self-organize, and start your journey to true agility.