Back to CHC-3 Publications CHC-3 Home
Improve your company's ability to estimate software - development cycles (cont.)
Managers can help by keeping system definitions constant. The system a team of engineers is creating shouldn't be a moving target. Management should use a good planning process that accurately defines the feature set for the software, and then resist making big changes once development begins.
Step 2: Make sure engineers are invested in the overall success of the organization.
The idea is to tie programmers' careers to the success of the organization so they will be motivated to complete software as quickly as possible while maintaining high quality. Profit-sharing, stock options, cash bonuses, extra vacation time, and other incentives can be used to encourage engineers to set the shortest-possible realistic schedules when new systems are in the planning stages.
Step 3: Give experienced engineers significant input in the creation of development schedules.
It's like planning the construction of a house. You wouldn't try to estimate the completion date without talking to people experienced in pouring foundations, framing walls, and installing heating systems.
Significant input means experienced engineers who have worked on similar projects are involved in decision-making from the very beginning of the planning process (including discussion of the proposed system's features list). By contrast, if a manager says, "We have decided this project can be finished in four months, and we'll all work nights and weekends to get it done, and you agree--right?" engineers might nod, but they'll soon create their own "real" schedule.
In extreme circumstances, significant input should even include veto power over the schedule. But engineers shouldn't use that power lightly: Software developers must recognize the validity of input from other departments, such as marketing, and must keep in mind the needs of the organization as a whole.
Engineering groups should be encouraged to think of themselves as mini-managers, weighing the need for speed against the need for quality, and helping the company to compete.
Managers are always trying to balance the need for a calm, productive working environment against the need to beat the competition. Software developers should become adept at that balancing act, too.
Charles Connell is president of CHC-3 Consulting Inc., which helps organizations turn around troubled software projects. He has done consulting work for numerous organizations, including IBM, Lotus, and Standard & Poor's. He can be reached by e-mail at firstname.lastname@example.org or on the Web at http://www.chc-3.com.
Copyright � 1995-1999. All rights reserved