Effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input.
Effort estimation is essential for many people and different departments in an org...
Effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input.
Effort estimation is essential for many people and different departments in an organization.
Size: 1.61 MB
Language: en
Added: Jul 14, 2018
Slides: 17 pages
Slide Content
S ubmitted by Kiran Patel Effort Estimation Review
Effort Estimation Effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input .
Why is proper effort estimation important? Effort estimation is essential for many people and different departments in an organization. it is needed at various points of a project lifecycle . Usually, software development is priced based on the person days, it requires in order to be built, multiplied by a daily person day rate.
Why is proper effort estimation important?( conti ……) Effort estimation shows if you have the resources to finish the project within customer or project owner predefined time limits, based on your available man power.
Accuracy Effort estimation accuracy depends on available information. Usually, you have less information before you start the project (presales) and you have more information while working in the project . Approximately 40% of industry software projects that get cancelled are cancelled due to, partly or completely, failures in effort estimation . Have in mind that both low effort estimation and high effort estimation cause troubles, and make the project take longer to complete.
Effort Estimation method There are a number of methods that are used for effort estimation. All of them have pros and cons Expert estimation: An expert on the subject of effort gives judgment on this . Formal estimation model: Using a proper model you feed the system with proper data to get some estimation. Combination-based estimation : The estimation arrives with a mixture of both expert estimation and formal estimation procedures .
Analogy / Comparison Analogy based estimation involves selecting one or two completed projects that most closely match the characteristics of your planned project. The chosen project is then used as the base for your new estimate . Comparison based estimation involves considering the attributes of the project to be estimated, selecting projects with similar attributes and then using the median values for effort, duration etc. from the selected group of projects to produce an estimate of project effort.
Assessing the accuracy of estimates The most common measure of the average estimation accuracy is the MMRE (Mean Magnitude of Relative Error), where the MRE of each estimate is defined as: MRE =
Basic COCOMO B asic COCOMO computer software development effort (and cost) as a function of program size. Program size is expressed in estimated thousands of source lines of code SLOC, KLOC . COCOMO applies to three classes of software projects : Organic projects - "small" teams with "good" experience working with "less than rigid" requirements
Semi-detached projects - "medium" teams with mixed experience working with a mix of rigid and less than rigid requirements. Embedded projects - developed within a set of "tight" constraints. It is also combination of organic and semi-detached projects.(hardware, software, operational, ...)
The basic COCOMO equations take the form Effort Applied (E) = a b (KLOC) b b [ man-months ] Development Time (D) = c b (Effort Applied) d b [months ] People required (P) = Effort Applied / Development Time [count ] where, KLOC is the estimated number of delivered lines (expressed in thousands ) of code for project. The coefficients a b , b b , c b and d b are given in the following table:
Software project a b b b c b d b Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32
COCOMO-II COCOMO-II is the revised version of the original COCOMO and is developed at university of Southern California under the leadership of Dr. Barry Boehm. It also provide a quantitative analytic framework, and set of tool and technique for evaluating the effects of software technology improvement on software life cycle cost and schedules.
Object estimation is a relatively new size estimation technique. It measure the size from a different dimension . This measurement is based on the number and complexity of the following objects: screens, reports components . This measurement has been used in COCOMO II for cost estimation . It is also a good match to associated prototype efforts,
Example: A project size of 200 KLOC is to be developed. Software developed team has average experience on similar type of projects. The project schedule is not very tight. Calculate the effort, development time, average size and productivity of product. Solution: The semi-detached mode is the most appropriate mode; keeping in view the size, schedules and experience of the development team . Hence E =3.0(200) 1.12 =1133.12 PM D =2.5(1133.12) .35 = 29.3 M Average staff size(SS) = E/D Persons = 1133.12/29.3 = 38.67 Persons. Productivity = KLOC/E = 200/1133.12 =1765KLOC/PM P = 176 LOC/PM
Conclusion software project models and software metrics to be used for effort and cost estimation . No model can estimate the cost of software with high degree of accuracy. Estimation is a complex activity that requires knowledge of a number of key attributes. They are especially useful when the information about the past and/or the current situation is vague, incomplete, conflicting, and uncertain .