The Iron Triangle
There’s a concept that we frequently use in development called the iron triangle. The concept is that there are three factors:
- time
- cost (usually meaning people)
- scope
It’s okay to have one or two of these fixed, but definitely not all three; at least one of these constraints has to be negotiable otherwise quality is affected. Nobody wants their output to be a poor quality product so we agree that quality sits in the middle and is non-negotiable.
Fixing two constraints means you have 3 options:
- Getting something quickly (time) and cheaply (cost), but not getting everything that you want (scope); or
- Getting everything you want (scope) and quickly (time), but it costing more (cost); or
- Getting everything you want (scope) and cheaply (cost), but it taking longer (time).
If someone tells you that time, scope and cost are all fixed, you need to push to find out which one is the least fixed (i.e. not actually fixed). If none of the constraints is negotiable, then your project will almost certainly fail because you have no wiggle room if your project gets off track.
The Iron Pyramid
However, it’s not always straightforward. For example, over the last few months I’ve been working with a team of content designers. For them, the iron triangle is more like a 3-dimensional iron pyramid. To be clear, I am not saying that quality is negotiable for them; I’m saying that it is almost undefinable. When do you stop improving a page of content? Whereas software development often has a visible indicator that proves something works, content rarely does.
Unfortunately, this debate has no conclusion. I’ve heard people offer solutions such as “spend just enough time”, “keep going until it’s understandable”, “make it good enough”. But these don’t actually mean anything useful. What is enough time, good enough to whom, and how many readers do we want to deem it understandable and how do we test that? I jokingly suggest we work to a standard of 6.2 out of 10. When people ask what that means, I point out that it’s as meaningless as all the preceding suggestions.
Although you can insert reviews into your processes, the only way to decide when to stop improving content is for the creator to make a subjective decision on when to stop. In such cases, although quality is not negotiable, it is a variable. And if it is a variable, but not definable, then doesn’t this mean that the three constraints of the iron triangle (cost, time, scope) need to be even more flexible to compensate? In fact, in such instances, I’m not sure you can fix any of the three constraints.