ifacethoughts

Fast, Good And Cheap

Fast, Good and Cheap represent three aspects of a project - the timeline, the quality and the budget. Depending on the situation they are sometimes fall into requirements or even constraints. The fact is that usually these three are combined by the “Tyranny of OR”. One can choose either

  • fast and good OR
  • good and cheap OR
  • fast and cheap

The option of all three is not considered to be practical.

The Triangle

Fast, Good, CheapI have been able to represent this the best by setting them at three different points of a triangle. You can choose any one side of the triangle. These three points can also be considered to be different costs of the project. You can ignore the one that you can afford to. In reality, no one can afford any cost, it is either a compromise or an investment, depending on how you look at it.

But this triangle is an important one to consider if you are trying to set priorities for the project. The priorities can help you choose the side.

I do agree that all three together is not always practical, somewhere someone has to absorb the cost. In some cases it has become possible, because of open source. Let us take a simple example for our purpose of understanding. If I want to setup a good blog, I can do that today, literally in 5 minutes, or maybe in half an hour by using tools like Wordpress, and using of the many themes available with it. The ones who has absorbed the cost here are the Wordpress developers and the theme designers.

However, this is limited to just that, simple cases. The moment you introduce your own requirements, like branding or functionalities, you will have to absorb the cost for that somewhere. And experience has taught me that a software project is hardly only about software. It is more about the business and the user. It is about their ROI. Software too, is hardly about development, it is about usage. Every single business and every single project is unique. So, even if there is a shelf of ready-made software available, chances are that someone is going to have to spend time and effort in working out why, what and how the software has to be developed.

Solutions?

I have realized that almost all the thinking that I do about improvements in software development finally boils down to converging these three points, or at least minimizing the effect of the OR. I personally would not like to do poor quality work or for that matter sacrifice any of the three. We can make sure through our process that we optimize our efforts, but is there anything to bring these points closer? I cannot say that I am anywhere near it, but I have found that using iterations gives a chance to work with manageable pieces, giving us time to prepare for the impact. More thoughts on this later. What do you think?

Discussion [Participate or Link]

  1. Buzzlair said:

    Love this one. Such a useful knowledge to me as im a fresh student of software engineering.

  2. NoLiveTv said:

    One of my best PMs ever clued me into this one early in my career: instead of a triangle, think of it as a 3-legged stool with each leg representing one of the fast, cheap, good areas, and the length of the leg is how much will be spent on each area. The goal is to define the scope in such a way that the customer will feel comfortable sitting on the stool after they’ve spent their project budget.

  3. Abhijit Nadgouda said:

    That is a good one! It really has to be comfortable for the customer, all three together.

  4. Kurt Greiner said:

    Funny,

    My first boss in technology gave me the same thing :)

    We called it “The Pyramid of Reality”, with the tag line “You may choose only two”.

    I actually have it posted at my office desk.

  5. Kurt Greiner said:

    BTW - This was in 1989….

  6. Abhijit Nadgouda said:

    Keeping this on the office desk is useful. It keeps you reminding of the balance required.

  7. Why I Hate the Term Outsourcing - Sramana Mitra on Strategy said:

    [...] unless we start bringing it back to what it meant. Right balance of the three factors – fast, good and cheap is what outsourcing can do for you. It can provide a bottom-line justification for your business, [...]

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

freshcomments

personalfavorites

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
Y!: anadgouda
GTalk: anadgouda@gmail.com
MSN: anadgouda@hotmail.com
Skype: anadgouda

currentproject

Complete Wellbeing

thoughtfulthoughts

Don’t EVER make the mistake that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle.

That's giving your intelligence much too much credit.
Linus Torvalds

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.

Twitter - Using Midori.