Inevitably, when you begin to assemble a plan, you suddenly find yourself with an impossible list of absolutely essential attributes. So bear in mind that while a product can never be too good for its purpose, it can be too good for its market.
Software code is imperfect until the last string is fitted perfectly in place. Then it suddenly starts working as planned. As such, programming calls for a great degree of patience from managers, and programmers who want to see their project completed are wise not to defend themselves but to explain what they are doing.
When programmers finish compiling their code early, they will (given the opportunity) almost certainly use the time left to polish their writing and clear up loose ends. It's essential to have a coherent development plan in place so everyone is on the same timeline and not questioning when the project is actually finished. Programs such as Word, WordPerfect, and Corel have been fantastically successful because they provide quality functionality within limits.
You should acquire this profound marketing insight in advance. No program is ever going to be 360 degrees perfect. And like every product from lifeboats to lip salve, it will evolve throughout its commercial life cycle. The time to draw a line under the development plan is not when it's perfect but as soon as the perceived value of the program's benefits outweighs the anticipated retail price.
So, aim high, but don't trip over the balcony. You can always introduce fixes later. The point at which you plan to sign off on the project should be determined by whether the program will be easy to update. Most of the software programs used on office PCs are revised periodically by programmers trying to iron out their technical wrinkles. This is par for the course.
Firmware, which is embedded for good into chips, is non-upgradeable. If you are producing upgradeable software you can plan improvements gradually, but if you are producing a program that is necessarily fixed for the life of the product (five to 10 years), your program has got to be viable for the life of its host and right from the start.
Was this article helpful?