Presentation on theme: "Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore."— Presentation transcript:
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore
Background Software effort estimation has been researched for several years Most research has involved medium to large development projects Concentration on small projects for external customers
Importance of Accurate Estimates Increased customer satisfaction Increased productivity of development staff Competitive advantage in a bidding war for services contract
Problem The estimation of small development projects, specifically, the development of customizations or enhancements to existing products to meet customer needs has not been studied. Estimation of small projects in many cases is a “best guess” estimate.
Existing Tools COCOMO (Boehm) COCOMO II (Boehm) SLIM (Putnam) Function Point Analysis (Albrecht) Feature-based model (Mukhopadhyay)
References 1. B. W. Boehm, Software Engineering Economics. Englewood Cliffs, NJ, Prentice-Hall, 1981. 2. L. H. Putnam, “A General Empirical Solution to the Macro Software Sizing and Estimating Problem,” IEEE Transactions on Software Engineering, vol. SE-4, pp. 345-361, July 1978. 3. A. J. Albrecht and J. Gaffney, “Software function, source lines of code, and development effort prediction: A software science validation,” IEEE Transactions on Software Engineering, vol. SE-9, pp. 639-648, June 1983. 4. B. W. Boehm, et al., “An Overview of the COCOMO 2.0 Software Cost Model,” Software Technology Conference, April 1995. 5. C. F. Kemerer, “An empirical validation of software cost estimation models,” Communications of the ACM, vol. 30, pp. 416-429, May 1987.
References (cont’d) 6. T. Mukhopadhyay and S. Kekre, “Software effort models for early estimation of process control applications,” IEEE Transactions on Software Engineering, vol. 18, pp. 915-924, October 1992. 7. B. A. Kitchenham and N. R. Taylor, “Software project development cost estimation,” Journal of Systems and Software, vol. 5, pp. 267-278, November 1985. 8. S. Conte, H. Dunsmore, and V. Shen, Software Engineering Metrics and Models, Benjamin/Cummings, Menlo Park, CA, 1986.
Limitations of COCOMO Must be calibrated to provide accurate results Not accurate for incrementally developed projects Uses lines of code to calculate estimates
Limitations of SLIM Proprietary calculations Requires significant technical knowledge to implement Requires two of the following Size greater than 5000 lines Effort greater than 1.5 man.years Development time greater than 6 months Uses lines of code to calculate estimates
Function Point Analysis Must be calibrated to be accurate Fourteen general characteristics factors rated on a scale from 0 (no influence) to 5 (essential) Developed using business data processing systems Non-technical staff can be trained to execute this method Guidelines exist for counting function points in enhancement projects Function Points can be counted after requirements analysis
Fourteen General Characteristics Factors 1. Does the system require reliable backup and recovery? 2. Are data communications required? 3. Are there distributed processing functions? 4. Is performance critical? 5. Will the system run in an existing, heavily utilized operating environment? 6. Does the system use on-line data entry? 7. Does the on-line data entry require the input transaction to be built over multiple screens or operations?
Fourteen General Characteristics Factors 8. Are the master files updated on-line? 9. Are the inputs, outputs, files or enquiries complex? 10. Is the internal processing complex? 11. Is the code designed to be re-usable? 12. Are conversion and installation included in the design? 13. Is the system designed for multiple installations in different organizations? 14. Is the application designed to facilitate change and ease of use by the user?
Feature-based Model Designed to use as an early estimation tool Requires only limited information Developed for Process Control Applications
Calculations for Feature- based Model Model for calculating function counts from user-defined features Model for calculating lines of code from user-defined features
Research Objectives Develop a calibrated Function Point Analysis (FPA) estimation model with a margin of error less than 40% Develop an early estimation model using the application features as the key to estimation with a margin of error less than 25%
Research Design Use the FPA model Evaluate approximately 40 projects completed over the past two years Individual project size between 5 days and 150 days of total effort Calculate the language level of the proprietary language in use Calibrate the 14 “general characteristics factors”
Research Design (cont’d) Develop feature-based model Identify groups of features to determine function counts and/or lines of code Addition of fields to screens Creation of new screens Creation of new functionality within a screen Evaluate existing projects to determine constant values for the formulas
Data Analysis Calculate magnitude of relative error for FPA and feature-based models Calculate correlation of the estimates for each model
Facilities and Resources No special resources are needed Tools used Microsoft Excel WinStat
Schedule January 2001 – Proposal accepted and training on FPA completed February to June 2001 – FPA research Possible publication of FPA research results July to November 2001 – Feature-based model analysis December 2001 – Article submitted for publication to IEEE Transactions on Software Engineering
Deliverables Calibrated FPA model Feature-based model adapted for business data-processing applications Research report which details accuracy and consistency of models
Conclusion Research on effort estimation of small, incremental development projects has not been adequately provided up to this point The results of this research will provide tools to improve the accuracy and consistency of estimates for these development projects