- Scope—total feature set or all functionality that needs to be delivered; all functional requirements; please note that everything required is different from what is actually needed and valued;
- Resources—people, means, money, machines, tools, and instruments needed to realize or produce the result (scope);
- Time—the moment in time when it needs to be ready for use;
- Quality—scalability, maintainability, security, performance, …; in fact al non-functional requirements.
When you fix all four variables, e.g. in a constricting contract with penalties, you will create a ‘iron triangle’. The system as a whole will not work and eventually self-destruct.
As an alchemist, you can turn this iron triangle into a golden triangle as soon as you realize that the fourth variable always is a function of the other three.
Result as function of time
Output, result or scope is on the y-axis. Speed or velocity (the sloped area) is the amount of result (scope) per time period, for example a sprint. The longer we work, the more output we create.
The variance in velocity is the area between the topmost line (fastest, optimistic) and bottommost line (slowest, pessimistic). You might call the topmost line the “high speed line” and the bottommost line the “slow line”.
The graph helps the product owner in planning and setting the right expectations with the stakeholders and answers questions like, “When will everything be done?”, “What is done at a given date?”.
- Fixed scope—Suppose you have a fixed amount of work to do.
- Draw a horizontal line from that point on the output axis to intersect with the optimistic and pessimistic lines.
- Draw a vertical line that intersects with both points and the time axis.
- The leftmost point on the time axis is the most optimistic delivery time.
- The rightmost point on the time axis is the most pessimistic delivery time.
- Fixed date—Suppose you want to deliver on or before a certain date (deadline):
- Draw a vertical line from that point on the time axis to intersect with the pessimistic and optimistic lines.
- Draw a horizontal line that intersects with both points and the output axis.
- The bottommost point on the output axis is the most pessimistic output you can expect. You can expect that to be the minimum to be delivered.
- The topmost point on the output axis is the most optimistic output you can expect. You can expect at most that output te be delivered. You will certainly get no more delivered beyond that point.
- The troops are strong and the officers weak. This is called the ‘bow unstrung’.
- The officers are strong and the troops weak. This is called ‘dragged down’.
- —Sun Tzu, The Art of War
Suppose we call the area between the high speed line and slow line the Area of Healthy Tension: everything is possible and everyone can sustain its tempo—sustainable pace—it encourages creativity and it is predictable.
If you pick a point above the Area of Healthy Tension, then the troops get ‘dragged down’. Eventually, the bow will snap and the arrow will drop in front of you, missing its target. There is too much pressure on the system and you push it beyond its limits of tolerance and result in:
- muri—unreasonable burden on people or systems—burnout;
- mura—unbalanced workloads of people or systems.
Both will probably lead to reduced quality and to a lower velocity or capacity as a result. The slope of the Area of Healthy Tension will decrease, grinding everything down to a halt.
In the area below the Area of Healthy Tension, the bow is unstrung, Here, too, the arrow will drop in front of you, missing its target.
Therefore, strive to:
- increase velocity—increase the angle between the Area of Healthy Tension and the time axis—maintain and work on your accelerator list that will improve both product and process quality; you must slow down to speed up;
- reduce velocity variance—reduce the angle of the Area of Healthy Tension (between the high speed line and slow line) by fostering stable teamss that pull work based on similarity feeds predictability.
Yin-yang in the force field:
- Build the right things—The product owner is responsible for having the right things being build; that is, the order in the prduct backlog—building those items that provide the most value or outcome against the least amount of effort.
- Build the things right—The development crew is responsible for building it all in the right way, with the right tools, technology, and with the best possible quality.
- Build it fast—The scrum master focuses on speeding everything up and is responsible for implementing item by item of the accelerator list.
- Establish a relative estimation of implementation effort of the various parts (epics, minimal marketable features, or story map slices).
- Stack the parts to the left hand side of the output axis, where the length of each part is proportional to the estimated effort.
- Read the output axis to find out for a given date:
- what minimum output will be ready;
- what will probably be ready;
- what definitely will not be ready.
Tune your planning and release strategies into a coherent whole.
Every sprint a certain amount of output is delivered, most of the time in the form of user stories that are ready to release. In the beginning—during the forming and norming phase—the team will predominantly learn—each other, technology, tools, architecture, working together. Velocity or capacity of the team will vary relatively much. Velocity variance will be relatively high.