1 / 30

Software Cost Estimation (SCE)

Software Cost Estimation (SCE). By: Abdulrahman Sawayfeh April 2011. Cost estimation is very important to estimate the cost of the project. It is necessary for: Budgeting Bidding Evaluation. SCE is different from traditional project costing. How?. SCE requires extra effort

juan
Download Presentation

Software Cost Estimation (SCE)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Cost Estimation(SCE) By: AbdulrahmanSawayfeh April 2011

  2. Cost estimation is very important to estimate the cost of the project It is necessary for: Budgeting Bidding Evaluation

  3. SCE is different from traditional project costing. How? SCE requires extra effort SCE is performed quickly Experience needed Bias

  4. Causes of inaccurate estimations Imprecise and changing requirements New software projects are mostly different form the previous similar ones. Software practitioners don't collect enough information about past projects. Estimates are forced to match the resources available.

  5. Who Should perform the estimate? Common view: People who are directly involved with the implementation are involved in the estimate Opposing view: The estimate should be performed by an independent cost estimation team who can provide an unbiased estimate.

  6. Types of Estimation Techniques Algorithmic models Expert Judgment Machine learning

  7. A. Algorithmic Models SCE mainly uses algorithmic models Mathematical formula is used They are generated by analyzing historical data The accuracy of the model can be improved by calibrating the model to the project environment

  8. A. Algorithmic Models Algorithmic models provide direct estimate of effort or duration

  9. A. Algorithmic Models Effort = project size/productivity The relation between effort and project size is assumed to be linear. Most models allow for non-linear relationships by introducing economies or diseconomies of scale In other words: productivity varies depending on project size

  10. A. Algorithmic Models A study which consisted of 60 projects at IBM federal systems division observed the following results: PM: Person months KLOC: 1000 lines of code

  11. B. Expert Judgment Consultation with one or more local experts. This method relies on the experience of the expert’s knowledge in similar development environments. Because every project is unique, then there are obvious risks associated with this technique because some unique features may consume resources more than expected.

  12. B. Expert Judgment The accuracy depends on the expert competency Studies showed that about 62% of cost estimators use this techniques

  13. B. Expert Judgment Advantages Utilizing the experience Adaptation to exceptional circumstances

  14. B. Expert Judgment Disadvantages Accuracy is limited by the competency of the estimator Estimation can be biased Incomplete benchmarking

  15. B. Expert JudgmentWideband DELPHI Approach Gather the opinions of a group of experts with the aim of producing an accurate unbiased estimate It is a structured technique of expert judgment

  16. B. Expert JudgmentWideband DELPHI Approach The procedure: Specification and estimation form issued by the coordinator. A group meeting is held to discuss the product and estimation issues. Experts produce an independent estimate. Estimates are returned indicating the median estimate and the expert’s personal estimate. Another group meeting is held to discuss results. Experts prepare a revised independent estimate. Steps 3-6 are repeated until a consensus is reached by the panel of experts.

  17. B. Expert JudgmentWideband DELPHI Approach Advantages Removes politics from estimate The estimate is usually unbiased Group discussion ensures that estimation issues are not ignored

  18. B. Expert JudgmentWideband DELPHI Approach Disadvantages Time consuming Very skilled and experienced staff needed

  19. C. Machine Learning

  20. This technique aims at producing accurate estimates It is based on utilization of past experience in cost estimation of new projects by establishing a learning process It mainly estimates the expected effort C. Machine Learning

  21. This technique involves the following tools: • Neural Networks •  Fuzzy Logic •  Case-Based Reasoning •  Analogy •  Rule-Based •  Regression Trees •  Hybrid System C. Machine Learning

  22. Neural Networks Different layers with neurons or processing elements C. Machine Learning

  23. Fuzzy Logic Systems • Used for effort prediction • Rarely used • It assigns a truth value for each input variable (0 - 1), 1 represents the absolute truth • It is suitable for inexperienced estimators • If Program Y < (0.7) THEN development effort = time short (0.8) • The fuzzy rule indicates that if a truth value of greater than 0.7 then the rule will ‘fire’ and produce a short development time, with a confidence of 0.8. C. Machine Learning

  24. Case Based Reasoning (CBR) • A method for recording observations on previous projects (documentation) • When facing similar circumstances, choose the closest case and combine matching cases C. Machine Learning Accuracy of CBR is estimated to be better than Algorithmic models and close to experience judgment.

  25. Analogy Involves comparing one or more completed projects in a similar domain to produce new estimates. Procedure Selection of analogies Assessing similarities and differences Assessment of analogy quality Consideration of any special cases Creating the estimate A famous software uses this technique is ANGEL C. Machine Learning

  26. Rule Based System • Used for effort prediction • Compares facts about the new project that are stored in a knowledge base against a stored set of rules • When a match is made the rule will fire, which can create a chaining effect with one rule • The process continues until there is no more rules to fire and the output is presented to the user C. Machine Learning • IF module_size > 100 AND interface_size > 5 THEN error_prone_module • IF error_prone_module AND developer_experience < 2 THEN redesign_required

  27. Regression Trees • A regression tree is created by examining what attributes can classify the data and then an algorithm constructs the tree • Splitting nodes where appropriate C. Machine Learning

  28. Hybrid Neural Fuzzy Systems Fuzzy concepts combined with neural networks Truth values given to input variables C. Machine Learning

  29. Comparison between Machine Learning techniques C. Machine Learning

More Related