Wednesday, August 17, 2011

Phrases that harm productivity

The other day, I had the opportunity to attend my first Design session. These are sessions setup to discuss the design of a particular aspect of a system. It could be a house design, or a new pool, or even a software program. The basic idea is for both the designer/developer and the client to have a clear understanding of what work is to be accomplished. How it should look, feel and work.

I had a great time!, though I was mainly just an observer, I noted the use of several phrases that although they seem simple enough and make a lot of sense. In reality, they actually hamper efforts to "move forward" with a particular aspect of design. Two such phrases that seemed important were;

1) "Let's not do it, until we get it right!"

2) "We have to be consistent in our Design"

Let's examine these a little more closely;

Let's not do it, until we get it Right!

The simple notion here is that there is nothing worse, then designing and coding something only to have to go back and change it all later...and indeed I can show you many statistics that show that software bugs or decisions made early on the in the process have a large increase in cost at the end of the project. The later in a project that a change is introduced the more costly it will be.

However, this is a flaw in this type of thinking because there is no such thing as a "perfect" design. At absolute best the design is only "perfect'' design for a few seconds after the decision is made. Hindsight is always 20/20 and looking back you will always find new and better ways to improve on your design.

In fact, it is a basic continuous improvement process. The trick is not to improve but to carefully time those improvements. If you are on a development project this can be difficult, but decisions will need to be made. Do you go back and rework everything potentially delaying your project end date, or do you push those changes off, and implement them in a later..seperate project?

Sometimes it is better to release early and release often, then to never release at all!

We have to be consistent in our Design

If your working on a very large project with hundreds (or thousands) of moving parts, someone has to be responsible for making sure all those parts fit together, and undoubtedly to do this they will want to make sure the design off one part is consistent with the design off the other parts. Of course, how else will part B fit into part A if they are not both designed to fit together?

The flaw here is that there are many design decisions around part A (usually presentation related) that have nothing to do with Part B (and vice-versa). And while there is no technical reason for these parts of the design to be consistent, there will be those who insist they "must" be. More then often this consistency comes at a price of hundreds of hours of more development work, and scope creep.

So keep this in mind the next time you are in a design change, and you here these phrases!

0 comments: