1. Take an Economic View
If the solution doesn’t meet the customer’s economic goals, then the long-term viability of the solution is uncertain. Two primary aspects of achieving optimum economic outcomes: Deliver early and deliver often, and understand the economic trade-off parameters for each program and value stream.
2. Apply System Thinking
The Solution is a System
• Team members must understand clearly the boundaries of a system.
• Optimizing a component does not optimize the system.
• Components can become selfish and block other resources, such as computing power, memory, etc.
• A system can evolve no faster than its slowest integration point. The faster a full system can be integrated and evaluated, the faster it can evolve.
The Enterprise Building the System is a System too
• The people, management, and processes of the organization that builds the system are also a system.
• This system has to managed as well, in order to avoid local optimization and therefore limiting the speed and quality of value delivery to the business.
• Building complex systems is a social endeavor.
• Suppliers and customers need to be treated as partners.
• Value crosses organizational boundaries. This requires eliminating silos and creating cross-functional organizations.
Understand and Optimize the Full Value Stream
• A SAFe portfolio is a collection of value streams.
• Each value stream consists of the steps necessary to integrate a new concept.
3. Assume Variability, Preserve Options
People often think that the more you know and have already decided, the further along you are in a system development. However, that is often not the case. Often, a Set-Based Design is a better approach.
4. Build incrementally with fast, integrated Learning Cycles
Investment costs are produced from the beginning of the program and get accumulated until a solution is delivered. Little to no value is provided before all the features are ready to use or the program runs out of time or money. The approach is not designed to get any early feedback in order to improve the product continuously. As a result, the risk remains until the end of the program, and even into deployment and after initial use.
This can result in loss of trust with the customer and the procedure is error-prone. To cope with this, often both parties try hard to define the requirements and take decisions up-front. This makes the solution inflexible to changing requirements and minimizes the chance of an optimal fit into the business environment.
Rather than deciding on a single requirements-and-design early on, a range of requirements and design options that are feasible and provide fitness for purpose are considered while building the solution incrementally in a series of short timeboxes with feedback loops to evaluate the options continuously (see principles 1 & 3).
Plan-Do-Check-Adjust: The development process is designed to focus on cadence-based integration points. Each points pulls the various solution elements into an integrated whole. They also create a routine synchronization with the stakeholders, which helps assure that the evolving solution addresses the real and current business needs.
5. Base Milestones on objective Evaluation of working Systems
The traditional waterfall approach measures progress through a series of specific milestones. These milestones follow a sequential process, e.g. requirements, design, development, deployment.
However, this can lead to a system that does not meet the customer’s requirements due to following reasons:
- Centralized decision making in siloed functions that may not be integral to the solution
- Forcing too early design decisions, taking assumptions on the feasibility
- No space for error: Fitting point solution has to be built in the first attempt
- Up-front decisions create large amounts of documents and can lead to delayed feedback
In order to mitigate risk more successfully principle 4. Build incrementally with fast, integrated learning cycles provides some help. Each increment is an integration point that demonstrates evidence of the feasibility of the solution in process. Every milestone involves a part of each step: requirements, design, development, and testing.
6. Visualize and limit Work in Progress, reduce Batch Sizes, and manage Queue Lengths
In order to move new features quickly from concept to cash, the lead time has to be kept as short as possible and the project needs to stay in a continuous flow. Three factors help achieving this.
Visualize and limit WIP
• Too much WIP confuses priorities and leads to frequent context switching and inefficiency
• Kanban board states WIP per state
• When any workflow state reaches its limit, no new work is taken on
• Only to a certain capacity putting more work into a system also leads to a higher output. A system can become more turbulent and throughput decreases when people are overloaded
Reduce Batch Sizes
• By reducing batch sizes WIP can be limited
• Small batches are finished faster and have less variability, which enables faster learning
• The optimal batch size depends on the holding cost (cost for delayed value) and the transaction cost (cost of implementing batch)
Manage Queue Lengths
• Queue length and average processing time have a large impact on flow
• The longer the queue of work awaiting implementation, the longer the wait time – no matter how efficient the team is
• Keep backlogs short and uncommitted, so new and higher priority work can enter and leave the system faster
• Visualizing work helps the process
7. Apply Cadence, synchronize with cross-domain Planning
In Lean-Agile teams uncertainty provides the freedom for innovation, and sufficient confidence allows the business to operate. The balance between confidence and uncertainty can be maintained only by providing information of the current state. Cadence, synchronization, and cross-domain planning can deliver this information.
• Provides a rhythmic pattern
• Transforms unpredictable events into expected events
• Wait time becomes predictable
• More efficient use of people and resources
• Reduction of transaction costs of key events
• Helps assessing the solution viability
• Aligns the development team with the business
• Integrates the customer into the development process
Synchronization with Cross-Domain Planning
Periodically, all stakeholders need to gather for synchronization and cross-functional planning to align on a common technical and business vision.
A Program Increment Planning assesses the current state of the solution and plans the next program increment.
8. Unlock the intrinsic Motivation of Knowledge Workers
Managing knowledge workers can be challenging since they know more about the work they perform than their bosses. Therefore, managers cannot seriously attempt to coordinate the technical activities of people who are more capable of defining the tasks necessary to accomplish their mission. Instead, they can unlock the intrinsic motivation of knowledge workers.
Create an Environment of Mutual Influence
• To lead effectively, the workers must be heard and respected.
• Leaders should show a willingness to become vulnerable by encouraging others to disagree where appropriate, advocate for the positions they believe in, make their needs clear, enter into joint problem-solving, and negotiate, compromise, and commit.
Leverage the Systems View
• The principles of SAFe are themselves a system.
• This enables knowledge workers to communicate across functional boundaries, make decisions based on an understanding of the economics, receive fast feedback about their solution increments, and they can participate in a more productive and fulfilling solution development process.
Understand the Role of Compensation
• Under-compensation is a major demotivator.
• After a point, the goal is intellectual freedom and self-actualization.
• At this point short-term incentive plans and pay-for-performance schemes can be harmful, since it can insult the worker’s intellectual integrity, or shift the focus to the money rather than the work.
Provide Autonomy with Purpose, Mission, and Minimum Possible Constraints
• People have a need for autonomy – the ability to self-direct and manage their own lives.
• Self-direction must occur within the context of the larger objective, therefore, leaders must provide a mission / strategic direction.
• Minimal specific project plans, but challenging requirements with the minimum possible constraints should be provided.