Saturday, February 10, 2007

Build space ship 'One' before space ship 'Two'

Whenever you have an idea for a library, product, class or anything else, always remember to build space ship one first, stop collecting extrabonanzic features and ideal design methodologies to reach directly to your dream space ship, start with space ship 'one' always.

This means, if its a product, this would be the minimal set of features that will make it usable.

If its a library, this means exposing the minimal set of functions that are sufficient to achieve the main objective of the library.

If its a class, then allow the smallest simplest possible code that'll make it work.

Ofcourse, before you even think of starting to work on Spache Ship 'Two', remember to launch spache ship 'One', or else, you're skipping the advice.

In a product's sense, space ship one is usually your own design, thoughts and implementation. After launching space ship one, people will start giving you feedback on certain conveniences, improvements, enhancements which you should take into account in space ship two.

The important thing to remember is: "DONT TAKE MUCH FEEDBACK FROM PEOPLE ON SPACESHIP ONE, DONT ADD FEATURES PEOPLE WANT ON SPACESHIP ONE, JUST IMPLEMENT SPACE SHIP ONE AND LAUNCH IT."

Nothing more, nothing less, if you cant launch space ship one, dont even think of building a space ship.

4 comments:

Anonymous said...

Set of features are one dimension to define space ship one. The other dimension is time. If building space ship one will take more time than you can handle, don't even think of building a space ship!!!

Anonymous said...

Actually, it depends on the planet you want to head to. Is it in the same galaxy or somewhere else.

Also note that this is a relative issue, and depends on the type of product you are working on.

But most important it should suite both your investment monetary size and your 'risk time', ie. The time you can handle without any profit.

At the end, whatever it is, shoot for the minimum in both features, budget, time, and effort.

Anonymous said...

Biso, I will take your advice and launch my spaceship 1 very soon, I was trying to build spaceship 2 features in spaceship 1.

Maybe a better idea would be asking people about their feedback even before building the spaceship at all, rather than trying to implement their features in v2 after building v1 from your mind.

Anonymous said...

Hmmmmmm. Ali, I can tell you the following, since we already know its a 'spaceship' then the objective of the product is known.

Therefore, to produce spaceship one, you can get started on your own.

There's no problem in collecting some feedback, but one should remember that feedback in this stage should be from very limited resources, dont expose it and collect feedback from many sources, just ask people close to your spaceship's industry that already have an idea about your idea.

Remember to limit feedback, since many people provide 'initial feedback' that could make you feel lost or even demotivated.

As an extra tip, if you have enough belief/confidence in what you're doing, ask for 'specific' feedback, and dont ask for 'general' feedback. Specific feedback enhances your idea without changing it's direction, general feedback could easily misguide your idea's implementation.

Thats about it.