“Which project is best suited to pilot Agile?” is a question I get regularly asked. This blog post discusses the following six criteria that help you select the right agile pilot project: small, important, independent, collocated, software only, and new product development.
While I’d like to encourage you to carefully consider the specific situation and the the organisational context you are in, I find the following six criteria helpful to select a suitable agile pilot project:
- Small: Your pilot project should be small and consist of no more than two to three teams. Large-scale agile development introduces additional challenges and requires further practices. If you must scale, start with one or two teams and slowly add more teams by splitting the existing teams and adding new members.
- Important: Make sure that your pilot is relevant to the organisation. Otherwise skeptics might dismiss it as a “pet project” and undermine the buy-in for the new approach. But avoid mission-critical projects – development efforts whose success severely impacts the organisation. Agile software development is a disruptive process innovation for most organisations. It requires the ability to experiment, to make mistakes, and to learn from them.
- Independent: Choose a project that has few dependencies on other teams. Having to coordinate with other projects or different groups adds a level of complexity and makes the disciplined application of agile practices difficult – particularly if the other projects follow a different process. If all you have to choose from is a large, complex project then look for a subproject with few dependencies to pilot your agile approach.
- Collocated: Start with a collocated agile project and avoid distributed development efforts, if possible, as these make effective collaboration more difficult and require additional practices and tools. Jointly writing user stories, pair programming, and having effective sprint review meetings become much more challenging, for instance.
- Software only: Limit your agile pilot to software development. This reduces the added complexity that arises when other disciplines such as hardware and mechanics are involved. Agile software development practices are also well understood. That’s true to a much lesser extent for hardware and mechanical engineering.
- New product development: Select a new product development project rather than updating an existing product if you want to try out Scrum. This allows you to explore how an idea is best transformed into a shippable product using agile practices. It frees you from worrying about a legacy code base that may be difficult to understand and lack the necessary tests. What’s more, Scrum is particularly well suited to cope with the flux, uncertainty, innovation, and risk that are characteristic of new product development.
Before you now select your pilot project or decide to delay experimenting with agile practices, consider the following advice:
- Know your goal: Understand why you want to try out a certain agile approach and what benefits you expect – even if it’s just to see what all the hype is about.
- Just do it: While it is helpful to look for the right pilot, nothing beats applying agile practices – even if you can only use selected techniques within your established process.
“What I hear, I forget.
What I see, I remember.
What I do, I understand.“
~ Confucius ~