Monday, February 23, 2009

Good Enough is Good Enough!

Given the detail-orientation of many of us, it's not unusual to run across a situation where someone is striving for perfection. The correct thing to do (in most cases) is to stop them.

Perfection is bad from 2 aspects:

1) perfect means it solves every single problem the user has
      This is bad because it means that the system is either brittle, or too malleable
2) the incremental cost of perfection is almost always much higher than the cost of small bugs

One way that a Ninja combats these tendencies is to prototype.  Make a first version that covers the known issues in some way, and have a test run with the end user.  I use this for documents all the time - I'll set out a view of the problem and distribute it for comments.  I find that I get many more responses than if I ask for input before I present something.  If I have no idea about what to write, I make a known-wrong example to insure that all the editors will leap to the occasion to show how much they know about the process and correct me.

The prototype allows you to concentrate on the most important issues first, and to no sweat the small issues until later, when the end user may be satisfied with the prototype, or one of its successors.  Besides, if you prototype, you'll know what works when it comes time to do the inevitable rewrite

Technorati Tags --
, , ,

No comments: