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
Delivering the best value and quality to people and society, in the shortest sustainable lead time, requires making routine decisions in a proper economic context. This necessitates developing and communicating the strategy for incremental value delivery, and creating an economic framework that defines the trade-offs between risk, Cost of Delay (CoD), operational and development costs, while supporting decentralized decision-making.
#2- Apply systems thinking
Deming observed that the problems faced in the workplace require an understanding of the systems that workers use. Moreover, a system is complex. It has many interrelated components (people and processes) that have defined, shared goals. To improve, everyone must understand and commit to the purpose of the system. Optimizing one component does not optimize the whole. In SAFe, systems thinking is applied to the organization that builds the system, as well as to the system under development. It also acknowledges how that system operates in its end-user environment.
#3 – Assume variability; preserve options
Traditional design and life cycle practices encourage choosing a single design-and-requirements option early in the development process. But if that starting point is wrong, then future adjustments take too long and can lead to a suboptimal long-term design. A better approach is to maintain multiple requirements and design options for a longer period in the development cycle. Empirical data is then used to narrow the focus, resulting in a design that creates better economic outcomes.
#4 – Build incrementally with fast, integrated learning cycles
Develop solutions incrementally in a series of short iterations. Each iteration results in an integrated increment of a working system. Subsequent iterations build on the previous ones. Increments allow fast customer feedback and risk mitigation. They also may become minimum viable products (MVPs) or prototypes for market testing and validation. In addition, these early, fast feedback points help determine when to ‘pivot,’ where necessary, to an alternate course of action.
#5 – Base milestones on objective evaluation of working systems
Business owners, developers, and customers have a shared responsibility to ensure that investment in new solutions will deliver economic benefit. The sequential, phase-gate development model was designed to meet this challenge, but experience shows that it does not mitigate risk as intended. In Lean-Agile development, integration points provide objective milestones in which to evaluate the solution frequently and throughout the development life cycle. This regular 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 enterprises strive to achieve a state of continuous flow, where new system capabilities move quickly and visibly from concept to cash. There are three keys to implementing flow: 1. Visualize and limit the amount of work in process (WIP) to limit demand to actual capacity. 2. Reduce the batch sizes of work to facilitate fast and reliable flow through the system. 3. Manage queue lengths to reduce the wait times for new capabilities.
#7 – Apply cadence, synchronize with cross-domain planning
Cadence creates predictability 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 the tools needed to operate effectively in the presence of uncertainty, inherent in product development.
#8 – Unlock the intrinsic motivation of knowledge workers
Lean-Agile leaders understand that ideation, innovation, and the engagement of knowledge workers can’t generally be motivated by individual incentive compensation. After all, individual objectives cause internal competition and destroy the cooperation necessary to achieve the larger aim of the system. Providing autonomy and purpose—while minimizing constraints—leads to higher levels of employee engagement, resulting in better outcomes for customers and the enterprise.
#9 – Decentralize decision-making
Achieving fast value delivery requires fast, decentralized decision-making. This reduces delays, improves product development flow, enables faster feedback, and creates more innovative solutions by those closest to the local knowledge. However, some decisions are strategic, global, and have economies of scale that justify centralized decision-making. Since both types of decisions occur, creating a reliable decision-making framework is a critical step in ensuring a fast flow of value.