Posted in Software Engineering, Technology
Friday, March 17, 2006
It has been my experience that short-term projects with a small team are the most rewarding way to produce software. Long running projects tend to suffer team turnover and burnout. A large team introduces new issues such a potential breakdown in communication.
Unfortunately not every project can fit inside of a three or six month schedule. It may be necessary to divide a project into phases. The purpose of each phase would be to fit into a short-term schedule.
The customer may be enthused by early versions of the software and may want to add new features. Also, the engineers may want to write geeky stuff that could help the project but whose scope is outside that of the project requirements. I recommend that you avoid this feature and requirements creep. Track the requests and assign them to later phases.
By focusing on short-term projects your customer will appreciate the quick turnaround of new software releases. Your team can take pride in their accomplishments. A successful project release will help motivate them as they start the next phase of the project.
