Accept Software Resource Library
Scaling Agile - Flexible Approach and Methodologies
This is the third and final post in this Scaling Agile series. I've written about the triangle of traps, the challenges of developing complex systems, and smart requirements and intelligent backlogs. In a recent conversation with John Haniotis, VP of Products at Accept, we discussed how to ensure successful adoption of agile methodologies in a large company. John’s experience with enterprise wide adoption of agile (at Intuit) points to two areas to pay attention to: mitigating risk of organizational change and managing the transition.
Mitigating Risk of Organizational Change
Agile development methodologies impact the whole organization, not just developers; therefore you need to pay attention to the change impact. John’s advice here centers on four points:
- Clear Goals – Explicitly state the objectives, so people are not confused and pay attention to what matters. Decide if you want to have shorter, and smaller releases or if you want to improve the quality of the software you develop. And know how you are going to determine (measure) success.
- Sponsorship – For something like agile development executive sponsorship is critical, so people know it’s not an optional item. But equally important is bottom-up sponsorship by the trusted and respected developers that people look up to – this gives it credibility.
- Communication – Everybody in the organization will be affected. Things are going to be different. Shorter releases, more deployments, less upfront study and more just in time analysis... Engage all teams early on and explain how things will be different, how they will be affected, and what their role will be. This will help prevent them from becoming roadblocks because of fear, uncertainty, and doubt.
- Training – Just training the team leaders (Scrum Masters) is not enough. The whole team needs to be trained and the best way to do it is to go through a weeklong sprint, so it’s learned by practice and working through the questions and new processes in a real life context.
Managing the Transition
But paying attention to the points above is not quite enough to ensure success. You also need to manage how you roll agile out – where you start and how you phase the adoption.
- Pick the right pilot team and empower it – It’s good to start with a pilot project and expand leveraging its success. For this pick a solid and mature team that already has the confidence to be able to overcome challenges. Provide good guidance and best practices, but let them decide on their own how much agile they can digest at first. This will build trust and reduce fear in the other teams.
- Tailor the methodology to the organization – It’s best not to be too orthodox about agile methodologies. Tailor your approach to what the organization is ready to digest. Maybe you start with a hybrid approach and evolve from there. Maybe in the first phase you do sprints and testing is still done by a separate group. And later testing is integrated in each team. There is no magic formula – you need to be sensitive to where the biggest resistance is and work around it instead of fighting it. Do things in a phased approach.
- Track the right metrics – If with agile you are changing your goals, it’s important to adjust the metrics you track to reflect the new goals. This impacts MBO’s, compensation, and incentives. Are you looking for productivity, quality, user satisfaction? And don’t forget to empower the teams to also come up with their metrics – you may be pleasantly surprised!
The conclusion is that agile methodology adoption is a journey. It’s both top-down and bottom-up. It impacts the whole organization. And it requires a shift from command and control to a more iterative and collaborative approach.
How has your agile journey been so far?