If you are a producer, or have been involved in production in some way, you may have encountered a little evil triangle. It seems innocent enough at first, but it is, in my opinion, one of the most dangerous inventions of man.
This triangle is very simple, it basically says that you can choose two out of three of the following options:
Yes, you can have it fast and good, but then it will cost you. You can have it cheap and good, but it will take a long time. You can have it fast and cheap, but it will not be very good.
I may be putting myself out on a limb, but I believe this triangle lies.
I want it all
For a start, when I make something I want all three. Yes, I want to make it good, cheap and fast. Certainly the world is full of cheap, fast and good things. Such things tend to be simple; but simple is not in that triangle. In other words, if you want cheap, fast and good… then keep it simple. It is a question of the scope of the project.
That should be enough to blow the triangle out of the water, but there is more.
The famous book “The Mythical Man-Month” does a pretty good job in destroying one side of the triangle. More people (or money) on a project does not automatically mean you get done sooner or even get a higher quality result. If only it was that simple. I can think of high profile examples of projects that exceeded their budgets, slipped their schedules and delivered mediocrity.
Taking more time can result in higher quality, but even then Duke Nuke’m Forever is going to take Forever.
Software development, and especially video game development is simply too complicated a thing to break down into easy to measure elements.
And that is why the triangle is so dangerous. In one corner, there is quality which is very hard to measure and so tends to be managed on faith. “It’s gonna be good… look at the size of the team, and the investment, and how long it’s been in development!”. The other two corners are easy to measure; budget and time, the two bastions of project management are precisely the two bastions solely because they are easy to measure. Everyone can understand a deadline, and everyone can understand a budget. This is why I believe the secret to success is the ability to understand that which is not readily measured!
This particular trap is a rather big one. Obsession with things that are easy to measure I mean. Just look at western education, for example. Could it be that the decline in education standards stems from the focus on the one thing that is easy to measure? That is the number of students gaining qualifications?
What is harder to measure is the value of those qualifications, in effect the quality of the education. Yet it is arguably the most important aspect of an education. Hard to measure things tend to get compromised in this world, it seems.
The same is true in video games; logically the most important thing in video games is entertainment of the customer. But entertainment value is again hard to measure. Sales, on the other hand, are easy to measure. The problem here is that there is no reliable consistent link between entertainment value (a hard to measure thing) and sales figures (an easy to measure thing). Sure we have faith in the correlation, but as any economist would probably explain, such connections in a market are tenuous at best. There are a ton of things that can cause sales to not reflect entertainment value. Yet decisions on what kinds of products are made in our industry are by and large determined through number crunching.
So, at best the bemusing triangle, in my opinion one of the biggest causes of projects vanishing without trace, is a tool in which budget and schedule stand firm, with the idea that if you mix these in the right amounts, quality will naturally follow. Reflect on this.
Finding better triangles
I would like to propose that we discard this unbalanced, unrealistic triangle and try to replace it with better relationships between forces that bear upon production of, particularly, video games.
I have been thinking about what I call robust triangles for many years. It is a fascinating exercise in abstraction, guided by only two rules… that such relationships be both robust (in other words reflecting a hard truth of some kind) and useful.
So let’s look at that quality thing, and see if we can do better.
QUALITY – EFFORT – SCOPE
Now we need to be careful. This is a new triangle for consideration (I have others that I have had hanging around for years), so I am not yet sold on it. To tell the truth, this one just occurred to me as I wrote this. So let the assessment begin.
For the triangle to be robust you must be able to freeze one of the forces and then observe a clear relationship between the other two, where there is some kind of balance.
This triangle is saying that if we fix quality to a certain level, then we can choose between effort and scope. If we want it to require little effort, we must keep the scope small.
For any given amount of effort, we must choose between quality and scope. A large scope and a small amount of effort will result in poor quality. I think I buy that.
Finally, for any given scope, there is a clear relationship between effort and quality. This feels correct.
Of course, to be precise we must define the terms precisely. What do we mean by effort, exactly? Is this just another name for cost?
The great thing about working with these triangles, I find, is that it brings out interesting questions such as “is cost the same as effort?”.
I don’t think that the triangle works so well if we replace cost with effort. In trying to understand what might be meant by effort, we might uncover a new triangle.
This is an ongoing area of informal research for me, but I will leave you with the most useful triangle I have found so far: RUF
This triangle tells you something about managing risk. It is clear that keeping risk low is important. Well, this triangle shows the two key forces involved with risk.
First, risk is caused by unknowns. Clearly, if you do not have any unknowns, then there is no risk. So what do you need to do to lower your risk when you have a large number of unknowns? Simple, you maintain flexibility. Try the triangle out, and see if it works for you.
Using this triangle, I have been able to explain the need to maintain flexibility in the production environment, something which I have noticed is often counter intuitive to a team (at least, to inexperienced teams). Why should you spend time building in flexibility into your project? What is a really good reason for developing a flexible software architecture for the game project you are working on?
Simply put, it all comes down to the concept that investment in a flexible production environment is the only logical course of action when you don’t know what is going to hit you next. It’s a simple concept, and feels like it is at the heart of Agile. It works, because flexibility is clearly the only way to mitigate the risks of the unknown.
I am currently trying to create a network of robust triangles, that perhaps one day could map out the whole of video game development, and be a useful tool in improving video game development practices.
If you can think of any more robust triangles, please get in touch, I’d love to hear from you.