Software design 101
This is an important little article, you should read it. Really, read it. It is not just a story, it is a parable. It has great moral implications, a real teachable moment, it is really important. Read it.
So it starts with a person, who has a problem, wants something new, something useful, something shiny. A great product, a very promising market. There is of course an other person, the one who has to make it happen. A great team with a bright future.
- Hey, Fred - says the guy with a problem - I really need a bicycle, a bike, light, cheap, simple. Something you can build fast and I can have for tomorrow... it should not take much time for you, right?
- Right, OK, I can do that, sure - says Fred, the poor ignorant bastard.
So the next day the bicycle is ready. It is light, it is elegant, cheap, and it was ready in 24 hours which is a great achievement. But then...
- Hey, Fred, where is the engine of this thing? - Asks the guy with a new problem.
- What engine?
- You don't think I will pedal this thing up to the hill all by myself, do you?
- Hey listen - says the poor bastard - this frame won't hold the engine I need to redesign the whole thing, but there is no time, I can't do this right now. I am a bicycle repair main, not superman...
- Well, listen - says the guy with the problem - glue three of these together, then it can hold the engine, it'll be great, I promise.
- OK - says the poor bastard, who was known as Fred before - but it will not be great. It might just work, not great...
Then the next week there is a bike, a monstrosity, three frames and an engine. It works, but it is not great, exactly as it was promised.
- Hey Fred - comes the guy who has a new problem - I forgot to mention there is a huge load of pebbles, I need to carry every once and a while. So we will need extra tires, more strength, a lamp and stuff... needs to be road legal, right? For tomorrow.
- Oh, my goodness - says the poor bastard - I better redesign the whole thing, but we already spent so much time, testing and everything...
- No, no, just the tires, the strength, lamps and windows, road legal... we are on the right path, I am sure, trust me. You can do it.
So the poor bastard goes back to the bicycle, scratching his head, makes some questionable decisions. That night he dreams free words repeating in big flaming letters... improvise, adapt, overcome. He wakes up crying.
The next day the man with the problem comes smiling. He has an idea. He could cut his way short if the bicycle could pass the river without going to the nearby bridge. It just needs a little work, make it waterproof, a propeller, maybe some sails, but those are just the details, he has a guy for that. There is also an other idea forming, he is excited about, that could be even bigger, a great product. The man with the problem had a brainstorm with a customer that wants a church, a big cathedral and he did not immediately rejected the idea of a church with tires... life is full of opportunities, indeed.
Wow, this IS a must-read indeed. I wish all my bosses and clients had read it!