Contact Us Sitemap
Main Menu
Learning Greek
- - - - - - -
- - - - - - -
More Articles
- - - - - - -
CafePress Designs
- - - - - - -
Free Downloads
Web Links
Subscribe to RSS
RSS Feed
Who's Online
Visitors: 3295485
Login Form

Lost Password?
Blog Directory & Search engine
Home arrow Blog arrow Even If It's Wrong?

Warning: Call-time pass-by-reference has been deprecated in /home/content/m/i/k/mikenoel/html/mambots/content/joscomment.php on line 43
Even If It's Wrong? Print
Written by Mike Noel   
Tuesday, 21 November 2006
I recently heard the saying "It's better to be doing something, even if it's wrong, than to be doing nothing". The sentiment is pretty clear. It is better to be moving forward with the hope that you might make some progress rather than just sit down and do nothing. In general I see that this is a true statement, in a motivational kinda way, but I can't believe that it is universally true. When I heard the statement it was made in the context of software development. That's what I do. I write software.
In that context the idea was that it was better to start coding and developing the project instead of spending more time planning and designing. Planning and designing were considered "doing nothing". So it was better to start writing the programs, even when it wasn't clear exactly what was needed and even when there was a chance we'd be writing the wrong stuff. That was better than continuing to hashing over the requirements and specifications.
In developing software I'm just not sure that that's a good plan. It is possible, even likely, that bad decisions early on will cost a great deal of money and time later on down the road. A grand example of this was the Y2K issue from several years ago. The issue there was that software designers decades before 1999 decided to use only two digits to store years (that is, the last two digits). This was an adequate solution until the year 2000. At that time the dates would be "00" which would be "before" 99. This would cause a lot of problems in major software systems. Fortunately there were very few, if any, problems when 2000 actually came around. But this doesn't mean that it didn't cost anything. There were millions and millions of dollars (maybe even billions) spent by software and engineering firms worldwide in the months leading up to 01/01/00 in order to ensure that there wouldn't be any problems.
To be fair to the 1960's software developers, they didn't choose two digits because they didn't think about it. It was because of nessecity. Electronic storage just wasn't available then like it is now. Every single character that could be saved was valuable. The point, though, is that that decision had far reaching and expensive consequences. The same thing happens on a smaller scale when software developers start writing a program when the scope hasn't been adequately defined.
On the practical side of things I realize that it's not possible to define everything 100%. In fact, in today's rapidly changing environment, it's probably not reasonable to define everything much more than 90 or 95%. So if we were to wait until everything was fully specified we would be waiting forever.
The trick is to figure out when there is enough definition to move forward. Moving forward too early will likely mean costly mistakes and rework. Waiting too long may mean that the project never gets going. This is probably why experienced software developers are needed in software management positions. Their gut instincts can tell them when there is enough info and when there's not.

Copyright 2004 - 2008 Mike Noel. All rights reserved.
This Site is powered by Joomla!.