SAFe Lean-Agile Principles Abridged
Richard Knaster has been working on a new whitepaper: “An Introduction to SAFe 4.0.” It distills SAFe down to its primary elements and ideas, with just enough depth to provide a fairly comprehensive understanding of the Framework. He’ll post that for comments and downloads sometime soon in the Updates category of this blog, so stay tuned.
This new, “leaner” overview of the Framework has reminded us of the need to emphasize what’s really important in SAFe. Those of you who have been practicing in the trenches know how critical the principles are to a successful implementation, so with that in mind I thought I’d provide the abridged version of those here now. Comments are welcome.
SAFe Lean-Agile Principles Abridged
#1 – Take an economic view
Achieving the best value and quality to people and society in the sustainably shortest lead time requires a fundamental understanding of the economics of the system builder’s mission. Lean systems builders endeavor to make sure that every day decisions are made in a proper economic context. The primary aspects include developing and communicating the strategy for incremental value delivery, and the creation of the Value Stream Economic Framework, which defines the tradeoffs between risk, cost of delay, operational and development costs, and supports decentralized decision-making.
#2- Apply systems thinking
Deming, one of the world’s foremost systems thinkers, constantly focused on the larger view of problems and challenges faced by people building and deploying systems of all types—manufacturing systems, social systems, management systems, even government systems. One central conclusion was the understating that the problems faced in the workplace were a result of a series of complex interactions that occurred within the systems the workers used to do their work. In SAFe, systems thinking is applied to the organization that builds the system, as well as the system under development, and further, how that system operates in its end user environment.
#3 – Assume variability; preserve options
Traditional design and lifecycle practices drive picking a single requirements and design option early in the development process (early in the “cone of uncertainty”). However, if the starting point is wrong, then future adjustments take too long and can lead to a suboptimal long-term design. Alternatively, lean systems developers maintain multiple requirements and design options for a longer period in the development cycle. Empirical data is then used to narrow focus, resulting in a design that creates better economic outcomes.
#4 – Build incrementally with fast, integrated learning cycles
Lean systems builders build solutions incrementally in a series of short iterations. Each iteration results in an integrated increment of a working system. Subsequent iterations build upon the previous ones. Increments provide the opportunity for fast customer feedback and risk mitigation, and also serve as minimum viable solutions or prototypes for market testing and validation. In addition, these early, fast feedback points allow the systems builder to “pivot” where necessary to an alternate course of action
#5 – Base milestones on objective evaluation of working systems
Systems builders and customers have a shared responsibility to assure that investment in new solutions will deliver economic benefit. The sequential, phase-gate development model was designed to meet this challenge, but experience has shown that it does not mitigate risk as intended. In Lean-Agile development, each integration point provides an opportunity to evaluate the solution, frequently and throughout the development life cycle. This objective evaluation provides the financial, technical, and fitness-for-purpose governance needed to assure that a continuing investment will produce a commensurate return.
#6 – Visualize and limit WIP, reduce batch sizes, and manage queue lengths
Lean systems builders strive to achieve a state of continuous flow, whereby new system capabilities move quickly and visibly from concept to cash. Three primary keys to implementing flow are to: 1. Visualize and limit the amount of work-in-process so as to limit demand to actual capacity, 2. Reduce the batch sizes of work items to facilitate reliable flow though the system, and 3. Manage queue lengths so as to reduce the wait times for new capabilities.
#7 – Apply cadence, synchronize with cross-domain planning
Cadence transforms unpredictable events into predictable ones, and provides a rhythm for development. Synchronization causes multiple perspectives to be understood, resolved and integrated at the same time. Applying development cadence and synchronization, coupled with periodic cross-domain planning, provides Lean systems builders with the tools they need to operate effectively in the presence of product development uncertainty.
#8 – Unlock the intrinsic motivation of knowledge workers
Lean-Agile leaders understand that ideation, innovation, and engagement of knowledge workers can’t generally be motivated by, incentive compensation, as individual MBOs (Management by Objectives), cause internal competition and destruction of the cooperation necessary to achieve the larger system aim. Providing autonomy, mission and purpose, and minimizing constraints, leads to higher levels of employee engagement, and results in better outcomes for customers and the enterprise.
#9 – Decentralize decision-making
Achieving fast value delivery requires fast, decentralized decision-making, as any decision escalated introduces delay. In addition, escalation can lead to lower fidelity decisions, due to the lack of local context, plus changes in fact patterns that occur during the wait time. Decentralized decision-making reduces delays, improves product development flow, and enables faster feedback and more innovative solutions. However, some decisions are strategic, global in nature, and have economies of scale sufficient enough to warrant centralize decision-making. Since both types of decisions occur, the creation of an established decision-making framework is a critical step in ensuring fast flow of value.