how to estimate manage and track performance …...how to estimate manage and track performance on...

27
How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Upload: others

Post on 24-May-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

How To Estimate Manage and Track Performance on Modern “Federal” Software

Development Programs

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 2: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

AGENDA FOR TODAY

2

DSB and Other Recommendations .

#NoEstimates.Agile Estimation.

Significant Reasons for Software Cost Growth.Managing Modern Software Development

Programs .Key Questions to Assess the Quality of the Agile Progress.Earned Value.

Conclusions.

Cost and Schedule Overruns

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 3: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

COST AND SCHEDULE OVERUNS

Many studies attempting to quantify the costof software failures.

Generally agree that the number is around$50 to $80 billion annually.

The Standish Chaos Report, which is probablythe most well-known of these studies, definessuccess as projects delivered within budget,on schedule, and with expected functionality.

The 2018 Chaos report shows:• Successful Projects: 30% • Challenged Projects: 52%• Failed Projects: 19%

30%

51%

19%

2018 STANDISH "CHAOS" SUMMARYSuccessful Projects Challenged Projects Failed Projects

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 4: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

SOFTWARE GROWTH IN AIRCRAFT SYSTEMSPresented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 5: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

DEFENSE SCIENCE BOARD* Recommendation

Recommendation 1: Implement the “Software Factory”

Recommendation 2: Adopt continuousiterative development best practices(continuing through sustainment) for software.

Recommendation 3: Implement: Multiplevendors to begin work with down select;Service cost estimators should modernizecost/schedule estimation processes; Projectmanager should build program-appropriateframeworks for status metrics; examplesinclude: sprint burndown, epic and releaseburndown, velocity trending, control chart, lineof balance and cumulative flow diagrams.

Recommendation 4: Current and legacy programs should plan transition to a software factory and continuous iterative development

Recommendation 5: Develop a modern software development expertise

Recommendation 6: Software is Immortal

Recommendation 7: Implement Independent Validation and Verification (IV&V)

* Final Report of the U.S. Defense Science Board (DSB) Task Force on the Design and Acquisition of Software for Defense Systems, February 20185

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 6: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Defense Innovation BoardIn this report, we emphasize three fundamental themes:

1. Speed and cycle time are the most important metrics for managing software. 2. Software is made by people and for people, so digital talent matters. 3. Software is different than hardware (and not all software is the same).

“DoD and industry must change the practice of how software is procured and developed by adopting modern software development approaches, prioritizing speed as the critical metric, ensuring cybersecurity is an integrated element of the entire software life cycle, and purchasing existing commercial software whenever possible.”

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 7: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

809 PanelRec. 19 (Volume 1, Section 4, p. 151): Eliminate the Earned Value Management

(EVM) mandate for software programs using Agile methods.

This recommendation was made in the context of the panel’s

review of DoD business systems.

DoD established use of EVM as a requirement for

periodically measuring linear programs with firm

baselines established prior to starting development.

EVM is not well suited as a measurement tool in an

Agile environment, which is dynamic by design.

By its nature, Agile provides dynamic and ongoing feedback to

stakeholders participating on development teams.

This recommendation gives project managers, in the context of DoD’s

business systems,

the option to choose the project monitoring and control methods best suited for their acquisition programs.7

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 8: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

AGILE ESTIMATESAre they necessary?

#NOESTIMATES Estimates are difficult to

produce Provide little to no value Estimation is overhead

and should be minimized

.#ESTIMATES Organizations need to do

budget planning Estimates are needed to

make informed decisions Managers need estimates

for accountability to shareholders

UNDERLYING TRUTHS

Software estimation is challenging,

Agile developers see estimates as

committing them to a schedule and

therefore they are antithetical to the

Agile Manifesto.

Software estimates drive decision

making - they are not just for the

developers

Total ownership cost should be

considered for the immortal systems

and as a result, more emphasis and

research should be and is being

applied to the area of software

maintenance.

.8

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 9: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

AGILE MINDSET. NOT ONE SINGLE METHOD

SCRUMFUTURE DRIVEN

DEVELOPMENT [FDD] AGILE UNIFIED PROCESS [AUP]

DYNAMIC SYSTEMS DEVELOPMENT METHOD [DSDM]

KANBAN

LEANEXTREME PROGRAMMING [XP]

CRYSTAL CLEAR

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 10: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

SIZE CONTINUES TO BE MAIN DRIVERYour Subtitle Will Go HereFUNCTION POINTS

.

USER STORIES

SLOC

USE CASES.

CHOOSE A

METRIC AND BE CONSISTENT!

T-SHIRT SIZING

STORY POINTS

10

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 11: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

“When performance is measuredperformance improves”Estimation processes are independent of tools

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 12: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

10 STEP ESTIMATION PROCESSDRIVING THE STATE OF THE ART

01Establish Estimate Scope

Establish Technical Baseline, Ground Rules, Assumptions

Collect Data

Estimate and Validate Software

Size

02

03

04Prepare Baseline Estimates

05 06

07

08

09

10

Review, Verify and Validate Estimate

Quantify Risks and Risk Analysis

Generate a Project Plan

Document Estimate and

Lessons Learned

Track Project Throughout

Development

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 13: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Parametric Estimation for Agile Projects

Feat

ures

Proj

ect

Cha

ract

erist

ics

Team

D

ynam

ics

13

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 14: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

FOR AGILE PROJECTS

SEER AGILE PLANNER

TEAM VELOCITYWhat is “doable” in a SPRINT

If not known, it can be computed (discussed in slide 20)

DEVELOPMENT TEAM SIZEOptimal Size can be calculated

Everyone available on day 1?

BACKLOG SIZEWhat is the team tasked to complete?

SPRINT DURATIONTimebox duration for an iteration

4 and 2 weeks are the most common

14

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 15: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

ESTIMATING METHODOLOGIESMethodology 1: Many Agile programs are fixed price, it is often just a matter of labor rates times quantityMethodology 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 themMethodology 4: Automated Models approach based on a size metric – which may be difficult to quantify

• 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

Methodology 5: Factor/Complexity approach based on data generated in early iterations

The Sprint work projections often follow the Weibull or Rayleigh distribution

15

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 16: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Significant Reasons for Software Cost GrowthSOFTWARE COST GROWTH

Scope CreepRequirements Growth

Poor Input to Estimate

Failure to Clearly Define the Initial Scope

Unrealistic Expectations and Assumption

Failure to Declare, Track & Reduce Risk & Uncertainties

Lack of Internal Peer Review

01

02

03

04

05

06

Lack of Estimation Experience

Failure to Consider Environmental Factors

Failure in the EstimationTool/Process

07

08

09

Estimating to a Target Assumption10

16

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 17: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

MANAGING MODERN SOFTWARE DEVELOPMENT PROGRAMS

Measure the Right Thing – Backlog – Velocity – Burndown ChartsManage Expectations / Set Realistic Time Frames

Align the Work StreamsSeek Objectivity

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 18: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Size Metrics: “Are the user stories consistent and do they

follow the basic structure of ‘As a__, I Want, So That…’?”

Agile Methods: “Is the development process using the proper Agile method for

work to be performed?”

Agile Integrity: “Is the program deviating from

the Twelve Agile Principles?”

Agile Delivery: The acquisition manager needs to

recognize that Agile is a development

mindset (not a methodology) created by practitioners trying to resolve the iron

triangle of scope, schedule, and resources

Velocity: “Is velocity based on a historical baseline of the program?”

Governance: “Is there an experienced Scrum Master?”

Expectations: “Is the team promising faster schedule and cheaper cost?” Research consistently shows

Agile Values: “Are the Agile values being embraced or is it simply the method du-jour?

KEY QUESTIONSTO ASSESS THE

QUALITY OF THE AGILE PROGRESS

18

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 19: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Define the

work

Plan the

work

Work the

plan

Collect the

results

Measure Perf.

Against plan

Analyze

deviations

Institute appropri

ate correctiv

e actions

Consider Tailored or EVM Lite OptionsEARNED VALUE MANAGEMENT PROCESS

SOW- WBS-WBS DICTIONARY

IMP/IMS CONTROL ACCOUNTS/ WORK PACKAGES,EV METHODS

EXECUTE TASKS AND ACTIVITIES IN THE PLAN

ACTUAL LABOR & OTHER DIRECT COSTS

STATUS EV & SCHEDULE

COST & SCHEDULE VARIANCES

BASELINE CHANGE REQUESTS

CHANGE CONTROL

ENGINEERING CHANGE PROPOSALS

19

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 20: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Product Roadmap ExampleNDIA “An Industry Practice Guide for Agile on Earned Value Management Programs”v1.1 March 31, 2017

Customer DeliveriesInternal Deliveries

High Level FunctionalityDefined and Distributed

DetailedDecomposition ofcapability forexecution

© 2018 Enlightened Integrated Program Management,LLC All Rights Reserved

20

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 21: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

1. Inventory and analysis of the organization’s existing processes and procedures.

2. Provide a recommended Product oriented Work Breakdown Structure (WBS)

3. Illustrate an Organization Breakdown Structure (OBS)

4. Plan Control Accounts and Work Packages

5. Within the Work Packages select a Performance Measurement Type (Weighted Milestone, 0-100, 50-50, or Percent Complete)

6. Track the project using the schedule

7. Provide a series of recommended performance analysis

21

Scaled Performance AnalysisPresented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 22: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

Water-Scrum-FallTYPICAL HYBRID AGILE DEVELOPMENT

DESIGN

REQUIREMENTS

Testing and Sustainment (sometimes in the Sprint sometimes a separate

activity)

TWO CLASSES OF FEDERAL PROGRAMSIncremental programs Follow the commercial Agile practices

Small user stories Single sprint, or even multiple user stories

being completed in a single sprint Generally not applying a full EVM process

Transformational programs Creating completely new capabilities “Hybrid-Agile” approach applied

Longer sprints Larger conceptual stories/features Full EVM process.

SCRUM ROLES ARE CRITICAL

22

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 23: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

AGILE/EVM BUILDING BLOCKS*Release 1 (made up of multiple Themes/Increments

SPRINTS

Epic 1Feature 1User Story 1

Epic 2Feature 2User Story 2

Epic 2 Feature 3User Story 3

THEME / INCREMENT 1

Cost Estimating often done at the Sprint Level

EVM work Packagesidentified at Epic or Theme levelSprints may be too low a level to track as a work package

* These “building blocks” are program specific and may be called by different names

Requ

irem

ents

m

appe

d to

th

is le

vel

23

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 24: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

AGILE- EVM RELATIONSHIPS

NDIA “An Industry Practice Guide for Agile on Earned Value Management Programs” v1.1 March 31, 2017

24

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 25: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

As long as there is a plan and product(s) EVM can be applied

The product backlog defines the product, and sprints are used

to time phase the work.

Status of each Sprint is rolled up to a level, e.g. Control

Accounts (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

• A feature may require multiple Spints to complete • No credit given for a Story not completed in a Sprint

(backlogged)

As Features are completed the percent complete is rolled up to

the EPIC level

WHERE DOES EVM FIT IN?

25

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 26: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

CONCLUSIONSThe adoption of Agile practices in federal programs is growing and changing the way we approach software

Modern federal software development programs are evolving into incremental development practices and some of them are starting to adopt the Agile development framework.

Some of these programs are fully adopting the framework while some others are “executing Hybrid Agile. Regardless of level of Agile adoption, these federal programs can benefit from using a formal estimation and Earned Value Management (EVM) processes.

Robust cost baselines become the baseline from which performance is measured

Earned Value Management can be applied to Agile

Federal programs need to adopt continuous iterative development best practices for software

26

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019

Page 27: How To Estimate Manage and Track Performance …...How To Estimate Manage and Track Performance on Modern “Federal” Software Development Programs Presented at the 5th Annual ICEAA

REACH OUTFOR MORE INFORMATION

PresidentGalorath [email protected]

BOB HUNTCEO Galorath Incorporated; [email protected]

DAN GALORATH

Director of Operations & Systems AnalysisGalorath Incorporated

[email protected]

IAN BROWNDirector Commercial and International ProgramGalorath Incorporated [email protected]

DAVID DEWITTSenior Cost Estimation ConsultantGalorath Incorporated [email protected]

ESTEBAN SANCHEZ

27

Presented at the 5th Annual ICEAA Canada Workshop, September 17-18, 2019 – iceaa.ca/2019