A system must be managed. It will not manage itself. Left to themselves, components become selfish, competitive, independent profit centers, and thus destroy the system. The secret is cooperation between components toward the aim of the organization.
-- W. Edwards Deming
It's rare these days to find an organization that hasn't adopted some form of Agile software development for its methods and techniques. However, to successfully scale Agile in an organization requires a balance between securing alignment from other functional areas and coordinating cross-team activities.
Adopting an Agile culture across an organization requires a top-down approach that traverses the following three levels of organizational abstractions:
One of the common methods used to scale Agile in organizations is the Scaled Agile Framework (SAFe), as described on the Scaled Agile Framework website: http://www.scaledagileframework.com/
Recommendations for scaling Agile
- Implement a common sprint length and method of estimating across the organization.
- Align to a common mission through a single backlog.
- Create high-value delivery through features and benefits.
- Verify code reviews and other quality processes.
- Develop an Agile architecture so that the system can scale.
- Document your process for scaling.
- Celebrate the successes and the business value delivery together.
Communication among Agile teams
- Have ScrumMasters from each team meet daily to share the progress of their teams.
- Check for dependent tasks and upcoming issues.
- Analyze risk and set common priorities.
- Communicate feedback to the Scrum teams.
- Don’t manage; facilitate change and progress.
Communication among non-Agile teams
- Talk to other teams prior to starting the sprint, and get their buy-in.
- Include other teams in your daily calls.
- Set common priorities so that other teams don’t fall back into Waterfall.
Recommendations on how to reduce the risk of failure to adapt
Agile implementation is prone to failure, and teams to tend to fall back to their original Waterfall model. Scrum is an Agile framework for creating and controlling processes. Generally, Scrum fails when it is misapplied.
References and recommended readings
- Avoid excessive planning.
- Follow Scrum rules.
- Complete work within the timeboxed iterations.
- Secure management consent and support for Agile.
- Enjoy the journey, and have fun in delivering the business values.
- Small failures are not bad; learn and move on.