Our worst current development practices
Carl D. Jones · IEEE Software · 1996
Successful software projects can result from avoiding the more serious mistakes that lead to disaster. Specifically, we must look at the actual results of similar projects; make planning and estimating formal activities; plan for and control creeping requirements; use formal inspections as milestones for tracking project progress and software disasters; and collect accurate measurement data, during the current project, to use with future projects. There is no substitute for solid empirical data used by capable project managers who are supported by automated estimating and planning tools. This combination can almost always be successful. By contrast, no data at all, unprepared managers, and manual estimating and planning are consistently characteristic of our industry's major software disasters.