Originating from incremental development techniques, first used back in 1957 by a group of engineers at IBM and Motorola, Agile philosophy has long become a generally accepted standard in software development. Initially considered to be the domain of startups and small companies, agile methodologies, however, are gaining wider use with enterprises.
The latest State of Agile report by VersionOne found that 56 percent of respondents worked at the organizations with more than 1,000 workers, 24 percent of them - at the companies with over 20,000 people. As compared to the results of the same survey conducted in 2006, when two-thirds of the respondents said they worked in software organizations with fewer than 100 people, the tendency of agile adoption among enterprise companies becomes clear.
The report points out the most common reasons so many organizations embrace agile approach:
- Accelerated product delivery (62 percent)
- Enhanced ability to manage the changing priorities (56 percent)
- Increased productivity (55 percent).
According to research by McKinsey & Company, the organizations deploying agile at scale accelerate their innovation by up to 80 percent. Yet there are still several blocks that prevent most companies from becoming completely agile. The agency finds that “...without making significant shifts in organizational structures, roles and responsibilities, and other underlying elements of the operating model, it can be quite difficult for companies to extend agile practices beyond pilot teams.”
Implementing enterprise agile strategy is a time-consuming process and requires significant effort from management as well as from the staff. Therefore, it makes sense to start with proper training and implement its practices within smaller teams first, extending them to the rest of the organization processes in a "step by step" manner.
There are several techniques and methods applied to extending agile principles to large-scale organizations instead of small teams. The most popular among them are: SAFe, LeSS, DaD, Scrum of Scrums.
Scaled Agile Framework (SAFe®, registered trademark of the Scaled Agile, Inc.), introduced by Dean Leffingwell, is defined as “a freely-revealed knowledge base of integrated patterns for enterprise-scale Lean-Agile development. It is scalable and modular, allowing an organization to apply it in a way that suits its need.”
With the main focus on managing large projects and teams in an agile manner, the framework relies on 9 basic Lean and Agile principles:
- Take an economic view
- Apply systems thinking
- Assume variability; preserve options
- Build incrementally with fast, integrated learning cycles
- Base milestones on objective evaluation of working systems
- Visualize and limit WIP, reduce batch sizes, and manage queue lengths
- Apply cadence, synchronize with cross-domain planning
- Unlock the intrinsic motivation of knowledge workers
- Decentralize decision-making
SAFe represents a holistic structure of enterprise architecture, allowing the executives to view all processes and involved teams as a single mechanism. It is well-documented and visually represented in a form of an interactive “Big Picture”:
Image credit: scaledagileframework.com
Large-Scale Scrum (LeSS) was developed by Craig Larman and Bas Vodde as an attempt to apply Agile methods to enterprise-level product development (especially telecom and finance industry). The framework employs the traditional elements of scrum: Sprints, Product Backlog, Definition of Done, Potentially Shippable Product Increment (delivered at the end of each Sprint), Product Owner.
What differentiates LeSS from the traditional scrum process is that the listed techniques are applied across several cross-functional teams, and therefore require additional coordination between them. For example, sprint planning is conducted in two steps: the first meeting requires participation of the Product Owner and the representatives from each team; the second one is held within each dedicated team independently. Ensuring constant coordination and information sharing, the teams or their rotating members hold a number of regular meetings (Open Space, Town Hall Meeting, or Scrum of Scrums). Overall Retrospective, conducted after each sprint is aimed at improving the overall system, rather than processes within just one Team.
Image Credit: less.works
Based on the number of the teams involved in the product development and the size of the organization itself, LeSS can be of two types:
- LeSS: Applied with up to 8 teams (consisting of 8 people each)
- LeSS Huge: Used in the organizations with up to a few thousand people
Disciplined Agile Delivery (DaD) is another strategy for scaling agile methodologies. As stated on its official website, “the Disciplined Agile Delivery (DAD) process decision framework is a people-first, learning-oriented hybrid agile approach to IT solution delivery. It has a risk-value delivery lifecycle, is goal-driven, is enterprise aware, and is scalable.”
Extending the traditional scrum approach with the elements of Extreme Programming (XP), Unified Process (UP), Kanban, and Lean Software Development, the technique provides a coherent, holistic approach to product delivery. According to the Introduction to Disciplined Agile Delivery (DAD) (by Scott W. Ambler and Mark Lines, 2012), “DAD extends the construction-focused lifecycle of Scrum to address the full, end-to-end delivery lifecycle from project initiation all the way to delivering the solution to its end users.”
The Disciplined Agile Manifesto extends the original Agile Manifesto, written in 2001, to sum up the main values of the framework:
Individuals and interactions over processes and tools
Consumable solutions over comprehensive documentation
Stakeholder collaboration over contract negotiation
Responding to change over following a plan
Being fairly simple, Scrum of Scrums is one of the most widely used techniques for scaling agile in the organizations where several scrum teams work together on a large project. Its main element is a multi-team stand-up: it is held regularly to keep the people from different teams informed about the significant issues within the project. This is a great way to foster collaboration between independent teams and efficiently solve problems as they may arise.
Implementing Enterprise Agile Methodologies In Your Business
With such a high amount of enterprise agile strategies, it might be difficult to choose only one. While hiring a specialized agency to set up proper training and lead your company’s agile transformation is a good choice, there is much you can do by yourself. Harvard Business Review suggests following these 6 practices when utilizing agile approach for the enterprise architecture:
- Learn How Agile Really Works
- Understand Where Agile Does or Does Not Work
- Start Small and Let the Word Spread
- Allow “Master” Teams to Customize Their Practices
- Practice Agile at the Top
- Destroy the Barriers to Agile Behaviors.
To learn more about Agile methodologies and how to successfully apply them to software engineering, download our whitepaper: Agile Project Management: Best Practices and Methodologies.