Applying Earned Value Management to Agile Software Development
Applying Earned Value Management to Agile Software Development Programs Bob Hunt Michael Thompson Gordon Kranz Galorath Federal Incorporated INTEGRITY INNOVATION EXCELLENCE 1 Agenda INTEGRITY INNOVATION EXCELLENCE Background to Agile Agile/Hybrid Agile software development implementation Establishing a process for developing the technical, cost and schedule baseline Applying Earned Value Management to Agile Programs Summary Back Up 2 How Formal Is Agile? Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Agile is NOT a Method its a mindset! Individual Methods are Formal sort-of INTEGRITY INNOVATION EXCELLENCE 3 Agile 101 How It Works Agile is a set of software development methods in which solutions evolve through collaboration Integrated teams include PeopleSoft SMEs to configure the product, PeopleSoft Developers, Data Integration Developers, and Testers Development is iterative The traditional software development phases are seen as continuous activities Work is broken into smaller tasks
Multiple iterations may be required to release a product Documentation is created as-built For each iteration, a working product is demonstrated to stakeholders Emphasizes value-driven approach The usual project constraints still apply Focusing on value allows most important functionality to be delivered first Technology agnostic INTEGRITY INNOVATION EXCELLENCE 4 Agile 101 Development Approach Metaphor The waterfall approach is akin to painting by numbers, as it calls for a fully formed idea at the start, which is built incrementally, piece by piece without flexibility With Agile, we start with a concept: for several large software development programs, the COTS product is the starting point Then, we iteratively build a rough version and validate it, slowly improving the definition and quality INTEGRITY INNOVATION EXCELLENCE 5
Agile 101 Key Agile Terminology Term Definition Scrum A framework for team collaboration on complex software projects. 1-10 people (have seen up to 20) Sprint A short multiple-week period where a team completely builds working, tested software. All phases of the SDLC are executed iteratively during a sprint Analysis, Design, Code, Test. 1-6 weeks (have seen up to 13 weeks) (13 conveniently give 4 sprints per year) Feature A set of specifications that can be shown in a user demonstration and oriented on system capabilities. Epic A description of how work gets done using the new software (To-Be business process). Spike A special type of story used for research and prototyping activities, which can be functional or technical. Backlog A single definitive repository for all upcoming work. It consists primarily of future features intended to address user needs and deliver business benefits, as well as architectural features required to build the product. INTEGRITY INNOVATION EXCELLENCE
6 Agile Implementation To create working software product often and to demonstrate to the customer Sprint Planning Meeting Backlog Update Product Backlog Daily Scrum/ Daily Work Scrum Process Sprint Retrospectiv e Sprint Backlog Sprint Burndown Impediment List Sprint Review Demonstrat ion Product Increment
Feature/BP Demonstrations Ensures holistic activities and iterative processes INTEGRITY INNOVATION EXCELLENCE 7 Agile 101 Sprint Breakdown Sprint Planning Meeting Product owner and scrum team meet at the start of the sprint to review the sprint goal, and select the requirements/features and corresponding tasks to be accomplished. Daily Scum/Daily Work Scrum team meets daily to review yesterdays accomplishments, plan for today, and any blockers. Sprint Review Demonstration Scrum team demonstrates sprint accomplishments (requirements and/or features implemented during that sprint) to the product owner. Sprint Retrospective The scrum team meets to discuss what to keep doing, stop doing, and start doing. Focus on what is actionable for the next sprint. Update Product Backlog The product owner continuously updates (adds to, reprioritizes, etc.) the product backlog. INTEGRITY INNOVATION EXCELLENCE
Sprint Planning Meeting Update Product Backlog Daily Scrum/ Daily Work Scrum Scrum Proces Proces ss Sprint Retrospective Sprint Review Demonstration Product Increment Sprint Backlog Sprint Burndown Impediment List PDR/CDR/TRR PDR/CDR/TRR 8 Agile 101 Recap Agile is a disciplined methodology. Agile is not unlimited or uncontrolled scope. unplanned.
undocumented. unverified. mini waterfall. trial and error. a synonym for flexible. a synonym for fast. INTEGRITY INNOVATION EXCELLENCE 9 Agile 101 - Summary Waterfall faces challenges in a large-scale ERP implementation. Significant effort to build and maintain momentum High risk of a resulting product that does not meet needs Looking for an alternative: Best candidate is Scaled Agile Framework (SAFe) Lower risk implementation Produces better results, meets large software programs vision Allows us to confirm that we are building the right thing Gets early buy-in Reduces the risk of rework when it is too late and more costly to change Improved understanding of progress process, and cost Better software development better user experience: Break work into smaller, more manageable segments Measure progress based on working software product Drive functionality working on through to completion
Emphasize showing working versions of product early and often to validate Use product to review whether it meets requirements shift to As-Built documentation Use government time and resources better by reviewing software, not paper Use cumulative assembly testing for earlier validation of product Have automated regression test bed available on go-live INTEGRITY INNOVATION EXCELLENCE 10 Agile Building Blocks* Release 1 (made up of multiple Themes/Increments Theme/Increment 1 Feature Point values applied to each Feature Epic 1 Feature 1 User Story 1 Epic 2 Feature 2 User Story 2 Epic 2 Feature 3 User Story 3 EVM work Packages identified at Epic or Theme level Sprints Cost Estimating done at the Sprint Level * These building blocks are program specific and may be called by different names
INTEGRITY INNOVATION EXCELLENCE 11 Hybrid Agile Development/Acquisition Agil e Testing and Sustainment ? INTEGRITY INNOVATION EXCELLENCE 12 Earned Value Management Process INTEGRITY INNOVATION EXCELLENCE 13 Where Does EVM fit in? As long as there is a plan and product, which can be measured EVM can be used The product backlog defines the product, and sprints are used to time phase the work. Status of each Sprint is rolled up at the EPIC Level, which in this example is the Control Account (CA) Below the EPIC is the Feature at the Work Package (WP) level, which breaks the EPIC into functional packages Features are decomposed into Stories and Story points Sprints are statused by, in this case, Stories and Story Points, which are maintained in an Agile Program Management Tool As Features are completed the percent complete is rolled up to the EPIC level
2015 Copyright Galorath Federal Incorporated 14 Documentation Traceability Contractor CWBS Matrix CSDR CWBS Matrix EVM Agile Traceability # of SSS Requirements Epics Features Which Features are mapped to which SubEPIC (WP) Initial Features Priorities & LOE. Xls Progress Roll Up Earned Value Taken at the EPIC Level Progress at EPIC Level Rolled into EVM Progress EPICS lowest level in the schedule EVM Progress tracked in schedule at EPIC Level EPIC Progress Rolled up Module Status AGILE Tool Provides Sprint Status Story Points Assigned Feature Level Sub-EPIC and Feature Completion Rolled up to EPIC Level Approach Allows Following
Progress Reports Earned Value Status at EPIC Level Progress against % EPIC Completion % Module Completion % Feature Completion Total % SSS Completion Metrics and Trends Feature Burn Down / Up EPIC Burn Down / Up SSS Burn Down / Up Sprint Velocity by Team and over time Supports EAC Development from a variety of angles for cross verification Notional Sprint Data Module HCM Configuraton and Development Sprint 1 Determine Story Points Sprint 2 Determine Story Points Total Story Points Date 3-Sep-16 4-Sep-16 5-Sep-16 6-Sep-16 7-Sep-16 8-Sep-16
Notional Story Point Burndown Chart Notional Sprint Burndown Bar Chart Summary Fixed Price and/or LOE contracts in the early phases should be written so that key value-added metrics are collected and reported during each increment Estimators may have to employ a variety of software estimating methodologies within a single estimate to model the blended development approaches being utilized in todays development environments An agile estimating process can be applied to each iteration/sprint Future Increments can be estimated based on most recent/successful IID performance Cost estimators will have to scrutinize these programs like a schedule analyst might to determine the most likely IOC capabilities and associated date The number of increments are an important cost driver as well as an influential factor in uncertainty/risk modeling INTEGRITY INNOVATION EXCELLENCE 22 Summary All of the estimation methods are susceptible to error, and require accurate historical data to be useful
within the context of the organization When developers and estimators use the same proxy for effort, there is more confidence in the estimate INTEGRITY INNOVATION EXCELLENCE 23 Recommended Reading The Death of Agile blog Agile Hippies and The Death of the Iteration blog Story Point Inflation 5 INTEGRITY INNOVATION EXCELLENCE 24 Endnotes 1, 2, 4, 10, 11: Larman, C. (2010). Agile and Iterative Development: A Manager's Guide. 3: Kilgore, J. (2012). Senior Associate, Kalman & Company, Inc. 5, 6, 7, 8: Agile Alliance. (2012). Agile Alliance. Retrieved 2012, from http://www.agilealliance.org
9: Coaching, T. L. (n.d.). Rally Software Scaling Software Agility. 12: Bittner, K., & Spence, I. (2006). Managing Iterative Software Development Projects. Addison-Wesley Professional. INTEGRITY INNOVATION EXCELLENCE 25 Additional References Cohn, M. (2009). Succeeding with Agile Software Development using Scrum. Dooley, J. (2011). Software Development and Professional Practice. Gack, G. (2010). Managing the Black Hole. Royce, W., Bittner, K., & Perrow, M. (2009). The Economics of Iterative Software Development: Steering Towards Better Business Results. 5 Addision Wesley Professional. Smith, G., & Sidky, A. (2009). Becoming Agile in an Imperfect World.
George, J., & Rodger, J. (2010). Smart Data (Enterprise Performance Optimization Strategy). INTEGRITY INNOVATION EXCELLENCE 26 Contact Information Bob Hunt Phone: 703.201.0651 Mike Thompson Email: [email protected] Email: [email protected] Phone: 301.904.1103 Gordon Kranz Email: [email protected] Phone: 571.268.8168 INTEGRITY INNOVATION EXCELLENCE 27 BACK UP
2015 Copyright Galorath Federal Incorporated 28 IT Project Success Figure 1. Distribution of Success and Failure Across Project Sizes 20% to 30% Failures Source: Gartner (June 2012) Why they fail INTEGRITY INNOVATION EXCELLENCE 29 Five Estimating Methodologies Methodology 1: Since many Agile programs are fixed price, it is often just a matter of labor rates times quantity Methodology 2: Simple Build-up approach based on averages can be defined as: Sprint Team Size (SS) x Sprint length (Sp time) x Number of Sprints (# Sprints) Methodology 3: Structured approach based on established velocity most often used internally by the developer since detailed/sensitive data are available to them
Methodology 4: Automated Models approach based on a size metric which may be difficult to quantify Methodology 5: Factor/Complexity approach based on data generated in early iterations INTEGRITY INNOVATION EXCELLENCE 30 What to measure WHAT TO MEASURE Information Category Measure Mapping* 1 Informatio n Category Schedule and Progress 2 Resources and Cost 3 Product Size & Stability 4 Product Quality 5 Process Performance 6 Technology Effectiveness 7 Customer Satisfactio n Measurable Concepts
Milestone completio n Critic al Path Performance Work Unit Progress Incremental Capacity Pewrsonnel Effort Financial Environmental/Support Physical Size/Stability Funtio nal Size Functional Correctness Maintaniability Efficeincy Portability Usability Realibility Process Cxompliance Process Efficiency Process Effectiveness Technology Suitability Technology Volatility Customer Feedback Customer Support INTEGRITY INNOVATION EXCELLENCE Prospective Measures Mileston Dates Slack Time Requirements Traced, Requirements Tested, Problem Reports Opened, Problem Reports Closed, Reviews Completed, Change Requests Opened, Change Requests Resolved, Units Desgined, Units Coded, Units Integrated, Test Cases Attempted, Test Cases Passed, Actio n Items Opened, Actio n Items Completed Components Integrated, Functio nality Integrated StaffLevel, Development Effort, Expereince Level, StaffTurnover BCWS, BCWP, ACWP, Budget, Cost Qualaity Needed, Quality Available, Time Available, Time Used Database Size, Compomnents, Interfaces, LOC Requirements, Functio n Changes, Functio n Points Defects, Age of Defects, Technical Performanmce Time to Release, Cyclomatic Complexity Utilizatio n, Throughput, Response Time Stand Comp-0liance Operator Errors MTTF
Reference Maturity Rating, Process Audit Findings Productivity, Cycle Time Defects Contained, Defects Escaping, Rework Effo rt, Rework Components Requirements Coverage Baseline Changes Satisfaction Rating, Award Fee Request for Support, Support Time * Practical Software Measurement; McGarry, Card, Jones; Addison-Wesley2002 31 Software Development While there are many approaches to Software Development, they can generally be placed into 2 categories: Plan Driven following a version of the Waterfall Development Process Iterative Driven following a version of the Agile Development Process Plan Drive programs have an assumption of some reliable/realistic size metric, for example: Source Lines of Code (SLOC) Function Points Use Cases, User Stories, Web Pages INTEGRITY INNOVATION EXCELLENCE 32
What is Agile Software Development? In the late 1990s, several methodologies received increasing public attention Each had a different combination of old, new, and transmuted old ideas, but they all emphasized: Close collaboration between the programmer and business experts Face-to-face communication (as more efficient than written documentation) Frequent delivery of new deployable business value Tight, self-organizing teams 5 And ways to craft the code and the team such that the inevitable requirements churn was not a crisis INTEGRITY INNOVATION EXCELLENCE 33 Agile System View Legacy System Sunset Order R2 PDR R2 CDR
Personnel Full Application Fit/Gap Application Development Cumulative/Regression Pay PLT R2 PBR Final Data Maps Build R3 PDR R3 CDR R3 PBR Prelim Data Maps Final Data Maps Build R5 CDR R5 PBR Final Data Maps Build R4 CDR Spike R4 PDR Prelim Data Maps Spike
Spike Spike Spike Spike Spike Spike Infrastructure NONAGILE SI Tools Fit/Gap WATERLINE R5 PDR Prelim Data Maps Final Data Maps Cybersecurity Cybersecurity Environments Environments Systems Systems Management Management Configuration Management Systems Systems Engineering Engineering Auditing Lifecycle Management Integrated Integrated Logistics Logistics Support Support Government Testing DEVELOP ON CADENCE, RELEASE ON DEMAND
INTEGRITY INNOVATION EXCELLENCE 34 R4 PBR Build Release 3.0 R2 CDR Release 2.0 R2 PDR Prelim Data Maps Release 1.0 Data AGILE TERRITORY R2 RRE Prep R3 PDR Agile Release and Sprint Backlog Product Backlog Agile methods can start earlier in the process because we are starting with a COTS product baseline. i ng u Increas Analyze Design
Test IBR Release Backlog Preliminary Preliminary Design Design Planning Planning Feature Backlog Analyze Design Test Configure se thods e M e l i o f Ag Analyze Design Test Configure Analyze Design Test
35 How to Scale Agile methods are generally used for projects of smaller scope. Scaled Agile Framework (SAFe) builds from Agile methods to provide a construct for largescale implementations. Introduces spikes to explore various approaches to address key foundational decisions. INTEGRITY INNOVATION EXCELLENCE Increment I Increment II Future Capability Release Backlog Feature Backlog Feature Demo Feature Demo Feature Demo Feature Demo 1.0 1.1 Feature Demo
1.2 Feature Demo 2.0 2.1 Feature Demo 3.0 HR R2 R3 R5 Global Payroll R4 CRM Train Team Introduces features to bridge the gap between epics (business processes) and sprints. Product Backlog Program Portfolio A playbook tailored to particular software program will inform the development of the IMS and form the basis to guide teams. 36 Feature Demo 3.1 4.0 How to Define Work
. 1 - Requirements are defined based on the Business Process. 2 - Requirements are grouped into features aligned with the delivered software product. 3 - Features are decomposed into tasks to be executed in sprints. Features will be classified as one of the following types: Framework: Foundational capabilities that need to be completed early as they will be leveraged throughout the solution. Core: Capabilities support transactional processing. These include setup tables that maintain valid values and capabilities to manage employee records. Self-Service: Any feature that has a self-service component is identified. Information: Reports, queries, dashboards. Data: Conversions and interfaces. INTEGRITY INNOVATION EXCELLENCE 37 How to Apply Agile in a Non-Agile World INTEGRITY INNOVATION EXCELLENCE 38 38
Galorath: Driving The State of the Art (10 Step Estimation Process) When performance is measured performance improves Estimation processes are independent of tools 1. 10. Establish Estimate Scope 9. 2. Track Project Throughout Development Document Estimate and Lessons Learned Establish Technical Baseline, Ground Rules, Assumptions 8. 3. Generate a Project Plan Collect Data 7. 4. Estimate and Validate Software Size 6. 5. INTEGRITY INNOVATION EXCELLENCE
Prepare Baseline Estimates Quantify Risks and Risk Analysis Review, Verify and Validate Estimate We will use these 10 steps in our Estimation Process Improvement Program (EPIP) 39 Fundamental Model Assumptions Fundamental assumptions of most Software Estimating Models There is a fixed relationship between size and effort, e.g. (Effort**n)*Time = Size/Technology Results are then modified by current trends and analyses Total effort can be distributed by a mathematical model; e.g. Weibull, Rayleigh INTEGRITY INNOVATION EXCELLENCE 40 Methodology 5: Factor/Complexity Approach Scale ---= +
++ +++ Scale -= + ++ Functional Description Significantly less functionality to be delivered Moderately less functionality to be delivered Slightly less functionality to be delivered Functionality equivalent to Increment X Slightly more functionality to be delivered Moderately more functionality to be delivered Significantly more functionality to be delivered Effort Multipliers 0.5 0.7 0.9 1.0 1.3 1.7 2.0 Complexity Description Significantly less complex Slightly less complex Complexity equivalent to Increment X Slightly more complex Significantly more complex Effort Multipliers 0.7 0.9 1.0 1.3 1.7 These initial set of factors came from the environmental factor from traditional software cost models
Because each Increment is a mini project, use a Rayleigh or simple Beta Curve (such as a 60/50 Beta curve) to phase costs INTEGRITY INNOVATION EXCELLENCE 41
Applied to Sport Management ... An immoral decision can lead to systemic corruption that can destroy a sport enterprise. Corruption usually occurs when people hop from one set of moral precepts to another. One feature of corruption is that it...
A medida que o blastocisto se implanta no endométrio, ocorrem mudanças na massa celular interna (embrioblasto) que forma um disco bilaminar composto de duas camadas de células chamadas de Epiblasto e Hipoblasto. Esse disco bilaminar vai originar as três camadas...
Results for seven systems tested Discussion Total coliforms and fecal coliforms are normally indicators of mammalian waste Outdoor ponds all had dogs on site for bird control, dogs and people were often in ponds Indoor systems had no known source...
What information must we have to use the sine rule to calculate a missing angle? Two sides and one corresponding angle. Discuss: What information must we have to use the cosine rule to calculate a missing length? Two sides and...
4. Capulet is upset by Juliet's refusal to marry because he thinks that she is ungrateful for this suitable match he has made. He thinks she is a spoiled and unworthy girl. He is cruel to her and says to...
Transboundary conservation is a mechanism and an approach that can help us correct many of these mistakes, and in doing so, begin to address our increasing vulnerability and introduce resilience to the way we live.
'Compare the way poets present power / conflict in [named poem] and one other from the anthology' Know the key poems well, and find basic links between them. Know the key poems in detail, with some analysis of language and...
A. require the payment of a special fee on goods coming through the Silk Road. B. establish a monopoly on the sale of iron and salt. C. demand a large yearly tribute from the areas he conquered and brought under...
Ready to download the document? Go ahead and hit continue!