Posted on by Agile Adoption in Governmentin
By Will Hayes
Software Solutions Division
The prevalence of Agile methods in the software industry today is obvious. All major defense contractors in the market can tell you about their approaches to implementing the values and principles found in the Agile Manifesto. Published frameworks and methodologies are rapidly maturing, and a wave of associated terminology is part of the modern lexicon. We are seeing consultants feuding on Internet forums as well, with each one claiming to have the "true" answer for what Agile is and how to make it work in your organization. The challenge now is to scale Agile to work in complex settings with larger teams, larger systems, longer timelines, diverse operating environments, and multiple engineering disciplines. I recently explored the issues surrounding scaling Agile within the Department of Defense (DoD) with Mary Ann Lapham, Suzanne Miller, Eileen Wrubel, and Peter Capell. This blog post, an excerpt of our recently published technical note Scaling Agile Methods for Department of Defense Programs, presents five perspectives on scaling Agile from leading thinkers in the field including Scott Ambler, Steve Messenger, Craig Larman, Jeff Sutherland, and Dean Leffingwell.
What is Scaling?
Many people understand Agile concepts through the illustrations offered by widely adopted methods such as Scrum. These team-focused development processes embody patterns of Agile behavior and offer concrete implementation examples. If you want to achieve success with Agile methods in large-scale development efforts, you might be tempted to view the challenge as simply a matter of tailoring Scrum to work with larger groups of people. What we are learning from the experiences of major DoD programs is that this view oversimplifies the real work to do.
Below I present attributes that we have found significant in successfully applying Agile methods in DoD programs. These attributes deserve attention as organizations architect the way their programs will implement Agile processes:
Five Perspectives on Scaling Agile
Publications and commercial training that help you apply Agile concepts in practice are plentiful. A rapidly growing community of practice exists, with mature products (including training, tools, and work aids) to support adoption of Agile principles using patterns and practices cataloged in reference books and well-curated web content. We interviewed five thought leaders in this space who discussed their frameworks and offered references and advice. The remainder of this post provides highlights of those interviews, which are presented in full in our technical note.
Disciplined Agile Delivery (DAD) with Scott Ambler. To describe DAD as a scaling framework may not tell the whole story--though the authors clearly intend DAD to support scaling. Ambler and Mark Lines, in the central book on this topic, position DAD as a foundation that extends and integrates other Agile methods to provide a more robust solution for implementing Agile. Their emphasis on being "enterprise aware" appears to focus more on doing Agile well, than on scaling practices, per se. The authors do offer an explicit discussion on scaling, listing specific tactical scaling factors to consider (on page 22 of their book), including
One of the main points of emphasis for DAD is that it explicitly addresses initiation of a product to its release, not just the "construction" phase (readers familiar with the Rational Unified Process may recognize this terminology) as the authors describe it. In addition, on the authors emphasize IT solutions, rather than embedded systems or software-reliant product development--though clearly, the information found in DAD can inform those contexts. Scott Ambler explained that the fundamental strategy was to provide a decision framework anchored to a set of process goals (or capabilities). It is presumed that the user is making process decisions by selecting among alternative practices or supplying their own, to meet those goals. The authors are emphatic about their intent to avoid prescribing particular methods and also make their case for avoiding particular practices.
Dynamic Systems Development Method (DSDM) with Steve Messenger. The DSDM Agile Project Framework (previously known as Atern) was established in 1994 (well before the Agile Manifesto was signed). DSDM emerged from Rapid Application Development (RAD) to create an independent RAD framework. Some of its proponents were signers of the Agile Manifesto. In fact, DSDM helped shape the Agile Manifesto.
DSDM can be used both for IT and non-IT projects because it addresses the whole product lifecycle. DSDM is organized as a model that can be used with other methods or a wrapper to ensure the whole lifecycle is addressed. It can integrate with other methods, such as Scrum and XP.
Because DSDM is an iterative approach, you can revisit any previous step in the DSDM process as needed, so the idea is to finish only enough in one step so you can move on to the next step. DSDM is also considered a convergent approach where basic foundations (architecture) are agreed upon at an early stage.
Incorporating Agile and Lean principles, DSDM implements the 80/20 rule--asserting that 80 percent of the solution is done in 20 percent of the time. This framework assumes that nothing is built perfectly the first time and proposes building simpler solutions that are fit for purpose. As the lifecycle evolves, maintenance can be treated as a future increment.
DSDM can be scaled by configuring and calibrating it for larger projects that need stronger governance. This scaling is achieved by configuring the lifecycle for a specific project and appropriate level of formality with which the DSDM products are defined, created, and approved. If necessary, specific techniques, such as workshops for planning at scale, can be designed to help make large-scale development a reality without conflicting with DSDM philosophy and controls or compromising innate Agility. Essentially, the organization will be refined to support multiple teams and products. The solution architecture definition, development approach definition, management approach definition, and delivery plan and time box review records can be more elaborate and formal.
Large Scale Scrum (LeSS) with Craig Larman. The LeSS Framework was developed to scale Scrum upward based on the insight that "Scrum hits the sweet spot between abstract principles and concrete practices". Thus, Larman and Bas Vodde reason, to scale Scrum upward, similar balance must be achieved: "For large groups, LeSS hits the sweet spot between defined concrete elements and empirical process control." During our interview, Larman emphasized the critical need to understand and evolve the organization.
Focusing on differences between the espoused goals of an organization and the goals implied by the behavior of the staff leads to a deeper understanding of how structure drives culture.
In scaling, Larman and Vodde advocate
Modular Framework for Scaling Scrum with Jeff Sutherland. The Modular Framework for Scaling Scrum, from Scrum Inc., provides a basis for iterative and incremental adaptation of successful Agile patterns within an enterprise. Rather than focusing on a particular solution--expressed as a comprehensive pattern to be instantiated--this framework aids in the decomposition of work needed to successfully use Scrum at scale. As Sutherland explains, the context in which a company operates drives the focus on areas that need to change.
Pre-recorded webinars available on the company website, as well as numerous online conference presentations, provide a great deal of free information for further study of this framework.
Our interview with Sutherland covered a lot of ground including his most recent experiences working with large organizations. First and foremost, Sutherland wanted us to understand that scaling Agile is not about an implementation, but rather the values in the Agile Manifesto. The emphasis on speed and identifying impediments that slow teams down dominated the conversation. Sutherland told us that a single common backlog, which can then be partitioned into the work done by contributing teams, is an essential element of success. To achieve this, the leadership in the organization must be able to provide clear priorities. In the successful companies, Sutherland also told us that shorter iteration length is associated with a greater completion rate. An iteration length of one week is what he is striving for, with the goal being a continuous flow of working software--integrating multiple times per iteration.
Cautioning us about the detrimental effect of evolving team membership, Sutherland advises that forming stable teams (of no more than nine individuals) is important--to a greater degree than is the focus on generalists. His experience suggests that working to reduce specialization of individual talents should come after you gain experience with maintaining stable teams delivering working code in short iterations.
Another pattern of concern is the detrimental effect of deferring work into later sprints. Sutherland indicated that when tests slip into the next sprint, it can take as much as 24 times longer to deliver working code.
Scaled Agile Framework (SAFe) with Dean Leffingwell. The Scaled Agile Framework (SAFe) is widely viewed through the web interface that presents an overview image, with clickable links to articles that describe the selected topic.
A collection of Agile teams (each consisting of five to nine people) make up what is called an "Agile release train (ART)," which comprises 50-to-125 people. ARTs build solutions that realize the intent of what are termed portfolio "value streams." ARTs apply a nested incremental development cadence of two-week iterations, aggregating value and time into 8-to-12 week "program increments." Lean and Agile principles are referenced throughout the material available on the website and in the training curriculum. SAFe espouses four core values:
These values drive choices in how to implement concepts in your particular setting. Along with the concepts accompanying the so-called "House of Lean and Agile Manifesto," SAFe also offers nine principles that underlie the design of SAFe:
Leffingwell explained that SAFe is designed to scale Lean and Agile concepts from the team level to the program level to the portfolio level with a "sweet spot" initially in the 300-500 person range (per SAFe portfolio)--and can grow to include more than 1,000 people who need to collaborate. Organizations of this size will likely build larger systems and have existing architectures and legacy environments that help to define the systems they build/maintain. Roles and responsibilities that accommodate such things are described in SAFe.
In addition, SAFe 4.0 features an entirely new value stream level, intended to support those building the largest software and cyber-physical systems. Leffingwell emphasized how the so-called "requirements and design-freeze milestones" seen in many major development efforts force a too-early stake in the ground and a commitment to a specific implementation before the team knows enough about the system they are building.
While a number of published frameworks are available, each has strengths and weaknesses. The challenge faced by many in the Agile community today is how to scale Agile to work in complex settings, with larger teams, larger systems, longer timelines, diverse operating environments, and multiple engineering disciplines.
We welcome your feedback in the comments section below.
Read the SEI technical note from which this post is excerpted, Scaling Agile Methods for Department of Defense Programs that I coauthored with Mary Ann Lapham, Eileen Wrubel, Suzanne Miller and Peter Capell.