+ Incremental Development Productivity Decline Ramin Moazeni, Daniel Link.

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

1 H2 Cost Driver Map and Analysi s Table of Contents Cost Driver Map and Analysis 1. Context 2. Cost Driver Map 3. Cost Driver Analysis Appendix A - Replica.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
WHY BOTHER TO UNIT TEST Suprinder Pujji. OVERVIEW What is Unit testing Emphasis of Unit testing Benefits of Unit Testing Popular Misconceptions Prevailing.
11/08/06Copyright 2006, RCI1 CONIPMO Workshop Out-brief 21 st International Forum on COCOMO and Software Cost Modeling Donald J. Reifer Reifer Consultants,
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
University of Southern California Center for Systems and Software Engineering Assessing the IDPD Factor: Quality Management Platform Project Thomas Tan.
Software Defect Modeling at JPL John N. Spagnuolo Jr. and John D. Powell 19th International Forum on COCOMO and Software Cost Modeling 10/27/2004.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
Organizational Influences and Life Cycle
1 COSYSMO 2.0: A Cost Model and Framework for Systems Engineering Reuse Jared Fortune University of Southern California Ricardo Valerdi Massachusetts Institute.
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.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Adaptive Video Coding to Reduce Energy on General Purpose Processors Daniel Grobe Sachs, Sarita Adve, Douglas L. Jones University of Illinois at Urbana-Champaign.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Information System Economics Software Project Cost Estimation.
Chapter 4 How Businesses Work McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
Software Engineering CEN 4010 What is Software Engineering Historical Aspects NATO group coined the phrase during a 1968 meeting in Garmisch, Germany (
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Quality Software Project Management Software Size and Reuse Estimating.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
Overview of COCOMO Reporter:Hui Zhang
University of Southern California Center for Systems and Software Engineering © 2010, USC-CSSE 1 Trends in Productivity and COCOMO Cost Drivers over the.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
1 Summarize from: Sustainability of ERPS performance outcomes: The role of post-implementation review quality Nicolaou A. and Bhattacharya S. International.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Chapter 10 Information Systems Development. Learning Objectives Upon successful completion of this chapter, you will be able to: Explain the overall process.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
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.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
IS4500 – SOFTWARE QUALITY ASSURANCE TESTING STRATEGIES Copyright © 2012 by Martin Schedlbauer, Ph.D. All Rights Reserved. Do Not Duplicate or Distribute.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
HO CHI MINH CITY NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY SYSTEM ANALYSIS AND DESIGN LECTURER: Nguyen Thanh Tung.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
1 Determining How Costs Behave. 2 Knowing how costs vary by identifying the drivers of costs and by distinguishing fixed from variable costs are frequently.
THE FAMU-CIS ALUMNI SYSTEM
Appendix B Agile Methodologies
Managing the System PPT SOURCE : Shari L. Pfleeger Joann M. Atlee.
What do you need to know about XP?
SLOC and Size Reporting
COCOMO Model Basic.
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Planning and Estimation.
Ramin Moazeni Winsor Brown Barry Boehm
Appendix B Agile Methodologies
Center for Software and Systems Engineering,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Planning and Estimation.
Presentation transcript:

+ Incremental Development Productivity Decline Ramin Moazeni, Daniel Link

+ Introduction Incremental development is the most common development paradigm these days Reduces risks by allowing flexibility per increment Incremental Development Productivity Decline (IDPD) Based on our logical considerations and industry data, we believe there is generally a decrease in productivity between increments The decline is due to factors such as previous-increment breakage and usage feedback, increased integration and testing effort. 10/17/12 2 Copyright © USC-CSSE

+ Incremental Development - Definition Any development effort with: More than one step More than one released build Each steps build on previous ones and would not be able to stand alone without the steps that came before it Increments have to Contribute a significant amount of new functionality Add a significant amount of size (not less than 1/10 th of the previous one) Not just a bug fix of the previous one (otherwise counted as part of that one) 10/17/12 3 Copyright © USC-CSSE

+ Effects of IDPD on Number of Increments Model relating productivity decline to number of builds needed to reach 8M SLOC Full Operational Capability Assume Build 1 production of 2M SLOC/PM PM/24mo. = 833 developers Constant Staff size for all builds 10/17/12 4 Copyright © USC-CSSE

+ Exploration of IDPD factor Based on experience on several projects, the following sources of variations have been identified: 10/17/12 5 Copyright © USC-CSSE

+ Cost estimation for incremental development Closed ended incremental projects (time limited or number of increments) Open ended incremental projects Two interests: Cost of all increments at start of project Important for decision whether to go ahead with project A priori, therefore imprecise Cost of the next increment Refined, more precise 10/17/12 6 Copyright © USC-CSSE

+ Cost estimation for incremental development (continued) Average decline factor of productivity would be good for both types of estimation May vary for different categories of projects 10/17/12 7 Copyright © USC-CSSE

+ Productivity Conventionally: In software development: 10/17/12 8 Copyright © USC-CSSE

+ IDPD type characteristics Software CategoryImpact on IDPD Factor Non-DeployableThrow-away code. Low Build-Build integration. High reuse. IDPD factor lowest than any type of deployable/operational software Infrastructure SoftwareOften the most difficult software. Developed early on in the program. IDPD factor likely to be the highest. Application SoftwareBuilds upon Infrastructure software. Productivity can be increasing, or at least “flat” Platform SoftwareDeveloped by HW manufacturers. Single vendor, experienced staff in a single controlled environment. Integration effort is primarily with HW. IDPD will be lower due to the benefits mentioned above. Firmware (Single Build) IDPD factor not applicable. Single build increment. 10/17/12 9 Copyright © USC-CSSE

+ Research Hypotheses 1) There is a decline in productivity over increments For typical cases Floor may be reached, after which it rises again Methods to prove Mathematically Data from experience/history Controlled experiments 2) Decline varies by domain Can be proven by statistics (ANOVA) 10/17/12 10 Copyright © USC-CSSE

+ Definitions Build All the code written up to a release Increment Only the code written between one build and the next Any line of code is written for a given increment 10/17/12 11 Copyright © USC-CSSE

+ Example based on ideal data 100 KSLOC per increment DM: 24% CM: 24% IM: 24% EAF: 1.00 No code from external sources 10/17/12 12 Copyright © USC-CSSE

+ The model EKSLOC (I) = KSLOC (I-1) * (0.4*DM + 0.3*CM + 0.3*IM) EKSLOC(I) is based on what is adapted and reused from the previous increment NKSLOC(I) is the new code written for increment I KSLOC(I) = EKSLOC(I)+NKSLOC(I) IDPD(I)= NKSLOC(I)/KSLOC(I) (Cost drivers were considered but behavioral analysis was not possible with captured data. Will eventually be added when good data available. For the time being EAF=1.00) 10/17/12 13 Copyright © USC-CSSE

+ Data table 10/17/12 14 Copyright © USC-CSSE

+ KSLOC per increment 10/17/12 15 Copyright © USC-CSSE

+ Overall KSLOC 10/17/12 16 Copyright © USC-CSSE

+ IDPD 10/17/12 17 Copyright © USC-CSSE

+ IDPD factor 10/17/12 18 Copyright © USC-CSSE

+ Case studies Project 1 and 2 from “Balancing Agility and Discipline” Quality Management Project 10/17/12 19 Copyright © USC-CSSE

+ Projects 1 and 2 Two web based client–sever systems developed in Java Data mining systems Agile process similar to XP with several short iteration cycles and customer-supplied stories Productivity as new SLOC per user story Assumption: Every user story takes the same time to implement. 10/17/12Copyright © USC-CSSE 20

+ Polynomial trend line 10/17/12 21 Copyright © USC-CSSE

+ Polynomial trend line (continued) 10/17/12 22 Copyright © USC-CSSE

+ Comparison of trend lines 10/17/12 23 Copyright © USC-CSSE

+ Comparison of trend lines (continued) 10/17/12 24 Copyright © USC-CSSE

+ Quality Management Platform (QMP) Project QMP Project Information: Web-based application System is to facilitate the process improvement initiatives in many small and medium software organizations 6 builds, 6 years, different increment duration Size after 6 th build: 548 KSLOC mostly in Java Average staff on project: ~20 10/17/12 25 Copyright © USC-CSSE

+ Comparison of trend lines (continued) 10/17/12 26 Copyright © USC-CSSE

+ Trend line summary Logarithmic is best fit in all observed real-world cases Trend line alone is not enough for reasonably precise prediction of effort for next increment => Additional predictors needed 10/17/12 27 Copyright © USC-CSSE

+ Conclusions and outlook More data with detailed back stories needs to be collected Controlled experiment Use IDPD model to extend COCOMO II Expert judgments / workshops 10/17/12 28 Copyright © USC-CSSE

+ Workshop Causes of IDPD Individual experiences Does code from older increments typically need less or more effort for adaptation and reuse than the code from more recent increments? Is there a point at which code from an old increment needs no more modification? (e.g. Berkeley sockets) Which cost drivers are appropriate? What would a complete model look like? 10/17/12 29 Copyright © USC-CSSE

+ Hofstadter's law Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law. — Douglas Hofstadter 10/17/12Copyright © USC-CSSE 30

+ Questions? 10/17/12 31 Copyright © USC-CSSE