Flexibility, speed to market, performance - pick two

Mon, May 9, 2011

I'm busy getting stuff done here in sunny California. I'm sorry that this post is written in haste - I just wanted to make one clear point to everybody interested:

If you are doing any kind of development - if you are the developer, the company or whoever, there is a general rule that applies:

Flexibility, speed to market, performance - pick two

If you want flexibility and performance, you won't be able to do that very fast. If you want to get your product out right away and it has to perform really well - you will probably not have much flexibility in how the product evolves.

If you want flexibility AND speed to market (every startup's dream) you will probably not have great performance. You need to be able to iterate fast and that is what flexibility entails and you need to get your stuff out there right away - don't worry about performance until later.

Better yet, if you're in the real world - pick only one.

This is a very similar rule to one that is often referenced in software development, the project triangle - good, fast, cheap. If you need somebody to write software for you (or create a website or just about anything, really), you can only pick two of those.

Any thoughts?