5 Software Development Mistakes to Avoid
By CIOinsight | Posted 01-08-2007There are few disasters more embarrassing to a CIO than an expensive and time-consuming software rollout that fails to live up to expectations. Former Cap Gemini Chief Technologist John Parkinson and Scott Rosenberg, author of Dreaming in Code, share their tips on avoiding the biggest pitfalls in application development.
1. Don't leap ahead before you look backward.
2. Don't forget to plan for uncertainty.
3. Don't cave to unrealistic expectations.
4. Don't expect uniform productivity.
5. Don't go for the grand slam.
The software industry isn't introspective, says Rosenberg. "There isn't a lot of examination of past mistakes. That's the classic technique of engineering in the physical worldthe examination of past failures." Before launching a new project, review past errors and determine how to avoid them.
The biggest mistake software developers make, says Parkinson, is to assume their time estimates are perfect. "People can be distracted by many kinds of unplanned events," he says. To compensate, Parkinson advises introducing "slack"contingency time to be consumed when adjustments are needed.
Too often, software developers overpromise what can realistically be delivered in the allotted timeframe. "Managers tend to get into saying, damn it, I want it yesterday," says Rosenberg. It's a dangerous game that leads to faulty code.
It's unrealistic to expect the same amount of output every day, says Parkinson. "I have seldom seen this happen," he says. "Better to manage trends, where you can smooth the daily data into a useful indicator of progress, than to panic over daily fluctuations."
Holding off a launch before the entire project is finished might be a mistake. "If we try to design a system that does everything everyone wants it to, we'll never have any system," says Rosenberg. Instead, break projects into small bites. "Any opportunity to do that is to be seized," he says.