What is an enterprise agile framework?
Enterprise Agile Frameworks seek to answer the question of how to apply methodologies such as Scrum or ExtremeProgramming (XP) which were designed for small teams, to organizations that count hundreds of teams, teams-of-teams, or even teams-of-teams-of-teams?
This question is particularly valid because:
- Classic (or first-generation) Agile methodologies do not tackle this question (sometimes on purpose)
- Scaling Agile methodologies to larger organizations raises a host of questions specific to agile development with larger teams.
What are the challenges of scaling Agile?
Among the key concerns that enterprise-level Agile methodologies must handle are:
- Visibility: how do you keep track of the Work-in-Progress of hundreds of small teams, and the way their work combines into features, when the teams are largely autonomous and self-organised? How do you get a sense of schedule or cost?
- Coordination: how do you get teams of hundreds of people to communicate and coordinate their work in such a way as to deliver the features for which they are responsible, with an acceptable level of quality, and in a reliable manner?
- Alignment: how do you make sure that these autonomous and self-organised teams all work in the right direction to further your strategic goals?
- Learning: how do you “clone” the success of one team to other teams?
- Risk-management: how do you ensure that failure does not take down the whole organization?
What are the main enterprise agile frameworks?
Since the publication of the Agile manifesto in 2001, several Enterprise Agile Frameworks have emerged, among which:
- Scaled Agile Framework (SAFe)
- Large-Scale Scrum (LeSS)
- Disciplined Agile Delivery (DaD)
Criticism of enterprise agile frameworks
Not all experts agree on the necessity for a distinct framework for Agile applied to the enterprise.
Quite a number argue that “scaling Agile” is just a different way of applying Agile principles to development issues. For them, Enterprise Agile Frameworks show a fundamental lack of understanding of the Agile philosophy, and introduce unnecessary rigidities and complexity in product development processes.
Instead, they advocate returning to the fundamental principles of Agile, and recasting “scaling Agile” issues in terms of those principles, then working on each one in small increments, as you would incrementally improve the processes of a small Agile team.