University of Southern California Center for Systems and Software Engineering A Model for Estimating Agile Project Schedule Acceleration Dan Ingold, USC-CSSE.

Slides:



Advertisements
Similar presentations
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
Advertisements

University of Southern California Center for Systems and Software Engineering (C) 2009 USC CSSE1 CS 577a FCR Feedback, Fall 2009 Winsor Brown, Barry Boehm,
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Testing Workflow Purpose
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Course: e-Governance Project Lifecycle Day 1
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Chapter 26 Estimation for Software Projects
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
The Comparison of the Software Cost Estimating Methods
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
1 CORADMO in 2001: A RAD Odyssey Cyrus Fakharzadeh 16th International Forum on COCOMO and Software Cost Modeling University of Southern.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
System-of-Systems Cost Modeling: COSOSIMO July 2005 Workshop Results Jo Ann Lane University of Southern California Center for Software Engineering.
1 Discussion on Reuse Framework Jared Fortune, USC Ricardo Valerdi, MIT COSYSMO COCOMO Forum 2008 Los Angeles, CA.
Iterative development and The Unified process
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 An Analysis of Changes in Productivity and COCOMO Cost.
Organizational Project Management Maturity: Roadmap to Success
Chapter : Software Process
Process: A Generic View
COCOMO-SCORM: Cost Estimation for SCORM Course Development
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
1 Software Process Models-ii Presented By; Mehwish Shafiq.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Software Engineering - I
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Systems Analysis and Design in a Changing World, Fourth Edition
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M18 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Agile Software Development Jeff Sutherland, one of the developers started it In February 2001, 17 Tools: continuous integration, automated or xUnit test,
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
CS223: Software Engineering Lecture 5: Software Development Models.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
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 Engineering (CSI 321) Software Process: A Generic View 1.
Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall
University of Southern California Center for Systems and Software Engineering Enablers and Inhibitors for Expediting Systems and Software Engineering &
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Managing Multiple Projects Steve Westerman California Department of Motor Vehicles Steve Young Mathtech, Inc.
(8) Potential required for planning with management Top-Down Estimating Method: Top-down estimating method is also called Macro Model. Using it, estimation.
UNIT – II BUSINESS PROCESS MANAGEMENT
Iterative development and The Unified process
Chapter 33 Estimation for Software Projects
Project Cost Management
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software Engineering (CSI 321)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
COCOMO II Security Extension Workshop Report
Software engineering -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.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
System Development Methods
Presentation transcript:

University of Southern California Center for Systems and Software Engineering A Model for Estimating Agile Project Schedule Acceleration Dan Ingold, USC-CSSE SSCM/COCOMO Forum 17 October 2012

University of Southern California Center for Systems and Software Engineering Project Goals Research Question: Can we quantify the schedule acceleration to be expected from employing agile techniques, given a range of development project characteristics? Goal is not to estimate what a team using poor SE/architectural practices & processes can achieve Can always cut corners to reduce schedule… for a while, at least Goal is to examine what effects the various characteristics of a project using good practices have on achieving schedule compression October 17, 2012Copyright © USC-CSSE2

University of Southern California Center for Systems and Software Engineering COCOMO for Agile Projects? COCOMO II calibrated against larger projects –Larger projects typically optimized to minimize cost –Agile projects typically optimized to minimize schedule Over-estimates schedule for smaller projects –Estimates schedule varies with cube-root of effort –Smaller projects vary with square-root of effort Optimizes 27-PM project as 2.45 persons / 11 mos. –Minimizes communication overhead, optimizes effort –But… 11 months is too long under competitive pressure October 17, 2012Copyright © USC-CSSE3

University of Southern California Center for Systems and Software Engineering (Re)introducing CORADMO Constructive Rapid Application Development Model Observations of early-agile projects completing 27- PM projects in 5 months with 5.4 persons, and even 9 persons to complete in 3 months Derivative of COCOMO II, introduced ~2000 –Implemented as COCOMO II / COPSEMO post-processor –Derived six drivers through initial two-round Delphi Lacked critical mass of data to calibrate model October 17, 2012Copyright © USC-CSSE4

University of Southern California Center for Systems and Software Engineering New CORADMO Drivers SERC RT-34 tasked to study “expediting SE” –Identified candidate firms and agencies that were successfully compressing project development time –Conducted series of onsite visits and in-depth interviews Derived expanded set of factors common across these entities, good candidates for new drivers –Product: describes nature of system to be developed –Process: characterizes the development methodology –Project: describes execution of the development effort –People: characterizes capabilities of development staff –Risk: describes stakeholder willingness to accept risk October 17, 2012Copyright © USC-CSSE5

University of Southern California Center for Systems and Software Engineering General CORADMO Structure CORADMO depends on the existence of a good baseline effort estimate; it does not estimate effort Estimated duration D is proportional to square-root of estimated effort PM Like COCOMO, CORADMO uses product of multiplier factors, rated according to project characteristics October 17, 2012Copyright © USC-CSSE6

University of Southern California Center for Systems and Software Engineering Product Factors Simplicity: simple products are easier to develop Reuse: reuse saves work (or does it?) Deferrals: postpone features to fit schedule Modeling: working models vs complete documents Maturity: fewer technologies needing development October 17, 2012Copyright © USC-CSSE7

University of Southern California Center for Systems and Software Engineering Process Factors Concurrency: serial waterfall / concurrent iteration Streamlining: bureaucracy requires “just so”? Tool support: integrated development, continuous integration, automated testing, model-to-code, etc. October 17, 2012Copyright © USC-CSSE8

University of Southern California Center for Systems and Software Engineering Project Factors Staff size: more people ≈ higher communication overhead (are factors large enough for big staff?) Collaboration: how well does team share data? MMPTs: tool support within and across domains October 17, 2012Copyright © USC-CSSE9

University of Southern California Center for Systems and Software Engineering People Factors KSAs: how senior is team? How agile is team? Single vs Multi-domain: how well do team skills cross domain boundaries (analogous to MMPTs) Compatibility: can’t we all just get along? October 17, 2012Copyright © USC-CSSE10

University of Southern California Center for Systems and Software Engineering Risk Acceptance Factors How willing are stakeholders to accept risk? –Tolerance of chaotic, evolving processes –“We’ve always done it this way.” “The manual says these are the required processes and artifacts.” –Adaptive, oriented toward product completion Many of the accelerated-development teams reviewed had compliant, risk-tolerant customers October 17, 2012Copyright © USC-CSSE11

University of Southern California Center for Systems and Software Engineering Commercial Calibration Midwest software development firm using agile Supplemented agile with additional SE processes –Detailed business process analysis –Delphi estimates of software testing effort –Risk-based situation audits –Componentized architectures –… Makes this firm reasonably comparable to complex aerospace/defense projects from which CORADMO factors derived October 17, 2012Copyright © USC-CSSE12

University of Southern California Center for Systems and Software Engineering Commercial Calibration (cont’d) Copyright © USC-CSSE13October 17, 2012

University of Southern California Center for Systems and Software Engineering Commercial Calibration (cont’d) Projects varying from 10 KSLOC to 400 KSLOC Varying levels of complexity and technology Selected rating factors based on reported project characteristics, and of firm as a whole –Product: C++ projects received Low ratings; HTML/VB projects received Very High ratings –Process: Most projects reported as “highly concurrent,” received Very High ratings –Project: Variation in staff sizes results in different ratings –People: Very senior staff rated as Very High –Risk: Consistent, rigorous and balanced approach yielded Nominal risk ratings October 17, 2012Copyright © USC-CSSE14

University of Southern California Center for Systems and Software Engineering Calibration Discussion Acceptable results for first-cut –One outlier discarded, described as having high requirements churn –Tends to over-estimate schedule compression Outlier suggests Product may require sub-factor for requirements churn: perhaps “stability?” Process within narrow range Project within narrow range People factor has single rating –May not extend to wider range or less capable staff –But… rapid projects often employ most-senior staff October 17, 2012Copyright © USC-CSSE15

University of Southern California Center for Systems and Software Engineering Decision Support Case Study Hypothetical company, composite of real affiliates of USC CSSE Illustrates use of CORADMO tool to support decision to move to more agile approach Evaluate as-is and to-be conditions, as rated by model sub-factors Determine potential schedule compression through adoption of new strategy October 17, 2012Copyright © USC-CSSE16

University of Southern California Center for Systems and Software Engineering Case Study—As-is Evaluate current state against factors Use to inform decision on change to more rapid development Overall acceleration factor of current state = 1.01 Copyright © USC-CSSE17October 17, 2012

University of Southern California Center for Systems and Software Engineering Case Study—Initial To-Be Produce artifacts more concurrently Causes reductions in –Technology maturity –SE tool support –General SE KSAs –Team compatibility Expected 5% schedule improvement Saw 4% schedule increase Copyright © USC-CSSE18October 17, 2012

University of Southern California Center for Systems and Software Engineering Case Study—Final To-Be Restore reduced factors to baseline, by being aware of the potential problems Choose to –Perform more activities concurrently –Improve bureaucratic internal and external processes Schedule improves by 8% Copyright © USC-CSSE19October 17, 2012

University of Southern California Center for Systems and Software Engineering Case Study Shortcomings Case study illustrates some problems with using the factors in the model We really would have expected some more noticeable change in schedule The expected improvements and discovered shortfalls are so small as to be lost in the noise –Suggests either that the factors are too small –Or that the method of combining sub-factors (in this example, by averaging them) is incorrect So, more work to be done… October 17, 2012Copyright © USC-CSSE20

University of Southern California Center for Systems and Software Engineering Further Issues How to handle contribution of sub-factors –Average, additive, multiplicative, preponderance? –Offsetting: does a very-low complement a very-high? Factors complete and correct? Too many factors (too complex)? Accuracy, consistency of how factors would be coded by potential users Overall range of factor multipliers, , (3.4:1) seems consistent with reported range of schedule compression in agile projects, but… October 17, 2012Copyright © USC-CSSE21

University of Southern California Center for Systems and Software Engineering Next Steps Need additional data on wider range of projects that would be characterized as “rapid” or “agile” So, looking for volunteers who would be willing to share project performance data Conducting workshop here to discuss factors –Delphi to uncover omitted (or superfluous) factors –Effect of contravening factors –Sufficient range of multiplier factors October 17, 2012Copyright © USC-CSSE22

University of Southern California Center for Systems and Software Engineering Questions? Copyright © USC-CSSE23October 17, 2012