University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment Framework Pongtip.

Slides:



Advertisements
Similar presentations
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation.
Advertisements

Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
University of Southern California Center for Systems and Software Engineering Shrinking the Cone of Uncertainty with Continuous Assessment Pongtip Aroonvatanaporn.
University of Southern California Center for Systems and Software Engineering Design-Code Review Preparation Pongtip Aroonvatanaporn CSCI577b Spring 2012.
University of Southern California Center for Systems and Software Engineering Core Capability Drive-Through (CCD) Feedback Pongtip Aroonvatanaporn CSCI.
Automated Software Cost Estimation By James Roberts EEL 6883 Spring 2007.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
COCOMO Suite Model Unification Tool Ray Madachy 23rd International Forum on COCOMO and Systems/Software Cost Modeling October 27, 2008.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy, Ricardo Valerdi USC Center for Systems and Software.
3/14/2006USC-CSE1 Ye Yang, Barry Boehm Center for Software Engineering University of Southern California COCOTS Risk Analyzer and Process Usage Annual.
University of Southern California Center for Software Engineering CSE USC System Dynamics Modeling of a Spiral Hybrid Process Ray Madachy, Barry Boehm,
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE1 Requirements Elaboration Ali Afzal Malik, Barry Boehm,
University of Southern California Center for Systems and Software Engineering Integrating Systems and Software Engineering (IS&SE) with the Incremental.
Smi COCOMO II Calibration Status COCOMO Forum October 2004.
Integrated COCOMO Suite Tool for Education Ray Madachy 24th International Forum on COCOMO and Systems/Software Cost Modeling November.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 COCOMO II Maintenance Model Upgrade Vu Nguyen, Barry Boehm.
Presenting a JUnit Testing Framework to a Multi-University Community Romerl Elizes May 4, 2007.
10/25/2005USC-CSE1 Ye Yang, Barry Boehm USC-CSE COCOTS Risk Analyzer COCOMO II Forum, Oct. 25 th, 2005 Betsy Clark Software Metrics, Inc.
Software project management (intro)
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy, Barry Boehm USC Center for Systems and Software Engineering.
University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE A Constrained Regression Technique for COCOMO Calibration Presented.
University of Southern California Center for Systems and Software Engineering Assessing the IDPD Factor: Quality Management Platform Project Thomas Tan.
Expert COSYSMO Update Raymond Madachy USC-CSSE Annual Research Review March 17, 2009.
COCOMO II Database Brad Clark Center for Software Engineering Annual Research Review March 11, 2002.
University of Southern California Center for Systems and Software Engineering Decision Support for Value-Based Software Testing Framework Qi Li, Barry.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 Ray Madachy USC Center for Systems and Software Engineering
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
University of Southern California Center for Systems and Software Engineering 1 WikiWinWin: Rapid Collaborative Requirements Negotiation Using Wiki and.
What is Business Analysis Planning & Monitoring?
1 Beyond California Water Plan Update 2005 California Water and Environmental Modeling Forum Annual Meeting, March 3 rd, 2005.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
HIT241 - RISK MANAGEMENT Introduction
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 6 : Software Metrics
Software Project Management Lecture # 7. Outline Project Scheduling.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
University of Southern California Center for Systems and Software Engineering Vu Nguyen, Barry Boehm USC-CSSE ARR, May 1, 2014 COCOMO II Cost Driver Trends.
University of Southern California Center for Systems and Software Engineering COCOMO Suite Toolset Ray Madachy, NPS Winsor Brown, USC.
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
MSE Portfolio Presentation 1 Doug Smith November 13, 2008
Proposed Metrics Definition Highlights Raymond Madachy Naval Postgraduate School CSSE Annual Research Review March 8, 2010.
University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment: Tracking the.
Smi COCOMO II Calibration Status USC-CSE Annual Research Review March 2004.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
University of Southern California Center for Systems and Software Engineering 1 © USC-CSSE Integrating Case-Based, Analogy-Based, and Parameter-Based Estimation.
University of Southern California Center for Systems and Software Engineering Core Capability Drive-Through Preparation Pongtip Aroonvatanaporn CSCI 577b.
University of Southern California Center for Systems and Software Engineering 26 th Annual COCOMO Forum 1 November 2 nd, 2011 Mauricio E. Peña Dr. Ricardo.
University of Southern California Center for Systems and Software Engineering Barry Boehm, USC CS 510 Fall 2010 Software Planning Guidelines.
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
1 Agile COCOMO II: A Tool for Software Cost Estimating by Analogy Cyrus Fakharzadeh Barry Boehm Gunjan Sharman SCEA 2002 Presentation University of Southern.
Estimate Testing Size and Effort Using Test Case Point Analysis
SKILL ASSESSMENT OF SOFTWARE TESTERS Case Study
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
An Empirical Study of Requirements-to-Code Elaboration Factors
Constructive Cost Model
Pongtip Aroonvatanaporn CSCI 577b Spring 2011 March 25, 2011
SLOC and Size Reporting
COCOMO Model Basic.
Personal Software Process Software Estimation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Core Capability Drive-Through Workshop
Relating Effort Reporting to Project Estimation
Faster Cost Estimate Convergence with SLOC-Check
Chapter 26 Estimation for Software Projects.
Presentation transcript:

University of Southern California Center for Systems and Software Engineering Reducing Estimation Uncertainty with Continuous Assessment Framework Pongtip Aroonvatanaporn Annual Research Review March 8, 2011

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending the framework 03/08/20112© USC-CSSE

University of Southern California Center for Systems and Software Engineering The Cone of Uncertainty 03/08/20113© USC-CSSE Inexperienced teams Experienced teams Also applies to project estimation accuracy

University of Southern California Center for Systems and Software Engineering Definition Inexperience –Inexperienced in general –Experienced, but in a new domain –Anything that is new with little knowledge or experience 03/08/2011© USC-CSSE4

University of Southern California Center for Systems and Software Engineering The Problem Experienced teams can produce better estimates –Use “yesterday’s weather” –Past projects of comparable size –Past data of team’s productivity –Knowledge of accumulated problems and solutions Inexperienced teams do not have this luxury No tools or data that monitors project’s progression within the cone of uncertainty 03/08/20115© USC-CSSE

University of Southern California Center for Systems and Software Engineering The Problem Imprecise project scoping –Overestimate vs. underestimate Manual assessments are tedious –Complex and discouraging Project estimation not revisited –Insufficient data to perform predictions –Project’s uncertainties not adjusted Limitations in software cost estimation –Models cannot fully compensate for lack of knowledge and understanding 03/08/20116© USC-CSSE

University of Southern California Center for Systems and Software Engineering The Goal Develop a framework to address mentioned issues Help unprecedented projects track project progression Reduce the uncertainties in estimation –Achieve eventual convergence of estimate and actual Must be quick and easy to use 03/08/20117© USC-CSSE

University of Southern California Center for Systems and Software Engineering Benefits Improve project planning and management –Resources and goals Improved product quality control Actual project progress tracking –Better understanding of project status –Actual progress reports 03/08/20118© USC-CSSE

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending the framework 03/08/20119© USC-CSSE

University of Southern California Center for Systems and Software Engineering Estimation Model Integration of the Unified Code Count tool and COCOMO II estimation model 03/08/201110© USC-CSSE Adjusted with REVL

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending the framework 03/08/201111© USC-CSSE

University of Southern California Center for Systems and Software Engineering Experiment Setup Performed simulation on 2 projects from USC software engineering course Project similarities –Real-client –SAIV: 24-weeks –Architected agile process, 8-member team –Size, type, and complexities –Product E-services Web content management system JSP, MySQL, Tomcat 03/08/201112© USC-CSSE

University of Southern California Center for Systems and Software Engineering Obtaining Data Source code files retrieved from Subversion server Simulation of assessment done weekly Both teams were closely involved –Provide estimation of module completion –Rationale 03/08/201113© USC-CSSE

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending the framework 03/08/201114© USC-CSSE

University of Southern California Center for Systems and Software Engineering Results Accumulated effort Initial estimate Adjusted estimate ~50 % ~18% 03/08/201115© USC-CSSE

University of Southern California Center for Systems and Software Engineering Results Project progress reaches 100% –Reflects reality Estimation errors reduced to 0% 03/08/201116© USC-CSSE

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending the framework 03/08/201117© USC-CSSE

University of Southern California Center for Systems and Software Engineering Conclusion Both teams demonstrated the same phenomenon –Gaps in estimation errors decrease –Representation of “cone of uncertainty” Estimation framework reflects the reality of project’s progress Assessment process was quick and simple –Requires few inputs –Little analysis needed Assessment framework help inexperienced team improve project tracking and estimation 03/08/201118© USC-CSSE

University of Southern California Center for Systems and Software Engineering Future Work Tool development currently in progress Determine the frequencies of assessments required –The sweet spot Observe prediction accuracies –Experiment on projects of larger scale –Experiment on projects of different types Use concept of value-based –Apply weights to calculation of each software module based on priorities and criticalities –How to adjust COCOMO parameters 03/08/201119© USC-CSSE

University of Southern California Center for Systems and Software Engineering Outline Introduction and Motivation Framework Model Experiment Results Conclusion and future work Extending to the Framework 03/08/201120© USC-CSSE

University of Southern California Center for Systems and Software Engineering Problem and Motivation No effective way to improve COCOMO estimation accuracy –How to adjust the parameters? –Often done by guessing, not accurate, not realistic Need an approach to assess team performance –Good performance is essential in achieving successful project –Aid in stabilization and synchronization of the team 03/08/2011© USC-CSSE21

University of Southern California Center for Systems and Software Engineering Approach Develop an assessment framework to aid COCOMO estimation Determine the criteria for adjusting COCOMO parameters Develop a survey-based approach to implement the framework –Questions correlate to COCOMO cost drivers and scale factors 03/08/2011© USC-CSSE22

University of Southern California Center for Systems and Software Engineering Survey Question Development Team members assess and evaluate their own team –operational concept engineering, requirements gathering, business analysis, collaboration, etc. Identify strengths, weaknesses, issues. –Things done right and things done wrong Survey questions derived based on these assessment data 03/08/2011© USC-CSSE23 Team’s assessment performed by each team member Strengths, weaknesses, issues, etc. Survey questions

University of Southern California Center for Systems and Software Engineering Question  COCOMO How to determine the effects? –Which COCOMO parameters are affected by the question? –How much? Two approaches: –Finding correlation –Expert advice 03/08/2011© USC-CSSE24

University of Southern California Center for Systems and Software Engineering Team Performance Correlation 03/08/2011© USC-CSSE25 Issues filed by IV&Vers Team grades Client satisfaction Estimated effort from COCOMO Actual effort reported by team Survey questions Survey Compare Correlation

University of Southern California Center for Systems and Software Engineering Expert Advice Survey experts for opinions Provide ratings for weights on effects –Relationship between question and COCOMO parameters –Some questions affect COCOMO drivers more than others Ratings can be averaged to determine actual weights 03/08/2011© USC-CSSE26

University of Southern California Center for Systems and Software Engineering Expert Advice SubjectQuestionProductPlatformPersonnelProject RELYDATADOCUCPLXRUSETIMESTORPVOLACAPAPEXPCAPPLEXLTEXPCONTOOLSCEDSITE Prototyping Do you prototype regularly to verify the validity of requirements among all the stakeholders?0.5NA NA NA0.20.4NA Prototyping Do the prototypes address the critical use- cases, GUI issues, and risks and evolve over time as requirements change?0.9NA NA NA 0.5 Business process Do you understand the current and proposed business process or workflow? This includes the current system that is being utilized and what needs to be improved0.3NA NA /08/2011© USC-CSSE27 Relationship between question/answer and COCOMO parameter it affects

University of Southern California Center for Systems and Software Engineering Benefit Improved process to adjusting project estimates –Adjustments made based on data, not guesses Faster convergence of “Cone of Uncertainty” –Less range of possible product outcomes –More accurate project tracking 03/08/2011© USC-CSSE28

University of Southern California Center for Systems and Software Engineering Tool Support Utilize IBM Jazz Server technology –Focus on distributed environment support –Provides services for user management, team management, project management Integration of Unified Code Count tool and COCOMO model –Automatic code counting –Effort calculation –COCOMO parameter adjustments 03/08/2011© USC-CSSE29

University of Southern California Center for Systems and Software Engineering Conclusion A semi-automated framework to reduce estimation uncertainty throughout project life cycle Integration of Code Count and COCOMO –Helps track project progress –Shows improved estimates Survey-based assessment –Aid in team synchronization and stabilization –Automatically adjust COCOMO parameters to reflect reality of project 03/08/2011© USC-CSSE30

University of Southern California Center for Systems and Software Engineering Questions? 03/08/2011© USC-CSSE31

University of Southern California Center for Systems and Software Engineering Backup Slides 03/08/2011© USC-CSSE32

University of Southern California Center for Systems and Software Engineering 03/08/2011© USC-CSSE33

University of Southern California Center for Systems and Software Engineering 03/08/2011© USC-CSSE34

University of Southern California Center for Systems and Software Engineering 03/08/2011© USC-CSSE35

University of Southern California Center for Systems and Software Engineering 03/08/2011© USC-CSSE36

University of Southern California Center for Systems and Software Engineering 03/08/2011© USC-CSSE37

University of Southern California Center for Systems and Software Engineering References 1.Boehm, B., Abts, C., Brown, A. W., Chulani, S., Clark, B. K., Horowitz, E., Madachy, R., Reifer, D. J., and Steece, B. Software Cost Estimation with COCOMO II, Prentice-Hall, Cohn, M. Agile Estimating and Planning, Prentice-Hall, DeMarco, T. Controlling Software Projects: Management, Measurement, and Estimation, Yourdon Press, Fleming, Q. W. and Koppelman, J. M. Earned Value Project Management, 2 nd edition, Project Management Institute, Jorgensen, M. and Boehm, B. “Software Development Effort Estimation: Formal Models or Expert Judgment?” IEEE Software, March-April 2009, pp Nguyen, V., Deeds-Rubin, S., Tan, T., and Boehm, B. "A SLOC Counting Standard," COCOMO II Forum Stutzke, R. D. Estimating Software-Intensive Systems, Pearson Education, Inc, /08/201138© USC-CSSE

University of Southern California Center for Systems and Software Engineering Related Work Software estimation methods –Estimating Software-Intensive Systems [Stutzke, 2005] –Expert-judgement vs. parametric-model [Jorgensen, 2007] –Agile estimation [Cohn, 2005] Software estimation uncertainty –PERT sizing methods [Nguyen, 2007] –Wideband Delphi estimate distributions [Boehm, 2000] Software project tracking methods –Controlling Software Projects [DeMarco, 1982] –Earned Value Management [Fleming, 2000] 03/08/201139© USC-CSSE