Saturday, May 06, 2006

The Simpler Your View of What You Do the More Power and Focus You Will Have in Doing It

In his book The Art of Project Management, Scott Berkun states: The simpler your view of what you do, the more power and focus you will have in doing it. I like this statement very much. This statement can be applied to many things. Scott explained it as “Periodically maintain a simple view of our work.” I like to apply it to software requirements and designs.

In the past, I saw that many projects failed because the designers of requirements and designs seeked too much on “perfectness”, fancy, and overly complete. If they can see every detail down the road and the future trend, they are able to design a rather perfect product. In reality, that’s not the case.

Only a small percentage of designers know that it is way better to figure out core pieces of the product, focus on them, implement them first, and even consider releasing them first. Here are some reasons.

First, it’s simpler to do that. A simple math explains that. Assume that you are given three requirements and they are not independent. You might drill down to a dozen of requirements. So you have a dozen of requirements in front of you. You focus on them and won’t MISS any of them. Now assume that you are given twenty requirements and they are not independent. You might drill down to over a hundred requirements. It’s much more complicated to create a design covering all of them and fine tuning all the relationships. It’s very easy to miss a couple of requirements.

Core pieces of your product are much more solid. You have fewer requirements; the project size (for this phase) is smaller; the structure is simpler. These all help on your design and implementation.

It’s much easier to adjust directions according to customer feedbacks. Your design might not be exactly what customers expect. It’s much easier to adjust directions because the product size is smaller and the structure is simpler. You might adjust the priority of your future feature list according to customer feedbacks.

You might earn market share because you release your product earlier.

You might make money earlier to sustain your future development.

You might adopt latest technology in your next phase of your product. Technology changes rapidly, especially on application side. You might expect that there are significant changes every two years. If you phase out, you might apply the latest technology to your next phase of the product.

You should keep one thing in mind: You should design your components in the way that it is easier to extend them.

Let me conclude this post with a quote from Albert Einstein: Any fool can make things bigger, more complex, and more violent. It takes a touch of genius – and a lot of courage – to move in the opposite direction.


Post a Comment

<< Home