1. Introduction
I have just finished writing a
new book about the lean approach to digital transformation, where lean
and agile software development methods receive a fair amount of attention. This
has led me to read about SAFe and revisit my opinions about the best ways to
perform Agile at scale. SAFe (Scaled Agile Framework) has become the de facto standards for agile at scale, but there exists a
large amount of controversy and debates about SAFe. On the one hand, SAFe
addresses a real complex question, which is how to scale the Agile Manifesto’s
principles, with software development programs of more than 100 or 1000 team
members. SAFe has been around for more than ten years, with constant enrichment
and improvement. Most large
companies that are not software product companies are using either
SAFe or something similar for their Agile practices. On the other hand, there
has been a lot of warnings and quite
negative opinions, such as the famous quote
from Martin Fowler who sees SAFe as a poor and
dysfunctional version of Agile for companies who do not have
an agile mindset.
I do not have much first-hand
experience with SAFe (and keep in mind that SAFe is fast evolving so early
opinions need to get revised), but I have been trying to address agile at scale
for close to two decades. Like most in the “large-companies agile community”, I
have looked at Spotify for sources of inspiration. Over the years, I have experimented with
“scrums of scrums”, “multi-squad planning meetings”, “chapters and guilds”,
“backmaps” (hybrid between roadmaps and backlogs) and many tools or rites that
could be easily replaced today with those from SAFe. When I read comments from Agilists that there
is no reason to scale, I find myself clearly in the “SAFe camp”: large
companies do manage large programs, large information systems or large
products, with many external stakeholders, that make all the questions found in
the SAFe introductory books very relevant. At the same time, I have evolved my
vision of agile
development with lean roots over many years of practice
and observations, but I have a hard time qualifying the overall SAFe philosophy
of software development as “Lean Agile”.
SAFe is a development
framework which, in my opinion and those expressed in “SAFe
: A Collection of Comments from Leading Experts”, fights the VUCA
nature of the world and proposes a very structured, detailed and rigorous
method to deliver value through software development. The need to constantly
learn from the (user) environment and to adapt is here, but it is nicely “boxed
into steps”. There are iterations everywhere, but they fit squarely into a big sequential
and hierarchical design. SAFe claims inspiration from almost all recent product
development frameworks, from Lean Startup and Lean UX Design to DevOps,
including all kinds of Agile and Lean software practices. These are all great
sources of inspiration, but the result may be overloaded, with a loss of sight
about what really matters for a “Lean Agile” approach: customer satisfaction
and continuous learning. From a “Scaled Lean & Agile” perspective, SAFe
gives you the bones, but not the flesh for your software development culture.
If you read SAFe books with a digital product perspective, the intricacy of
learning from
observing and listening to your users seems lost, the
critical role of user
experience design is not tangible. If you read them with a Lean
software perspective, you find surprisingly few
mentions of software realities and issues. Somehow, my opinion in this debate about
SAFe is closer to Ron Jeffries post “SAFe-
Good But Not Good Enough”.
This post is organized as
follows. The main topic is the review of “SAFe
4.5 Distilled: Applying the Scaled Agile Framework for Lean Enterprises”.
Because SAFe is a very rich and complex framework, this section only provides
an overview. SAFe is a framework designed to address scale and flow when
developing in an “agile mode” for large products, projects and program. It
proposes a multi-scale decomposition with the relevant vocabulary, tools and
rites, such as the famous “PI (Product Increment) planning”. I will address the
depth of the lean roots in SAFe, as well as the influence of Lean UX Design or
Lean Startup. The third section talks about two other approaches for scaling
Agile : LeSS and Disciplined
Agile. I will also use two short book reviews to support these simpler
analyses of alternate scaling methods. Interestingly both approaches also
portray themselves as “Lean Agile” methods. LeSS is mostly about scaling Scrum
and is rich with insights and practical considerations about customer
satisfaction. LeSS is the most visibly “product oriented” approaches of the
three. Disciplined Agile is strongly focused on the integration of Agile,
DevOps and scaling with … discipline, which makes it a close cousin of SAFe. I will
conclude this post with a short comparison with my own approach of “Lean
Software Factories”, which is more focused on
what “Lean Agile” means for the software development squads (i.e., without
scaling).
2. A Short Glance at SAFe
As told in the introduction, SAFE (Scaled Agile Framework) is a rich
and complex framework that has evolved through the years. I have decided to use
the book from Richard Knaster and Dean Leffingwell, “SAFe
4.5 Distilled : Scaled Agile Framework for Lean Enterprises” because it proposes
a comprehensive presentation of the framework, because it is one of the most popular
book about SAFe and also because it addresses the relation with lean in
its title. The latest edition, SAFE 5.0,
was released this year, while SAFE 4.5 was released in June 2017, however this does
not matter much since I will only brush the surface of SAFe principles and ambitions.
SAFe was developed “by and for” practitioners, with the intent to “scale lean
and agile software development practices”. As the title of the section says, this blog post
cannot deliver a summary of SAFe : not only is the book long, but it is very
often shallow and points out to further readings, because SAFe is a syncretic
collection of practices. I will only give you a personal summary of the key
tools and principles, together with my own understanding, trying to address the
questions stated in the introduction. Obviously, I want to be very clear here,
this summary is biased with my own opinion, which is that SAFe is a useful
framework for scaling, and a poor software development methodology (so you
should bring your own). As you will notice, the first three sub-sections are
very positive about SAFe and the next three are definitely more critical,
although what you plan to do with SAFe really matters here : there are many
kinds of programs and products for which my own interrogations are less
relevant.
2.1 Scale & Flow
SAFe is foremost a framework designed to address
scale issues and to maintain flow while the scale grows : “The secret to
successfully implementing SAFe is to establish a continuous flow of incremental
value delivery based on continuous fast feedback and adjustment. Continuous
flow enables quicker value delivery, effective built-in quality practices,
constant improvement, and evidence-based governance”. As a lean practitioner,
I applaud the recognition of the importance of flow and I fully subscribe to
the introductory principles : “ The principles of flow are an important part
of the Lean-Agile mindset: Understanding the full value stream Visualizing and
limiting Work in Process (WIP), Reducing batch sizes, Managing queue lengths ”.
It should also be stated that SAFe is NOT a strict set of processes, rules and methods.
It claims the lean definition of a standard that the team, the organization,
the company (remember the “at scale” approach) must appropriate and revisit and
customize if necessary : “Agile processes in frameworks like Scrum, Kanban,
and SAFe do matter. However, a process is only a means to an end. When you’re
captive to a process that isn’t working, then you may know what you’re doing,
but ‘what you are doing’ may not be working. So, favor individuals and
interactions, then modify processes accordingly”.
Scaling Agile starts, quite logically, by
reviewing the Agile Manifesto principles
and wondering if these principles scale, that is, keep being practical when the
software organization grows. The position of the authors is largely positive: “The
conclusion from this exercise is that the Agile Manifesto does indeed scale.
However, many principles require increased emphasis at scale, while others
require a more expanded perspective”. The principles that are identified as
being the most “scale sensitive” are: (2) Welcome changing requirements,
even late in development. Agile processes harness change for the
customer's competitive advantage, (6) The most efficient and effective
method of conveying information to and within a development team is
face-to-face conversation and (11) The best architectures, requirements,
and designs emerge from self-organizing teams. Welcoming changing requirements does indeed
require more discipline and method when it applies to a large software organization.
The practice of Change
Review/Advisory/Control Board has been around for a long time, for good
reasons. Building large systems that support the agile philosophy of welcoming
changes requires modular architectures (to simplify the infamous feature interaction
problem) and disciplined practices, which is what SAFe addresses.
Similarly, face-to-face interaction is a key agile practice, that requires
method to scale. Frameworks such as SAFe are born from practitioners who have
experimented with methods and tool to conduct large-scale synchronization
meetings, such as the PI planning events. It is also clear that the need for
constant feedback does not fit easily with scaling: “Most are certainly
willing to comply with the spirit of this concept. However, there are
limitations on the economic practicality and convenience of daily onsite
feedback from customers of large programs, though we fully agree with the
sentiment”. I would actually disagree with the authors, although it more
complex to organize, user feedback is required to breed lean & agile development.
The last question identified here, the scaling of continuous architecture, is
indeed hard to solve. SAFe at the same times advocates for continuous, emergent
architecture that co-evolves with the development process, but uses a multi-scale
hierarchical decomposition that may seem both too rigid and traditional for a
VUCA world.
2.2 Multi-scale approach
A foundation for SAFE is the multi-scale approach, with three separate levels:
the teams, the
agile release trains (ART) and the large
solutions. This is a classical hierarchical decomposition (multiple agile teams
organize into a train, multiples trains organize into a solution), with a strong emphasis on decentralized decision making
: “As Kennedy notes, and as decentralized decision-making (Principle #9)
implies, centralized planning for significant solution initiatives is
problematic. Simply put, the complexity is too great, and the facts change too
quickly for a centralized planning function to be effective. In its place, SAFe
provides for routine, cross-domain, face-to-face planning”. There are multiple
claims that SAFe is influenced by “system thinking” throughout the book. As
told in the introduction, I strongly recognize scaling as an issue that most companies
must face, as is described in Robert Sutton and Ruggy Rao’s book : “Scaling
up Excellence”.
Because the first level of the multi-scale decomposition is meant to
reproduce the “Lean Agile squad” without the scaling issues, the contribution of
SAFe is foremost the second level : “ The Agile Release Train (ART) is a
long-lived team of Agile teams, which, along with other stakeholders, develops
and delivers solutions incrementally, using a series of fixed-length iterations
within a Program Increment (PI) timebox … Each ART is typically a
virtual organization (50–125 people) that plans, commits, and executes together”.
The size of this second level is no surprise : there is a clear consensus about
two sizes that matter with human organization:
the team size (the famous two-pizza rule) and the tribe size, which is
linked to the army (starting with the Roman army) and the Dunbar number. The
right size for the second-level organization should stay below Dunbar’s number
(150) so that everyone really knows each other at this second level (from an
emotional connection perspective). We shall see the same scaling pattern in the
next section.
The third level, of large solutions, is another
level of difficulty (precisely because members cannot know each other anymore)
: “Building large-scale and complex systems is one of the most difficult and
challenging endeavors today”. The heterogeneity of the workforce roles, as
well as the (almost all the time at this scale) combination of enterprises and
suppliers make for a different type of challenge : “Building these solutions
may require hundreds, thousands, or even tens of thousands of mechanical,
electrical, and software engineers, not to mention physicists, scientists,
medical professionals, and other experts, along with the integral contributions
of an extensive network of external suppliers”. Large solutions are made of multiple ART,
which contributes to multiple value streams. SAFe organizes large solutions
with solution epics: “
Solution epics are initiatives large enough in scope and cost to warrant
analysis and a Lean business case. Unlike capabilities, which can be split to
fit inside a single PI, solution epics usually take several PIs to develop”.
I will not address much this level of organization in this post, because of my
lack of personal experience building software products with a thousand or more
participants (this is not the same as running a thousand-plus organization delivering
many hundreds-sized products or projects, which is what I am currently doing).
2.3 PI Planning
The heart of SAFe is how to apply the agile
principles, including small steps, face-to-face communication and feedback to level-two
organizations (ART). As told by Robert Sutton in Scaling Excellence, this
requires synchronization. The most important SAFE Rite is the PI (Program Increment)
planning : “This event is essential to SAFe: If you aren’t doing PI
planning, then you aren’t doing SAFe”. The PI planning is a synchronization
event for the different teams from the same train, so that they can work out
their dependencies and synchronize their deliveries. This is the cornerstone of
“agile at scale”: “the development of large-scale systems is fundamentally a
social activity”.
The scaling from teams to train requires cadence
(a common clock) and synchronization (leveraging to common clock to communicate
and re-align ambitions). This is a key SAFe principle : “ Apply Cadence;
Synchronize with Cross-Domain Planning”, following the advice from Donald
Reinertsen : “Cadence and synchronization limit the accumulation of
variance”. PI planning are critical
rites, which require careful
organization (because of the large attendance) but delivers lots of value
(as anyone who has experienced a successful PI planning event can testify): “Whenever
possible, attendees include all members of the ART. After all, the people on
the teams do the work, so only they can design the system, plan, and then
commit to that plan”. One of the famous SAFE tools for PI planning is the program
board : “ Typically, the RTE creates a program board in advance of
planning and teams update it during planning. The board highlights the feature
delivery dates, milestones, and dependencies among teams and with other ARTs”.
The only word that should get our attention in a
VUCA world is “planning”. On the one hand, coordination at the ART level (level
2) requires planning and synchronization. Teams must say what they will do and,
mostly, do what they said to their “train team-mates”. With the proper agile
tools and concepts, the time horizon of a Program Increment (e.g, eight sprints)
is short enough that planning works from a capacity view: “ Trains are
predictable and can reliably estimate how much cargo (new features) can be
delivered in a PI”. On the other hand, this does not tell the story of
value creation, nor does it capture the possible complexities that may arise
from developing a user story. To simplify (a complex issue), scaling does require
planning of capacities and efforts, but the root of Agile which is to adapt
constantly the delivery to the feedback of the environment still prevails (planning
is not a tool to fight against volatility and uncertainty). For instance, the following
quote: “The primary evaluation tool of the ART is a predictability measure
that tracks the percentage of business value achieved for each PI objective in
the plan” is a departure from agile principles.
2.4 Focus on Value and Lean Startup
The previous point is where most agilists start
to disagree, as told in the introduction : the reliance on value creation as a
control metric is a departure from the agile mindset and a return to last-century
thirst for control (what Frederic Laloux calls “our beautiful illusion of
control”). This contradiction is expressed with what the authors call “the
economic view”: “Therefore, SAFe’s first Lean-Agile principle is to take
an economic view, which is founded on two basic concepts: Deliver incrementally,
early, and often. Sequence jobs for maximum benefit”. The idea that the future
benefits are known well enough, with a reliable estimate, so that they can
guide prioritization and decisions is too narrow for most VUCA situations. The
authors quote Reinertsen about scheduling for maximum benefits: “Reinertsen
describes an algorithm for job sequencing called Weighted Shortest Job First
(WSJF). WSJF is calculated by dividing the Cost of Delay (CoD) for a job (i.e.,
the value not achieved while waiting) by the duration of the job”. This works for lean manufacturing but is much
harder to apply to lean software, because the cost of delay is most often unknown.
For instance, this approach does not work for digital products and services,
where value creation emerges continuously from usage. The discovery of value through
usage and iteration is the heart of the Lean Startup approach, which makes the
constant references to Lean
Startup in SAFE confusing.
The authors make multiple reference to innovation
accounting in their book : “Apply innovation accounting to establish early,
nonfinancial, actionable metrics that provide fast feedback on the important
elements of the solution’s new concepts, features, and its associated business
model”. They quote Eric Ries on this topic : “Innovation accounting
refers to the rigorous process of defining, empirically measuring, and
communicating the true progress of innovation—such as customer retention and
usage patterns—whether for start-up companies, for new productions, or business
units within established companies.” In my opinion, and according to my previous
experience of applying innovation accounting to digital products, the
reference to innovation accounting is misleading : innovation accounting is
a tool for managing the macro-iterations (at the PI levels) not for sequencing
the backlogs “according to the economic view”.
An idea that is central to the book is that development
(at all scale) should focus on value. No one could dispute this but understanding
and considering the fact that value is hard to characterize and even harder to
predict is what makes agility so relevant (versus waterfall approaches). Saying
that all resource allocation decisions, at all scales starting from the portfolio
down to the backlog prioritization, should be made from the value creation
hypotheses, is definitely misleading. In a VUCA world, all value creation assumptions
made before the product or the service is delivered … are just hypothesis (which
is precisely the point of the Lean Startup approach).
2.5 Lean & Agile
SAFe claims to be a framework to scale Lean Agile,
so it is fair to ask how much of the “Lean
Agile mindset” is here. Deciding if SAFe is truly
a lean approach is difficult. On the one hand, there is a strong lean “system
thinking” influence, and many references throughout the book, such as “The
foundation of Lean is leadership, the starting point of team success. The
enterprise’s managers, leaders, and executives are responsible for the adoption
and success of the Lean-Agile paradigm”. As said earlier, there are many lean
principles stated in the book, such as “Operating a product development
process near full utilization is an economic disaster” or “Faster
Learning Through Faster Cycles”. On the other hand, for someone like myself
who defines “Lean
Software” from the reading of Mary and Tom Poppendieck’s books, there is
surprisingly little software (software issues, software practices, software
principles) mentioned in the book. SAFe offers a vision of lean which is very much
system-based and lacks the relationship with the gemba (the code and the
people). One could say that the « software » dimension of lean is
what is done at the team level (hence visual management, kaizen or 5S are not
covered here) … but I think that learning and system thinking practices need to
scale.
The same comment applies to the agile roots of
SAFe. As shown earlier, the principles of the Agile Manifesto are quoted
multiples time in the book, with a deep appreciation : “The first phrase of
the manifesto deserves emphasis: “We are uncovering better ways of developing
software by doing it and helping others do it.” . Many practical pieces of advice,
such as “favor working software. And document only what’s necessary”,
tell of the SAFe’s agile heritage. At the same time, I see two potential problems
(depending on your activities and what kind of software products you are building).
First, there is a pregnant scale-hierarchy built into the roles: those who
manage the bigger-size items are (or sound) more important than those doing unit
elements. This is very visible with the over-emphasis about architecture and
the small recognition given to technical excellence and software craftmanship
(the influence of hierarchical system engineering is obvious). I would strongly
recommend the reading of “Lean
Architecture” from James O. Coplien & Gertrud Bjørnvig as way to balance
the SAFe vision: “The SAFe concept of the architectural runway provides the
means by which Agile architecture is implemented”. Second, there is the “control
illusion” described in the previous section: the emphasis on planning, forecast,
value creation … that can quickly become a burden when one wants to lead a true
agile transformation, such as a digital transformation. To illustrate with a precise
example, the book advocates for parallel design (set-based versus point-based)
where experience shows that this really depends on the complexity of the environment
(innovation accounting does not mix well with feature interaction).
2.6 One Framework to Rule them All ?
What is striking, when one reads this book or look at the framework schemas, is that SAFe
claims inspiration from most product/project methodologies, such as Agile,
Lean, DevOps, LeanUX, Lean Startup … as well as many management tools, from
Daniel Pink’s motivation foundations or Kotter change management framework to
servant leadership. Some of the complexity of SAFe comes from trying to
reconcile a very structured, step-by-step, managed and controlled linear vision
with the recognized need for iteration and adaptation : “ Even though Figure
9-2 seems to indicate a linear process, in reality, the pipeline doesn’t
operate that way. Rather, it’s an overlapping learning cycle that occurs within
every PI, which allows teams to establish a number of hypotheses, build and
deliver against them, measure results, and learn from that work”. As a proponent
of DevOps for many years, I welcome statements
such as “DevOps is the cornerstone of continuous delivery and enables the
enterprise to economically develop and release small batches of functionality
to the business or end user, providing faster feedback and time-to-market”,
but the book does not tell much about scaling DevOps. The book to read on this
topic remains “Accelerate
– Building and Scaling High Performing Technology Organizations” by Nicole
Forsgreen, Jezz Humble and Gene Kim.
It leads naturally to the opinion, expressed by some of the experts that I
mentioned in the introduction, that “SAFE is too big, with too much content”.
The attempt to squeeze approaches such as design thinking, lean UX or Lean
Startup is not convincing. This yields an explorative, divergent, iterative
step called “continuous exploration”, that fits into the large ART schedule : “Continuous
exploration is the process of continually exploring market and user needs, and
defining a vision, a roadmap, and a set of features that propose to address
them.” Trying to fit everything on the same schedule does not convince me: I
see the benefit of cadence and synchronization for software delivery, not for
value delivery. I have written many time about the need for multiple
time horizons and nested
loops (as opposed to micro iterations within a linear process). Similarly,
the books talks a lot about “building quality in”, which is fitting to the lean
approach: “ Built-in quality is one of the four core values of SAFe. The
enterprise’s ability to deliver new functionality with the fastest sustainable
lead time, and to react to rapidly changing business environments, depends on
solution quality”. However, the book contribution on how to improve
software quality is shallow at best. Similarly, the reference to lean
UX, “In short, the Lean UX cycle provides the knowledge that Agile teams
need to adjust and redesign—or even pivot to abandon a feature—based solely on
objective data and user feedback, enabling them to iterate toward a successful
outcome”, does not bring much and one wonders why lean UX is invoked here. It
actually highlights the fact that customer-centricity, a key principle both for
lean and agile way of working is poorly represented here. Customer satisfaction
does not receive much attention here, it is over-shadowed by value creation.
3. LeSS and Disciplined Agile
3.1 LeSS : Scaling Scrum to develop software products
I will now complement the analysis
of SAFe with two other competing frameworks. The first one is LeSS (Large Scaled Scrum), a
multi-team scrum framework designed to scale Scrum with
teams of hundreds or even thousands contributors working on the same software
product. The name
also tells the intention to scale with less rules, less guidelines, less methodology
than SAFe. To deliver my short introduction to LeSS, I will propose a short
book review of “Large-Scale
Scrum: More with LeSS” by Craig Larman and Bas Vode. Since this post is already
quite long, I will simply focus on five key areas and attempt to compare
LeSS with SAFe. “Large-Scale
Scrum: More with Less” is a beautiful book, well-written and full of insights
about scaling Agile, so I urge you to get your copy and give it your full
attention.
Less is Large-Scale Scrum. Since Scrum is the de facto standard practice for Agile in most companies,
it makes adapting LeSS a much easier proposition: “Large-Scale Scrum is Scrum—It
isn’t new and improved Scrum. Rather, LeSS is about figuring out how to apply
the principles, rules, elements, and purpose of Scrum in a large-scale context,
as simply as possible”. The framework aims at keeping what makes
Scrum easy to understand and to adopt. The emphasis is on transparency (using
things that everyone can see as beacons), short cycles, working together and
common definitions. There is a strong will to keep the framework simple and to
avoid adding many roles to take scale into account: “We don’t want more
roles because more roles leads to less responsibility to Teams. We don’t want
more artifacts because more artifacts leads to a greater distance between Teams
and customers. We don’t want more process because that leads to less learning
and team ownership of process. Instead we want more responsible Teams by having
less (fewer) roles, we want more customer-focused Teams building useful
products by having less artifacts, we want more Team ownership of process and
more meaningful work by having less defined processes”. LeSS is a Lean
Agile methodology as is expressed, for instance, with two funding principles: “System
thinking” and “empirical process control”. These principles, or should I say these
words, are part of the SAFe book as well, but they have a different flavor
here. System thinking is more concrete and applied to the product: “See,
understand, and optimize the whole system (not parts), and use systems modeling
to explore system dynamics. Avoid the local sub-optimizations of focusing on
the efficiency or productivity of individuals and individual teams. Customers
care about the overall concept-to-cash cycle time and flow, not individual
steps, and locally optimizing a part almost always sub-optimizes the whole”.
Empirical process control captures the heart of agility, which is, in my
opinion, to constantly adapt to the customer environment: “Continually
inspect and adapt the product, processes, behaviors, organizational design, and
practices to evolve in situationally-appropriate ways. Do that, rather than
follow a prescribed set of so-called best practices that ignore context, create
ritualistic following, impede learning and change, and squash people’s sense of
engagement and ownership”. Although this is out for scope for this blog
post on scaled agile, it is worth telling that “Large-Scale
Scrum” is a great book about Scrum, scrum masters, scrum communities and
scrum tools.
LeSS proposes a
scaling methodology with three levels. The first level is
clearly, as was the case with SAFe, the SCRUM agile team. There are two
additional levels (LeSS and LeSS Huge): groups of up to 8 teams, and assembling
a large number of such groups : “ Large-Scale Scrum has two frameworks: LeSS for
2–8 Teams, and LeSS Huge for 8+ Teams”. The two levels, with a
similar cut-over, should not be a surprise since we explained earlier that the
difference between managing less than 100-150 people and more seems to be
deeply rooted into our sociology and anthropology. The heart of scaling comes
from the product structure: one product (one product owner team) and many product
development teams (up to 8 teams). This works for LeSS and changes at the “LeSS
Huge” scale where the product is divided into requirement areas (“Customer
requirements that are strongly related from a customer perspective are grouped
in Requirement Areas”) that are managed with a LeSS structure : “Each
Requirement Area works as a (smaller framework) LeSS implementation, each
working in parallel in one overall Sprint. We sometimes summarize a Sprint in
LeSS Huge as a stack of LeSS”. Each requirement area follows the “four to
eight teams” rule : “why does a Requirement Area have a suggested upper
limit of eight teams? See The Magic Number Eight. What about the lower limit of
four teams? Why not one or two teams? Naturally, four isn’t a magic number, but
it strikes a balance so that the product group is not composed of many tiny
Requirement Areas”. To manage the set of teams in the product structure, at
all scales, LeSS uses a Sprint
Planning which is not very different from the SAFe approach in its form, even
though some of the intents are different because of the product focus. The
planning belongs to the teams : “Especially
at scale with myriad different contexts and the need to improve, how Sprint
Planning meetings are done in LeSS must be left up to the teams”. Sprint
planning work very well when everyone can gather in the same space, but it can
also be adapted to remote teams : “Multi-site—Use video, and offer items,
using a virtual shared space. If questions, the simplest solution is to just
talk together. If there are many teams and lots of items to discuss, try a
diverging technique such as a chat tool with one window per item”.
LeSS is a product development framework.
The move from project to product is a key
transformation of software development methodology; it is a key foundation for Lean
Software as defined by Mary Poppendieck. The authors tells how Scrum has
also embraced this paradigm shift in the past years : “Luckily,
this confusion is resolved. The Scrum Guide now states, “Scrum is a framework
for developing and sustaining complex products” and eliminated projects. Does that
matter? Hugely!”. The focus on product is everywhere
in the book, as the product is a key part of what defines the team : “Whole-product
focus—One Product Backlog, one Product Owner, one shippable product, one
Sprint—regardless if 3 or 33 teams. … Your product definition determines the
scope of your adoption, the content of the Product Backlog, and who makes a
suitable Product Owner. Broader product definitions are advantageous, but your
definition has to be practical enough to start”. The focus on product leads to long-term engagement,
long-lived teams and patience. LeSS promotes technical expertise over
project management skills: “LeSS requires technical excellence. Technology,
team, and organizational decisions are strongly related and your coach needs to
have this broad and deep perspective. Avoid people with no or limited technical
expertise. These are often ex-PMI-project managers”. This is quite different
from a project culture of assembling the right people for a short time and
letting them go, it bears repeating and is illustrated by the LeSS requirement for
the initial teams : “dedicated—each person is a member of one and only one
team stable—the members of the team aren’t changed frequently long-lived—the
team isn’t a temporary project team but stays together for years”. As told
in the previous paragraph, the product organization scales with feature teams
(and Requirement Area at the “huge” level). One product owner (either a person
or a small team depending on the size) work with a set of feature teams, as
peers (there is no hierarchy between the product team and the features teams). All
feature teams operate in a continuous integration mode: “The continuous
integration of all code across all teams creates the opportunity to cooperate
by checking who else made changes in the component being worked on”.
LeSS is a customer-centric framework. The importance of customer-centricity – a key component of Agile – is much
more visible in this book than the SAFe one. Many pieces of advice are given to
enable customer-centricity and achieve better prioritization: “ Focus on
learning the customers real problems and solving those. Identify value and
waste in the eyes of the paying customers. Reduce wait time from their
perspective. Increase and strengthen feedback loops with real customers.
Everyone understands how their work today directly relates to and benefits
paying customers”. LeSS acknowledges that customer-centricity is hard to
scale (“In a small one-team product, organizing by customer value is
trivial. The more teams, the more they become like cogs in the large
development machine”). The feature team organization is designed as a tool
to scale the focus on customers.
LeSS is a Lean Agile software
development framework with clear lean roots. It makes “Lean Thinking”
one of the founding principles: “Create an organizational system whose foundation
is managers-as-teachers who apply and teach lean thinking, manage to improve,
promote stop-and-fix, and who practice Go See. Add the two pillars of respect
for people and continuous challenge-the-status-quo improvement mindset. All
towards the goal of perfection”. As explained in the previous section, some of
this could be found in the SAFe book (we find the same references to queues and
work in process), but the importance of the gemba (people and code) is more
visible. The same remark applies to the importance of continuous improvement: “A
LeSS adoption ends only when you’ve achieved perfection and world domination.
Without that, there are always things to improve. The job of managers is to
build an environment in which teams continuously deliver and continuously
improve. Preferably the teams themselves do most improvements, but managers and
Scrum Masters are often involved for organizational and environmental
improvements … —Here’s a perfection goal: Create and deliver a product
almost all the time, at almost no cost, with no defects, that delights
customers, improves the environment, and makes lives better. Do endless humble
and radical improvement experiments toward that goal”. The guidelines that
are provided to managers are deeply influenced by lean thinking : “Create an
organizational system whose foundation is managers-as-teachers who apply and
teach lean thinking, manage to improve, promote stop-and-fix, and who practice
Go See. Add the two pillars of respect for people and continuous challenge-the-status-quo
improvement mindset”. Even with the small set of quotes that I have included
here, one can see that the LeSS emphasis is not on the framework or its methods,
but on the product that is being build. LeSS coaches needs to be former doers: “Prefer
hands-on experience. Ensure that your trainer/coach has hands-on experience in
LeSS from both inside (as a team member) and outside (as coach). Avoid training
providers who don’t care about who teaches, and avoid trainers with only
theoretical knowledge. … De-emphasize
certification. Most certification of people and courses is almost meaningless.
It probably doesn’t hurt, but certification is not a reliable guide”.
3.2 Discipline Agile : Scaling and improving agile development processes
I will now turn to Disciplined
agile, which is often considered as
the most natural competitor to SAFe. Disciple Agile started in 2015 and has
scaled, with successive versions, to incorporate “disciplined DevOps”, then “Disciplined
IT” and later “Disciplined Agile Entrerprise”. Disciplined Agile focus on
people first and acknowledges the diversity of development life cycles. In a way
that is similar to SAFe, Disciplined Agile claims inspiration from many sources
such as Scrum, extreme programming (XP), SAFe, Spotify, agile modeling (AM),
Unified Process (UP), Kanban, outside-in software development, and agile data
(AD). Following the same principle as the previous section, I have selected “An
Executive’s Guide to Disciplined Agile : Winning the Race the Business Agility”,
by Mark Lines and Scott Ambler, as my path to describe DAD (Disciplined Agile
Delivery) shortly in this blog post. Since I only selected four themes to feed
my comparative analysis with SAFe, it is clear that I will not do justice to
Disciplined Agile or to Mark Lines and Scott Ambler’s book.
Disciplined Agile is a “process improvement toolkit”, that is, a framework
that can be used on many software development processes: “In many
ways Disciplined Agile (DA) is very different from other process offerings. DA
is a process improvement toolkit, not a process or methodology”. In a way
that is very similar to Jurgen
Appelo’s writing (cf. his great book “Management
3.0 – Leading Agile Developpers, Developing Agile Leaders”), complexity theory
and system thinking play an important role in the proposed approach to scaling.
Organizations are seen as complex adaptative systems, for which DAD uses to Cynefin framework to
identify the “unknown unknowns”. I applaud the reference to complex system thinking,
but I find the application to stay too much on the conceptual side. There are
many pages about how to organize you governance, without mention of what kind
of issues this governance should resolve. Similarly, the part about
architecture is very generic. In a lean spirit, it would make sense to describe
which problems architecture is trying to solve (such as modularity, open-ness
with API, reactiveness, high availability and resilience, extensibility and
unified data semantics, etc.). DAD is a transformation framework; it proposes a
long journey towards continuous improvement. I quote here a long fragment from
the conclusion that I like very much:
- Solution delivery is complex. DevOps is complex. IT is complex. Your overall organization is complex. What makes it even more challenging is that your people, teams, organization, and the world around them is constantly learning and adapting.
- No silver bullet. There are no quick fixes, no silver bullets, no one process or scaling framework to rule all regardless of the marketing rhetoric surrounding them. Every person, every team, and every organization is unique.
- It will take time. This is a multi-year journey. And when you have achieved what you perceive to be true business agility you will need to evolve to a long-term continuous improvement approach as everything around you will continue to change.
- It requires sustained investment. Achieving your transformation goals will take a material investment.
- It requires courage and commitment. Every single success story, every single one, starts with the organizational decision to do the hard work to get better. And every single one eventually recognizes that improvement is a way of life, not a project.
- Change must be pulled not pushed. You need to pull agility and discipline into your organization, you can’t push change onto people and hope it will stick.
Disciplined Agile is organized around seven principles: “Delight
Customers, Be Awesome, Pragmatism, Context Counts, Choice is Good, Optimize
Flow, and Enterprise Awareness”. These
principles reflect the pragmatism of the framework authors, the agile and lean
heritage and a focus on system thinking. DAD embraces the preference for long-lived
stable teams: “A very common trend in the agile community is the movement
away from projects, and the project management mindset in general, to
long-lived teams”. The fact that “Delight Customers” is the first principle
is a good indication that customer-centricity received more attention than it gets
with SAFe : “In 2001 the writers of the Agile Manifesto told us that “Our
highest priority is to satisfy the customer through early and continuous
delivery of valuable software.” This is a good start, but disciplined agilists
prefer the lean philosophy that to succeed it isn’t sufficient to simply
satisfy the customer but instead we must regularly delight them if we wish to
keep them as a customer.” However, the customer-centricity claim stays as a
principle and does not lead to the practical focus that is found in the LeSS
book.
Disciplined Agile is a Lean Agile framework with many sources of inspiration : “DAD
is an agnostic hybrid approach that puts proven strategies from Scrum, Agile
Modeling (AM), Extreme Programming (XP), Unified Process (UP), Kanban, Lean
Software Development, SAFe and several other methods into context”. Similar
to SAFe, DAD also claims inspiration from Lean Startup: “The toolkit
includes support for multiple delivery lifecycles, including but not limited to
a basic/agile lifecycle based on Scrum, a lean lifecycle based on Kanban, two
modern agile lifecycles for continuous delivery, and an exploratory lifecycle based
on Lean Startup”. Notice that there is no attempt to create a hybrid
monster lifecycle that includes everything (including Lean
Startup in a “continuous exploration” mode), which is definitely a good
thing. Lean is often quoted as a source of inspiration for principles: “The
10th principle behind the Agile Manifesto suggests that “Simplicity – the art of
maximizing the amount of work not done - is essential”. Similarly, Lean
advocates regard any activity that does not directly add value to the finished
product as waste”. However, when it comes to practical guidelines, such as
those for the “Lean Change management cycle”, any lean practitioner will cry
for the absence of any mention about the “gemba” (people and code). It
is hard to imagine a lean software development practice without deep diving into
what people do and which issues they meet. The authors explain that enterprise
culture and organization need to evolve to match Disciplined Agile ways of
working – this is definitely true, as was pointed beautifully by Jurgen Appelo
or by Steve Dunning in his great post “How
To Make The Whole Organizations Agile”. They use the wonderful book for
Frederic Laloux, “Reinventing
Organizations”, as a guideline: “ There are several important
observations we’d like to make about Laloux’s organizational maturity scale:
Green and teal align well with agile. For your organization to support
Disciplined Agile it should at least be (mostly) Green, with a participative
and values-based culture, or better yet Teal with a truly adaptive and aware
strategy”.
Disciplined Agile is a framework for Agile DevOps. The
integration of DevOps is what makes this book stand apart from the other two : many
thoughts have been given to scaling DevOps practices, and this shows in the
book organization, with a collection of schemas that will be useful to agile
practitioners at scale. The emphasis on “discipline” becomes the vehicle to
promote the scaling of unified development methods (something that my own experience
confirms: the laissez-faire spirit about what “agile really means to you”
works beautifully at a team level, but does not scale) and the fierce promotion
of automation (hence DevOps). The larger the organization, the larger the
benefits of constant, relentless and continuous automation. I mention in the
introduction that the software giants such as Google, Facebook or Netflix do
not use SAFe, but they do use DevOps and very large amounts of scripting and
automation. Disciplined DevOps is a valuable framework for large enterprises: “Disciplined
DevOps is the streamlining of IT solution development and IT operations
activities, along with supporting enterprise-IT activities such as Release
Management, Support, Security and Data Management, to provide more effective
outcomes to an organization”.
4. Conclusion
Before I conclude
with what I take from these different reviews, it is worth telling briefly
where I come from. As you may have found if you clicked on the URL links, the
divergence of opinions about scaled agile is quite wide. You cannot have an opinion
that is independent from your own experience as a software practitioner. I
discovered the agile manifesto in its early day because of my past as an object-oriented
language designer and my interest with software development methodologies in
the previous century. I moved to Scrum in 2005-2008 when I had to scale my
agile practices. I then moved from Scrum to DevOps when faced with the
challenge of developing software for internet gateways and set-top boxes. The
practice of Scrum+DevOps has led me to look into Lean Software development around
2010 and progressively define the “Lean
Software Factory” ambition, which I refined progressively when I moved to
digital products development at AXA Digital Agency. I have covered this lean
agile software approach many times in my blog, but I have never written
about scaling before this post.
Interestingly, there are two separate topics: what does lean & agile
software development mean? and how do you scale this approach? I have given the
first question a lot of consideration, but not much to the second although I
have been faced with scaling challenges since 2005.
The short version
of my conclusion is that SAFe is an interesting toolkit for scaling but should
not be used as a lean agile development methodology. If you know what you are
doing, you may derive great value from SAFe rites and practices, but If you
follow the guide/books too closely, your are likely to get yourself back into
20th century software development (not always a bad thing …). If I
try to expand my concluding thoughts about these three books, here is what I
would propose:
- I really liked the LeSS book, and the LeSS framework, but not everything is here. The lean (kaizen) and DevOps angles are missing from my perspective. The good news is that there are no incompatibilities between LeSS and the Lean Software Factory Principles, so using LeSS as a scaling framework works for me. What makes LeSS the best book of the three is the focus on software products. As told earlier, I believe that moving from projects to products is the center of lean software transformation.
- I liked Disciplined Agile for its DevOps integration. I also appreciate the flexibility to support multiple kinds life cycles. However, to me, this is only a companion book since it says too little about software development and stays at a “meta” descriptive level on too many topics.
- I would recommend SAFe for the practices at scale, such as PI planning, but definitely not as a development methodology. In my opinion, SAFe and DAD suffers from the same drawback of trying to integrate too many ideas and concepts from other methodologies. DAD does it with more grace, while SAFe tries forcefully to fit all the pieces together.
- None of these books do a compelling job to explain the value of combining lean and agile, nor how does it really work at the squad level … but this is not the topic of this post.
I will end with a COVID-related
note. There used to be a debate whether agile development required co-location.
It is very clear to anyone who has experienced both, that colocation – of all team
skills, but mostly of the product owner with the developers – works better. Multi-site
agility requires more experience, more discipline, a strong set of common
language, concepts and tools. “Remote agile”, however, has become a necessity
for large-scale organizations because of geographic constraints. What we see
currently is that “remote agile” may become a standard practice in a more general
sense, when most software workers are required to work from home.
No comments:
Post a Comment