Rethinking the Triple Constraint: Five Project Dimensions

The sign at an auto repair shop asked, “What do you want: good, fast, or cheap? Pick two.” It’s humorous, but it’s too simplistic.

Karl Wiegers
The Startup
Published in
11 min readJun 14, 2019

--

Graphic adapted by author

Perhaps you’ve seen a sign at an auto repair shop that asked, “What do you want: good, fast, or cheap? Pick two.” While humorous, the sign is also wise: it acknowledges the reality of trade-offs. You generally cannot optimize every desired outcome of a given situation.

The notion of such a “triple constraint” or “iron triangle” appears throughout project management. The problem is that I’ve seen numerous representations of the triangle with various parameters — size, cost, time, or scope — and various assumptions about what’s being held constant. The classic triangle doesn’t show quality explicitly. Does that mean that quality is a non-negotiable expectation or — more likely — that you get whatever quality the team can achieve within the constraints the other parameters impose? In my view, the traditional triple constraint is wrong, although the concept of constraints and trade-offs is certainly valid.

The Five Dimensions

I think in terms of five dimensions we have to manage on a software project (Figure 1, adapted from Creating a Software Engineering Culture). First, of course, there are the features (aka scope), which itemize the product’s functional capabilities. But it’s important to distinguish quality from scope. I can write software very fast if it doesn’t have to work correctly. The other three dimensions are the time we have available before delivery (schedule), the budget for the project (cost), and the staff available to work on the project.

Figure 1. The five dimensions of a software project.

I don’t lump staff and budget together and call the combination “resources” as is sometimes done. Most of the project cost is indeed staff salaries. I’ve seen situations, though, where a team had adequate funding but were not able to hire additional staff. In this case, perhaps the project manager can use…

--

--

Karl Wiegers
The Startup

Author of 14 books, mostly on software. PhD in organic chemistry. Guitars, wine, and military history fill the voids. karlwiegers.com and processimpact.com