Issue No. 02 - February (1995 vol. 21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.345828
Accurate estimation of software development effort is critical in software engineering. Underestimates lead to time pressures that may compromise full functional development and thorough testing of software. In contrast, overestimates can result in noncompetitive contract bids and/or over allocation of development resources and personnel. As a result, many models for estimating software development effort have been proposed. This article describes two methods of machine learning, which we use to build estimators of software development effort from historical data. Our experiments indicate that these techniques are competitive with traditional estimators on one dataset, but also illustrate that these methods are sensitive to the data on which they are trained. This cautionary note applies to any model-construction strategy that relies on historical data. All such models for software effort estimation should be evaluated by exploring model sensitivity on a variety of historical data.
Software development effort, machine learning, decision trees, regression trees, and neural networks
D. Fisher and K. Srinivasan, "Machine Learning Approaches to Estimating Software Development Effort," in IEEE Transactions on Software Engineering, vol. 21, no. , pp. 126-137, 1995.