Staffing Level Estimation In Software Engineering

5/19/2019
    62 - Comments
Staffing Level Estimation In Software Engineering 3,9/5 9584 votes
Jump to navigationJump to search
  • SOFTWARE ENGINEERING Staffing Level Estimation and Scheduling Staffing level estimation Once the effort required to develop a software has been determined, it is necessary to determine the staffing requirement for the project. Putnam first studied the problem of what should be a proper staffing pattern for software projects.
  • Strategic Resource Planning Based on Staffing profiles. The strategic resource planning level and. Engineering, software development.

Estimation is the process of finding an estimate, or approximation, which is a value that can be used for some purpose even if input data may be incomplete, uncertain, or unstable. Estimation determines how much money, effort, resources, and time it will take to build a specific system or product.

In software development, 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 estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds.[1]

State-of-practice[edit]

Published surveys on estimation practice suggest that expert estimation is the dominant strategy when estimating software development effort.[2]

Typically, effort estimates are over-optimistic and there is a strong over-confidence in their accuracy. The mean effort overrun seems to be about 30% and not decreasing over time. For a review of effort estimation error surveys, see.[3] However, the measurement of estimation error is problematic, see Assessing the accuracy of estimates.The strong overconfidence in the accuracy of the effort estimates is illustrated by the finding that, on average, if a software professional is 90% confident or “almost sure” to include the actual effort in a minimum-maximum interval, the observed frequency of including the actual effort is only 60-70%.[4]

Currently the term “effort estimate” is used to denote as different concepts such as most likely use of effort (modal value), the effort that corresponds to a probability of 50% of not exceeding (median), the planned effort, the budgeted effort or the effort used to propose a bid or price to the client. This is believed to be unfortunate, because communication problems may occur and because the concepts serve different goals.[5][6]

History[edit]

Software researchers and practitioners have been addressing the problems of effort estimation for software development projects since at least the 1960s; see, e.g., work by Farr [7][8] and Nelson.[9]

Most of the research has focused on the construction of formal software effort estimation models. The early models were typically based on regression analysis or mathematically derived from theories from other domains. Since then a high number of model building approaches have been evaluated, such as approaches founded on case-based reasoning, classification and regression trees, simulation, neural networks, Bayesian statistics, lexical analysis of requirement specifications, genetic programming, linear programming, economic production models, soft computing, fuzzy logic modeling, statistical bootstrapping, and combinations of two or more of these models. The perhaps most common estimation methods today are the parametric estimation models COCOMO, SEER-SEM and SLIM. They have their basis in estimation research conducted in the 1970s and 1980s and are since then updated with new calibration data, with the last major release being COCOMO II in the year 2000. The estimation approaches based on functionality-based size measures, e.g., function points, is also based on research conducted in the 1970s and 1980s, but are re-calibrated with modified size measures and different counting approaches, such as the use case points[10] or object points in the 1990s.

Estimation approaches[edit]

There are many ways of categorizing estimation approaches, see for example.[11][12] The top level categories are the following:

  • Expert estimation: The quantification step, i.e., the step where the estimate is produced based on judgmental processes.[13]
  • Formal estimation model: The quantification step is based on mechanical processes, e.g., the use of a formula derived from historical data.
  • Combination-based estimation: The quantification step is based on a judgmental and mechanical combination of estimates from different sources.

Below are examples of estimation approaches within each category.

Estimation approachCategoryExamples of support of implementation of estimation approach
Analogy-based estimationFormal estimation modelANGEL, Weighted Micro Function Points
WBS-based (bottom up) estimationExpert estimationProject management software, company specific activity templates
Parametric modelsFormal estimation modelCOCOMO, SLIM, SEER-SEM, TruePlanning for Software
Size-based estimation models[14]Formal estimation modelFunction Point Analysis,[15]Use Case Analysis, Use Case Points, SSU (Software Size Unit), Story points-based estimation in Agile software development, Object Points
Group estimationExpert estimationPlanning poker, Wideband delphi
Mechanical combinationCombination-based estimationAverage of an analogy-based and a Work breakdown structure-based effort estimate[16]
Judgmental combinationCombination-based estimationExpert judgment based on estimates from a parametric model and group estimation

Selection of estimation approaches[edit]

The evidence on differences in estimation accuracy of different estimation approaches and models suggest that there is no “best approach” and that the relative accuracy of one approach or model in comparison to another depends strongly on the context.[17] This implies that different organizations benefit from different estimation approaches. Findings[18] that may support the selection of estimation approach based on the expected accuracy of an approach include:

  • Expert estimation is on average at least as accurate as model-based effort estimation. In particular, situations with unstable relationships and information of high importance not included in the model may suggest use of expert estimation. This assumes, of course, that experts with relevant experience are available.
  • Formal estimation models not tailored to a particular organization’s own context, may be very inaccurate. Use of own historical data is consequently crucial if one cannot be sure that the estimation model’s core relationships (e.g., formula parameters) are based on similar project contexts.
  • Formal estimation models may be particularly useful in situations where the model is tailored to the organization’s context (either through use of own historical data or that the model is derived from similar projects and contexts), and it is likely that the experts’ estimates will be subject to a strong degree of wishful thinking.

The most robust finding, in many forecasting domains, is that combination of estimates from independent sources, preferable applying different approaches, will on average improve the estimation accuracy.[18][19][20]

Staffing Level Estimation In Software Engineering

It is important to be aware of the limitations of each traditional approach to measuring software development productivity.[21]

Estimation

In addition, other factors such as ease of understanding and communicating the results of an approach, ease of use of an approach, and cost of introduction of an approach should be considered in a selection process.

Assessing the accuracy of estimates[edit]

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 = actual effortestimated effortactual effort{displaystyle {frac { {text{actual effort}}-{text{estimated effort}} }{text{actual effort}}}}

This measure has been criticized [22][23][24] and there are several alternative measures, such as more symmetric measures [25], Weighted Mean of Quartiles of relative errors (WMQ)[26] and Mean Variation from Estimate (MVFE).[27]

MRE is not reliable if the individual items are skewed. PRED(25) is preferred as a measure of estimation accuracy. PRED(25) measures the percentage of predicted values that are within 25 percent of the actual value.

A high estimation error cannot automatically be interpreted as an indicator of low estimation ability. Alternative, competing or complementing, reasons include low cost control of project, high complexity of development work, and more delivered functionality than originally estimated. A framework for improved use and interpretation of estimation error measurement is included in.[28]

Time life classic soft rock. Various Artists - Time Life Classic Soft Rock: Summer Breeze - Amazon.com. Pages with related products. See and discover other items: time life cds,. Various Artists - Time Life Classic Soft Rock: More Than a Feeling. Classic Soft Rock: Into the Night [Time Life Music] Audio CD. The Search Is Over. Upload: 5-06-2014, 12:14 203 Artist: VA Title Of Album: Time Life Music Collection [496 CD's] Year Of Release: 1962-2011 Label: Time Life Music Genre: Pop,.

Nov 11, 2017 - Shree Lipi 7.1 Crack.zip -> Shree Lipi 7.1. A crack, serial number, unlock code or keygen (key generator)Page Title: The title. Jan 16, 2015 - Hire the top usb software free download5 Freelancers, or work on the latest usb. Usb software dongle crack, shree lipi marathi typing software. Sep 27, 2008 - Hello Friends Any information regarding copying or making duplicate of Hardware Lock USB based. Atleast can you provide the information. Shree lipi usb dongle crack. ※Special Thanks! ・CGPersia Forums ・sonoman 記.

Psychological issues[edit]

There are many psychological factors potentially explaining the strong tendency towards over-optimistic effort estimates that need to be dealt with to increase accuracy of effort estimates. These factors are essential even when using formal estimation models, because much of the input to these models is judgment-based. Factors that have been demonstrated to be important are: Wishful thinking, anchoring, planning fallacy and cognitive dissonance. A discussion on these and other factors can be found in work by Jørgensen and Grimstad.[29]

  • It's easy to estimate what you know.
  • It's hard to estimate what you know you don't know. (known unknowns)
  • It's very hard to estimate things that you don't know you don't know. (unknown unknowns)

Humor[edit]

The chronic underestimation of development effort has led to the coinage and popularity of numerous humorous adages, such as ironically referring to a task as a 'small matter of programming' (when much effort is likely required), and citing laws about underestimation:

  • Ninety-ninety rule:

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.[30]

— Tom Cargill, Bell Labs
  • Hofstadter's law:

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

— Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid[31]
  • Fred Brooks' law:

What one programmer can do in one month, two programmers can do in two months.

Adding to the fact that estimating development efforts is hard, it's worth stating that assigning more resources doesn't always help.

Comparison of development estimation software[edit]

SoftwareSchedule estimateCost estimateCost ModelsInputReport Output FormatSupported Programming LanguagesPlatformsCostLicense
AFCAA REVIC[32]YesYesREVICKLOC, Scale Factors, Cost Driversproprietary, TextanyDOSFreeProprietary Free for public distribution
Seer for Software[33]YesYesSEER-SEMSLOC, Function points, use cases, bottoms-up, object, featuresproprietary, Excel, Microsoft Project, IBM Rational, Oracle Crystal BallanyWindows, Any (Web-based)[34]CommercialProprietary
SLIM[35]YesYesSLIMSize (SLOC, Function points, Use Cases, etc.), constraints (size, duration, effort, staff), scale factors, historical projects, historical trendsproprietary, Excel, Microsoft Project, Microsoft PowerPoint, IBM Rational, text, HTMLanyWindows, Any (Web-based)[36]CommercialProprietary
TruePlanning[37]YesYesPRICEComponents, Structures, Activities, Cost drivers, Processes, Functional Software Size (Source Lines of Code (SLOC), Function Points, Use Case Conversion Points (UCCP), Predictive Object Points (POPs) etc.)Excel, CADanyWindowsCommercialProprietary

See also[edit]

References[edit]

  1. ^'What We do and Don't Know about Software Development Effort Estimation'.
  2. ^Jørgensen, M. (2004). 'A Review of Studies on Expert Estimation of Software Development Effort'. Journal of Systems and Software. 70 (1–2): 37–60. doi:10.1016/S0164-1212(02)00156-5.
  3. ^Molokken, K. Jorgensen, M. (2003). 'A review of software surveys on software effort estimation'. 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings. pp. 223–230. doi:10.1109/ISESE.2003.1237981. ISBN978-0-7695-2002-5.CS1 maint: Multiple names: authors list (link)
  4. ^Jørgensen, M. Teigen, K.H. Ribu, K. (2004). 'Better sure than safe? Over-confidence in judgement based software development effort prediction intervals'. Journal of Systems and Software. 70 (1–2): 79–93. doi:10.1016/S0164-1212(02)00160-7. Archived from the original on 2009-08-19.CS1 maint: Multiple names: authors list (link)
  5. ^Edwards, J.S. Moores (1994). 'A conflict between the use of estimating and planning tools in the management of information systems'. European Journal of Information Systems. 3 (2): 139–147. doi:10.1057/ejis.1994.14.
  6. ^Goodwin, P. (1998). Enhancing judgmental sales forecasting: The role of laboratory research. Forecasting with judgment. G. Wright and P. Goodwin. New York, John Wiley & Sons: 91-112. Hi
  7. ^Farr, L. Nanus, B. 'Factors that affect the cost of computer programming, volume I'(PDF).CS1 maint: Multiple names: authors list (link)
  8. ^Farr, L. Nanus, B. 'Factors that affect the cost of computer programming, volume II'(PDF).CS1 maint: Multiple names: authors list (link)
  9. ^Nelson, E. A. (1966). Management Handbook for the Estimation of Computer Programming Costs. AD-A648750, Systems Development Corp.
  10. ^Anda, B. Angelvik, E. Ribu, K. (2002). Improving Estimation Practices by Applying Use Case Models. Lecture Notes in Computer Science. 2559. pp. 383–397. CiteSeerX10.1.1.546.112. doi:10.1007/3-540-36209-6_32. ISBN9783540002345 9783540362098 Check isbn= value: length (help).CS1 maint: Multiple names: authors list (link)
  11. ^Briand, L. C. and Wieczorek, I. (2002). Resource estimation in software engineering. Encyclopedia of software engineering. J. J. Marcinak. New York, John Wiley & Sons: 1160-1196.
  12. ^Jørgensen, M. Shepperd, M. 'A Systematic Review of Software Development Cost Estimation Studies'.CS1 maint: Multiple names: authors list (link)
  13. ^'Custom Software Development Services - Custom App Development - Oxagile'.
  14. ^Hill Peter (ISBSG) - Estimation Workbook 2 - published by International Software Benchmarking Standards Group ISBSG - Estimation and Benchmarking Resource Centre
  15. ^Morris Pam — Overview of Function Point Analysis Total Metrics - Function Point Resource Centre
  16. ^Srinivasa Gopal and Meenakshi D'Souza. 2012. Improving estimation accuracy by using case based reasoning and a combined estimation approach. In Proceedings of the 5th India Software Engineering Conference (ISEC '12). ACM, New York, NY, USA, 75-78. DOI=https://dx.doi.org/10.1145/2134254.2134267
  17. ^Shepperd, M. Kadoda, G. (2001). 'Comparing software prediction techniques using simulation'. IEEE Transactions on Software Engineering. 27 (11): 1014–1022. doi:10.1109/32.965341.CS1 maint: Multiple names: authors list (link)
  18. ^ abJørgensen, M. 'Estimation of Software Development Work Effort:Evidence on Expert Judgment and Formal Models'.
  19. ^Winkler, R.L. (1989). 'Combining forecasts: A philosophical basis and some current issues Manager'. International Journal of Forecasting. 5 (4): 605–609. doi:10.1016/0169-2070(89)90018-6.
  20. ^Blattberg, R.C. Hoch, S.J. (1990). 'Database Models and Managerial Intuition: 50% Model + 50% Manager'. Management Science. 36 (8): 887–899. doi:10.1287/mnsc.36.8.887. JSTOR2632364.CS1 maint: Multiple names: authors list (link)
  21. ^BlueOptima. 'Identifying Reliable, Objective Software Development Metrics'.
  22. ^Shepperd, M. Cartwright, M. Kadoda, G. (2000). 'On Building Prediction Systems for Software Engineers'. Empirical Software Engineering. 5 (3): 175–182. doi:10.1023/A:1026582314146.CS1 maint: Multiple names: authors list (link)
  23. ^Kitchenham, B. Pickard, L.M. MacDonell, S.G. Shepperd. 'What accuracy statistics really measure'.CS1 maint: Multiple names: authors list (link)
  24. ^Foss, T. Stensrud, E. Kitchenham, B. Myrtveit, I. (2003). 'A Simulation Study of the Model Evaluation Criterion MMRE'. IEEE Transactions on Software Engineering. 29 (11): 985–995. CiteSeerX10.1.1.101.5792. doi:10.1109/TSE.2003.1245300.CS1 maint: Multiple names: authors list (link)
  25. ^Miyazaki, Y. Terakado, M. Ozaki, K. Nozaki, H. (1994). 'Robust regression for developing software estimation models'. Journal of Systems and Software. 27: 3–16. doi:10.1016/0164-1212(94)90110-4.CS1 maint: Multiple names: authors list (link)
  26. ^Lo, B. Gao, X. 'Assessing Software Cost Estimation Models: criteria for accuracy, consistency and regression'.CS1 maint: Multiple names: authors list (link)
  27. ^Hughes, R.T. Cunliffe, A. Young-Martos, F. (1998). 'Evaluating software development effort model-building techniquesfor application in a real-time telecommunications environment'. IEE Proceedings - Software. 145: 29. doi:10.1049/ip-sen:19983370.CS1 maint: Multiple names: authors list (link)
  28. ^Grimstad, S. Jørgensen, M. (2006). 'A Framework for the Analysis of Software Cost Estimation Accuracy'.CS1 maint: Multiple names: authors list (link)
  29. ^Jørgensen, M. Grimstad, S. 'How to Avoid Impact from Irrelevant and Misleading Information When Estimating Software Development Effort'.CS1 maint: Multiple names: authors list (link)
  30. ^Bentley, Jon (1985). 'Programming pearls'. Communications of the ACM(fee required) format= requires url= (help). 28 (9): 896–901. doi:10.1145/4284.315122. ISSN0001-0782.
  31. ^Gödel, Escher, Bach: An Eternal Golden Braid. 20th anniversary ed., 1999, p. 152. ISBN0-465-02656-7.
  32. ^AFCAA Revic 9.2 manual Revic memorial site
  33. ^Seer for Software Datasheet Galorath site
  34. ^'SEER for Software Estimation - Technical Features'.
  35. ^SLIM Suite Overview
  36. ^SLIM-WebServices
  37. ^TruePlanning Integrated Cost Models PRICE Systems site

External links[edit]

  • Mike Cohn's Estimating With Use Case Points from article from Methods & Tools: http://www.methodsandtools.com/archive/archive.php?id=25
  • Resources on Software Estimation from Steve McConnell: https://web.archive.org/web/20080501183154/http://www.construx.com/Page.aspx?nid=297

Effort Estimation In Software Engineering

Retrieved from 'https://en.wikipedia.org/w/index.php?title=Software_development_effort_estimation&oldid=893151297'
Categories:

Cost Estimation In Software Engineering Ppt

Hidden categories:

I have this quick question regarding cost estimation using Function Points.

We are doing a small (course project) project for a small company and it's for free, of course. Our instructor wants us to provide a cost estimate of the project using Function Points.

Computing the Function Points is somewhat straight forward (sort of).

Our problem now is on deriving other values (metrics) e.g. length of project duration, rate for the cost of the project per function points.

Obviously, we don't have historical data to based our estimate on. Is there some sort of 'typical' cost per function point that we could follow out there? Please help.

ultrajohn
ultrajohnultrajohn

3 Answers

Engineering

Here are some formulas that Capers Jones devised from relatively high number of counted projects:

Given you have your FP count you can determine :

Software cost estimation in software engineering
  • Schedule in calendar months: FP^0.4
  • Defect potential: FP^1.25
  • Software development staffing levels: FP/150

You might go for industry standards for your technology to obtain FP/Person Months or Hours/FP if you don't have historical data (which is your case).

VanjaVanja

Software Engineering by Hans van Vleet quotes that one function point is 100 lines of COBOL (!), if that's any good to you. There's data out there for converting lines of code to staff-months, project duration, etc.

Do you have access to a library? Start with a general book on software engineering, or one of Steve McConnell's various books. They will contain data, and references to more data.

  • I mustn't forget Software Estimation. Personally I haven't yet read it that, but his other books are excellent.

Be aware that tracking progress and controlling the project scope are probably at least as important to success as the original estimate.

MarkJMarkJ

A simple GOOGLE will give you MANY results to start from

Adriaan StanderAdriaan Stander

Not the answer you're looking for? Browse other questions tagged software-estimationfunction-points or ask your own question.