The old line “good, fast and cheap: pick any two” is tossed around a lot to describe software projects. Last night Scott Trudeau let me in on an inversion of this triangle that he picked up from the 37 Signals folks at SXSW, and I dug up this comment by David Heinemeier Hansson on their blog:
Economic constraints are great. So rather, the wording would be “we’ll work to give you the best application we can within the specified vision/overview and X amount of dollars.” Fixed time, scope, and price is not a viable approach to software development for the vast majority of projects.
Mr. Hansson certainly wasn’t the first to apply the good/fast/cheap theory to software, but I really like the way he framed it in terms of software contracting bids.
You can have a fixed timeline and fixed features, but if we need to add more resources to meet the timeline you’ll need to pay. You can have a fixed timeline and fixed price, but we’ll cut features if we have to in order to meet the timeline and price. You can have a fixed price and fixed features, but you’ll have to be flexible on the delivery date. Fixed price, fixed timeline, fixed scope: pick any two.
In order to pull this off you need to be able to turn away potential work—which smacks of elitism and won’t please the business people—but from the programming side it’s a breath of fresh air.
[Update: well wouldn’t you know it, 37signals just made a full post on scope/timeframe/budget. I seem to be adept at blogging synchronicities.]
[Update 2: More on scope/timeframe/budget from Merlin at 43 Folders]
2 responses to “Pick any two”
And as Slashdot now tells me, 95% of IT projects [are] Not Delivered on time anyway… So perhaps this is the de facto way of things even if we all kid ourselves that we can have all three..
The idea is brilliant, but I’ve found that it never works. For each time I have employed the idea, something always goes awry. It could be a lack of control due to massive sub-contracting, or it could be poor expectation management on the account manager side. Either way, it always seems to have to be all three, or else you lose the client.
In other words, you can pick from column A and B, but unfortunately, we give you C. God Save The Change Order.