Is good, fast, AND cheap possible?
December 27th, 2009
The project triangle: "You are given the options of Fast, Good and Cheap, and told to pick any two."
My advisor James recently wrote a very interesting post called Fast good and cheap, in which he argues that the saying that you can't have all three is "a corrosive mindset".
In actuality these things are trade-offs, but when it comes to the startup mindset, I think he's 100% right. And mindset is what it's all about. Because if you're a startup you have to have it in your culture to go fast or you will die. You also have to do it cheap, because - hey - you're a startup! And you also have to do it good - or consumers will recognize that your product is crap and not use it.
Where this saying comes from is that to engineer a quality product, speed and quality and inversely related, and quality and price are directly related. In other words, if you want a better job done it will cost more, and take longer.
But if you get the engineer who has the mindset to go fast, do it cheap, and do a good enough job, then you have a rockstar. If you have 2-3 of those in your company, you can do anything. And this is the new force in the universe - coding power. Some call it hacking, some call it being a rockstar, but in the end it comes down to the unique fact of software: that good engineers are worth 10x mediocre ones.
Here are some tips on how to be good, fast, and cheap:
So to summarize: who cares if good, fast, AND cheap is possible - you should have the mindset that it is.

My advisor James recently wrote a very interesting post called Fast good and cheap, in which he argues that the saying that you can't have all three is "a corrosive mindset".
In actuality these things are trade-offs, but when it comes to the startup mindset, I think he's 100% right. And mindset is what it's all about. Because if you're a startup you have to have it in your culture to go fast or you will die. You also have to do it cheap, because - hey - you're a startup! And you also have to do it good - or consumers will recognize that your product is crap and not use it.
Where this saying comes from is that to engineer a quality product, speed and quality and inversely related, and quality and price are directly related. In other words, if you want a better job done it will cost more, and take longer.
But if you get the engineer who has the mindset to go fast, do it cheap, and do a good enough job, then you have a rockstar. If you have 2-3 of those in your company, you can do anything. And this is the new force in the universe - coding power. Some call it hacking, some call it being a rockstar, but in the end it comes down to the unique fact of software: that good engineers are worth 10x mediocre ones.
Here are some tips on how to be good, fast, and cheap:
- Stand on the shoulders of giants. Open source software has changed the programming world in the last 5 years, and you can do really complex things really fast by re-using other people's hard work. As an example, just the other day we needed to calculate how different two strings were, and instead of taking days to write an algorithm, we found an open-source implemenation of the Levenshtein Distance.
- Outsource everything that you can. Complex problems like image hosting, cloud computing, payroll, analytics, email hosting, payment processing, etc have been solved and likely don't need custom solutions.
- Focus like a laser on your priorities. The way to go fast is to not get bogged down doing things that aren't the top priority of the company. For every project you have you should constantly be asking: is this our top priority?
- In seemingly direct contrast to the last item - let your programmers have some fun. Programmers, like all creative people, need some TLC or they will get burned out. Google's 20% off time is genius - and we employ it at Goodreads. You will be surprised at how your product will improve in the "good" category by doing this. Because sometimes what makes a product seem good are the little things - the bling that isn't core to it, but makes it sexier. For instance: the extra ajax in gmail, anything in google labs, the photo uploader on Facebook, the amazing widgets on Goodreads, the backlit keyboard on a powerbook, etc.
- Be a student of good design. When making a new product don't make assumptions about what the easiest user interface probably is. Go out and study other approaches to the problem first. If they are any good they will have things done as they are for a good reason. You would be amazed at how many sites have crappy message boards - when sites like phpbb have amazing solutions with 10 years of UI tuning built into them. This will help in both having a better quality product, and not wasting time fixing and tuning a poor implementation.
So to summarize: who cares if good, fast, AND cheap is possible - you should have the mindset that it is.















































































































Sorry, comments are closed for this article.