Rachel Davies: Agile Experience When I tell you my job title is Agile Coach you may guess that I work in the physical fitness industry. So it could be a surprise to learn that actually I work in the land of geeks coaching software development teams helping to make them agile.

 

You may have heard "agile", one of the latest buzz-words. The word conjures up images of lean teams working at a fast pace and so it seems that everyone wants to say they work in an agile team. Others of you will know that Agile is a general term applied to software development methods that follow the principles of the Agile Manifesto (see below).

Manifesto for Agile Software Development

 

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

This manifesto was written in 2001, when a group of methodologists gathered together to unite behind these common principles and to shed the term "light-weight methods". Agile methods place emphasis on the development organisation working closely with the business using an empirical approach to develop software. DSDM is one of the agile methods. Others are Extreme Programming, Scrum, Crystal, Lean and some hybrids of these approaches.

So what does a coach do?

It best to bring in a coach at the start of a project so they can help you work out how you want to play your game and plan for this approach based on the level of skill within the team. You need to know that a coach is not an enforcer. Your coach will observe the team and make recommendations but they will need management support to effect change.

Your coach works with all members of the project team. Facilitating team meetings with the whole group and working on a one-to-one basis. When adopting a new development method roles and responsibilities may change. Business people may need support to help them specify requirements. Project managers will need to understand the risks with adopting a new approach and impact on reporting mechanisms. Developers will want to understand what new development practices, such as Test Driven Development, mean for the way they write code.

This is typically a period of intense learning and so I encourage teams to hold regular reflection workshops called retrospectives

How am I qualified to deliver coaching in agile methods? Four years ago Kent Beck gave me a great piece of advice - only talk about practices that you have tried yourself. I restrict my coaching to techniques that I have used myself on successful commercial projects. In the last year I have worked with many teams and it has been a very rewarding experience to see people become advocates of delivering software the agile way.

If you are looking for a coach, the key qualification is hands-on experience in the discipline that you want coaching in plus people skills. A good coach will be happy to give references to vouch for their expertise.

(http://www.retrospectives.com) to discuss lessons learned and think through ways that they can improve the way they work together.