Thinking Outside the Triangle

One of the most pervasive management concepts is surely the time/cost/quality triangle. This is illustrated as follows:

triangle.jpg

Think of your project as a dot somewhere in the middle of the triangle. If your project is in the middle of the triangle then you are delivering an average level of quality at an average cost in an average amount of time. The idea is that you can move this dot around to be nearer to one corner but it will therefore be further away from the others. So, for example, you can deliver a higher quality product but the cost will go up and it will take longer.

Generally speaking customers want the lot (i.e. best product for the lowest price in the quickest time). Project managers (who understand the triangle idea) know that they can not improve one without sacrificing another. This tends to lead to conversations like this:

Customer: I know you said you’d deliver the new stock control system by February but we could really do with it in place before Christmas, any chance of having it ready by December?

Project Manager: I suppose we could get some contractors in but that would up the cost.

Customer: Our budget was fixed last April, I can’t go back to the CEO asking for more. Surely you could pull a few strings and deliver sooner?

Project Manager: If we drop some functionality and relax the testing requirements we might be able to knock some time off the schedule.

Customer: What! We already cut down the functionality for this release to the bare minimum, we can’t possibly lose anymore.

Project Manager: Well, in that case I don’t see that we can speed up delivery.

Later, of course, the customer will talk to his CEO. The CEO will phone up your sales guy who (with his lack of triangle experience) will promise to deliver the product three months early and throw in an all expenses paid trip to the races. When the project is finally delivered a year late the sales guy will already have retired on commission.

So what is wrong with the triangle concept? Surely the project manager was sensible in this example and it was only the sales guy who ruined it all?

Maybe. But before you decide think a little bit more about what the project manager actually said.

Firstly he stated that he could deliver more quickly by throwing more resources at the project (and thus upping the cost). This might work, but more likely it will give no noticeable improvement in development speed. Time and time again we see that adding developers to a project (particularly late on in the development life cycle) does not improve delivery timescales. It may even result in delays as developers who were working effectively have to spend time getting others up to speed.

Quite often in software development there is a practical upper limit to the number of developers who can work on the product at any one time. This will be due to the way the software design has been modularised. It may well be that a project already has as many developers as is practical. If this is the case then more developers won’t help.

Secondly the project manager stated that they could try dropping some requirements to build the product more quickly. Again this may not help. Imagine you have six developers working on six code modules. Remove some functionality such that you now only have five modules to code. What does the sixth developer do? Not much. Maybe make some tea for the other guys. This approach is again intrinsically limited by how many people can productively work on the software at any one time.

The project manager also says that relaxing the testing requirements could lead to a tightened schedule. There are two flaws with this view. Firstly, most evidence suggests that relaxing any sort of quality control actually costs more and takes more time in the long run. Secondly, at some level, products either work or they don’t. Although “relaxing testing requirements” is a fairly innocuous way of phrasing it the project manager is actually asking for permission to deliver broken software. Even if the customer agrees to this at a meeting early on in development they are very unlikely to accept a product that doesn’t work at project completion.

The biggest problem with this scenario though is that the customer goes away dissatisfied. In this example they escalate until a salesperson agrees to their demands anyway. An even worse scenario would be the customer changing their mind and switching to another supplier. Whichever way you look at it the end result is not a good one.

So what did the triangle achieve? It created a number of bad ideas for reducing the delivery time and produced a dissatisfied customer. Take a deep breath. It’s time to think outside the triangle…

What is thinking outside the triangle all about? It is really very simple: you can improve one aspect without sacrificing another. When you want to enhance one aspect actively think of ways you can do it without impacting the others. Start thinking in this way and you’ll be amazed at the ideas you can come up with by thinking creatively and leaving behind traditional triangle baggage. Lets see how that conversation could have gone:

Customer: I know you said you’d deliver the new stock control system by February but we could really do with it in place before Christmas, any chance of having it ready by December?

Project Manager: We’ve allowed four weeks in the plan for you to approve the detailed specification. If we work with you more closely on it from day one then you should be able to approve it as soon as it’s complete and it’s more likely to be right first time. That would knock a month off.

Customer: That sounds good, I know we’d love to more involved from the outset. We’d still need to do it faster though to be ready by December.

Project Manager: I suggest that we deliver the project in phases. We’ll work with you to prioritise functionality and that way at least you’ll have a working system by December even if you have to wait another month for the lowest priority features.

Customer: That sounds like a good idea, I’m sure the staff can get by without some of the less important functions for a month.

Project Manager: I’ll also talk to the team about their annual leave. Several of them haven’t used up their entitlement yet. Normally we don’t let them carry leave forward into the New Year so they end up taking it in November/December. We could make an exception for them this time and that might get us a few more man months of effort before December.

In this example the project manager is really working hard to think creatively. Knowing that the customer wants the product sooner he is trying to see how this could be achieved without impacting quality or cost. Improving one aspect without affecting the other two is the very essence of thinking outside the triangle.

Advertisements

5 comments so far

  1. Bruce P. Henry on

    This is an interesting notion. I’ve got to ask though, shouldn’t a good project manager have thought of all those up front? I’m just thinking that low hanging fruit like that is usually the first thing eaten in a project.

    I used to run a group of software testers. I worried whenever a lead would tell me that their team didn’t have time on the schedule for some feature but then a day or so later they “moved things around” and now it could fit. It seems to me that any customer that hired someone as a supplier would want the most features, the shortest schedule, and the smallest budget right from the “get go”.

    I do like the idea of the project managers thinking creatively. All of these ideas are great, but they should be done pro-actively at the start of the project rather than in response to customer demands.

  2. Bruce P. Henry on

    Oh, and I’ve got to give you a big round of applause for the customer dialog. I swear to you I’ve had the first conversation. Were you eavesdropping? 🙂

  3. daviddaly on

    Hi Bruce, really good to read your interesting comments, thank you for taking the time to contribute them.

    Firstly I would like to agree with you that a project manager should be pro-actively looking for the “low hanging fruit” from the outset. I would add that this isn’t just a project initiation activity because many factors can change throughout the life of a project. For example, I managed one project that was delivered in two phases. Myself and the test lead were able to re-factor our testing approach for the second phase based on experiences gained during the first phase. This significantly reduced the effort and cost required without materially affecting quality. All too often I have seen managers assume that once a plan has been created the only acceptable modifications to it include a time/cost/quality trade-off. This simply is not true.

    Perhaps my example looks too much like someone “giving in” to customer demands. It is describing a non-functional requirement change (i.e. we want it sooner). It could equally have been written around a scenario where a project is running late and somehow the time needs to be made up. The key point is that thinking within the triangle often does not offer viable solutions whilst thinking outside of the triangle can. It is not the be all and end all but it is a technique that many project managers could do with bearing in mind.

  4. daviddaly on

    I thought again about this blog recently when I read an interview with Katsuaki Watanabe (Toyota’s president) in the July/August 2007 Harvard Business review. In it he talks about developing “technologies and processes that will allow Toyota to manufacture all our vehicles at lower costs” and goes on to say “we will also meet our quality standards”. He doesn’t specifically talk about production time-scales but it is clear that he believes that by thinking creatively it is possible to avoid a time/cost/quality trade-off.

  5. Nuclear Ventilation on

    Great article. I have also come across a ‘four dimensional’ concept which includes the area inside the triangle and relates cost, quality and schedule to scope. i.e. can’t increase the scope without an increase in cost or schedule or a reduction in quality. Can’t quite remember the diagram worked though.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: