Golden triangle

From Pearl Language
Revision as of 13:34, 3 April 2013 by Martien (talk | contribs) (Zeroth version.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Iron triangle

Variables:

  1. 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;
  2. Resources—people, means, money, machines, tools, and instruments needed to realize or produce the result (scope);
  3. Time—the moment in time when it needs to be ready for use;
  4. Quality—scalability, maintainability, security, performance, …; in fact al non-functional requirements.

When you fixate 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.
    1. Draw a horizontal line from that point on the output axis to intersect with the optimistic and pessimistic lines.
    2. Draw a vertical line that intersects with both points and the time axis.
    3. The leftmost point on the time axis is the most optimistic delivery time.
    4. 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):
    1. Draw a vertical line from that point on the time axis to intersect with the pessimistic and optimistic lines.
    2. Draw a horizontal line that intersects with both points and the output axis.
    3. 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.
    4. 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.

Leadership

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:

  1. muri—unreasonable burden on people or systems—burnout;
  2. 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 your 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 the 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.