achieving agility at_scale-martin_nally

33
© 2009 IBM Corporation Executive Summit Exec02 Achieving Agility at Scale Improving Software Economics Managing Innovation Martin Nally CTO IBM Rational, IBM Fellow

Upload: ibm

Post on 22-Jan-2015

321 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Achieving agility at_scale-martin_nally

© 2009 IBM Corporation

Executive Summit Exec02

Achieving Agility at Scale Improving Software Economics

Managing InnovationMartin Nally

CTO IBM Rational, IBM Fellow

Page 2: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

2Executive Summit

The nature of innovation

Innovation is not the predictable realization of a new idea

Innovation is a risky plunge into the unknown, but with a clear objective and a strong sense of general direction, a key idea

Page 3: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

3Executive Summit

What I read on my vacation

Magellan knew exactly what he wished to achieve and his general plan for getting there

Find a passage through South AmericaClaim the Moluccas (Slice Islands) for Spain

There were many unknowns and risks along the way

There was no detailed plan – he steered as he went

How would Magellan havemanaged a software project?

Page 4: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

4Executive Summit

Standard model

The project model

Economic governance tailored to risk / reward profiles

Business value and outcome led

Distributed, web based collaboration

Common platform of integrated process / tooling

Sequence of released capabilities with ever increasing value

No distinct boundary between developmentand maintenance

Continuously evolving systems

Modern model

Standard engineering governance

Engineering practitioner led

Collocated teams

Phase and role specific tools

Requirements-design-code-test sequence

Distinct handoff to maintenance

Distinct development phase

Page 5: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

5Executive Summit

Conventional GovernanceActivity-based management Results-based management

Mature processes, PMI/PMBOK More art than engineeringPlan in detail, then track variances Plan/steer/plan/steer…

Adversarial relationships Honest collaborative communicationPaper exchange, speculation Progressions/digressions, facts

Requirements first Architecture (risk mitigation) first Assumes certainty in desired product Admits uncertaintiesAvoid change Manage change

Early false precision Evolving artifacts“More detail = higher quality” Scope (Problem specs)

Design (Solution specs)Constraints (Planning specs)

Apply too much or too little process Right-size the processProcess is primary, blind adherence Desired results drive process

Manage variances

Agile Governance

Critical culture shifts

Page 6: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

6Executive Summit

Schedule risk: Imagine you have 12 months to deliver a business critical system

Your estimators tell you it will be done in 11 months

What do you do with the information?Rest easy, believing there is no risk?

0 6 12

Page 7: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

7Executive Summit

Maybe you realize that program parameters (cost, schedule, effort, quality, …) are random variables

Area under curve describes probability of measurement falling in range

0.80

1.20

1.60

2.00

2.40

2.80

3.20

3.60

4.00

4.40

4.80

5.20

5.60

6.00

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0

0.00

0.40

Likelihood of actual value falling in range is area

under curve

Page 8: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

8Executive Summit

Imagine you have 12 months to deliver a business critical systems

So you ask for the distribution and discover there is some uncertainty

0 6 12

Page 9: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

9Executive Summit

0 6 12

Imagine you have 12 months to deliver a business critical systems

In fact there is less than 50% chance of making the date

48%

Page 10: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

10Executive Summit

0 6 12 15

Then what?

Move out the date to improve likelihood of shipping?

95%

Page 11: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

11Executive Summit

Then what?

Or move in the estimate by sacrificing quality or content?

95%

0 6 12

Page 12: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

12Executive Summit

Managing variances in scope, solution, plans:The real key to improving software economics

Sources of uncertainty and variance

Lack of knowledge Lack of confidenceLack of agreement

Reduction of variance reflects

Increased predictability of outcomeIncreased knowledge about

Client needsTechnology capabilityTeam capability

Good decisions

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0

0.80

1.20

1.60

2.00

2.40

2.80

3.20

3.60

4.00

4.40

4.80

5.20

5.60

0.00

0.40

Page 13: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

13Executive Summit

Then what?

Determine the source of the variance

Over the project lifecycle, reduce the variance to improve likelihood of shipping

90%

0 6 12

Page 14: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

14Executive Summit

95%

Then what?

Over the lifecycle, reduce the variance further to improve likelihood of shipping

0 6 12

Page 15: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

15Executive Summit

Actual Path

Measure and steer At onset of program

Report: Establish estimates/variances of effort, cost, establish initial planCollaborate: Set initial scope and expectations with stakeholdersAutomate: Establish a collaborative development environment

Uncertainty in stakeholder

satisfaction spaceVariance in estimate to complete

Initial Planned Path

Initial Plan

Initial State

At each iteration, improve estimates and reportReport: Values and variances of progress achieved, quality achieved, resources expendedCollaborate: With stakeholders to refine scope and plansAutomate: Manage changes to plans, baselines, test-beds

Page 16: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

16Executive Summit

Agile Governance = Managing Uncertainty = Managing Variance

A completion date is not a point in time, it is a probability distribution

Actual path and precision of Scope/Plan

0 6 12

Uncertainty inStakeholder

Satisfaction Space

Plans/Resource estimatesScopeProduct features/quality

Initial Plan

Scope is not a requirements document, it is a continuous negotiation

A plan is not a prescription, it is an evolving, moving target

Initial State

Page 17: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

17Executive Summit

Practices included as part of Rational Method Composer

Page 18: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

18Executive Summit

Agenda

Transitioning to Agile Software DeliveryEconomic governanceSteering and managing uncertainty

Metrics and MeasuresInstrumentation for gaining control, improving efficiency and optimizing value

Improving Software EconomicsA framework for improvement priorities

Page 19: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

19Executive Summit

Software and systems need a control framework

Efficiency

Control

Value

Process Enactment / Governance Enforcement / Process AwarenessJazz Platform

Business Objectives

Process Definition / PracticesRational Method Composer

Operational Objectives

measures

measures

measures

feedback

Performance Measurement

Value Metricse.g., ROI, ROA for SSD

Operational Effectiveness Metricse.g., Time to market, productivity

PracticeAdoption/Maturity

subjective

Practice ArtifactsObjective

Page 20: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

20Executive Summit

Meters for software and systems development and delivery improvement

Operational Efficiency

0% 100%

Process Adoption

0% 100%

Business Value

$0 $15

$M

BRIDGE to MCIFValue

Return on Investment (ROI)Return on Assets (ROA) Product revenue profile

EfficiencyTime to market, productivity Program portfolio investment profileDefect phase containment, scrap and rework ratesApplication service levelsDefect densities, requirements churn, design churnSkills improvement, training cost reduction

ControlPractice adoption, project checkpoints Artifact time between gates Collaboration, skills mix

Page 21: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

21Executive Summit

Tailor to organizational and project context

Variance Examples

Shared vision

Risk based lifecycle

Evolutionary Architecture

Agile planning

Test driven development

Requirements managementChange managementIterative development

Practices

Stakeholder demonstrations

Beta releases

Defect densities, removal rates

Self check for practicesControls

Architectural stability

Organizational productivity

Cost per change request

Team Productivity

Cost per change requestIndividual productivity

Efficiency(Operational Measure)

Profitability of one-of-a-kind system

Market share growthTime to market for new features

Cost of operationsValue(Business Measures)

HighMediumLow

Agree on business value measures: Cost, profit, return on assets, market share, etc.

Determine project mix typeChoose appropriate operational measuresChoose practices to achieve measures for project mixEstablish measures and feedback channels for closed loop control

Page 22: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

22Executive Summit

Measures:Defect densityDefect arrival/closure

rates Defect backlogFixes failing verificationRework effort

Practices:Test-driven Dev.Design-driven Implem.C&C managementSystem Component Arch.Whole teamPair ProgrammingReview/Inspection

Measures:Defect density, distributionDefect arrival/closure ratesDefect removal effectiv.Fixes failing verificationTest coverageTest execution status

Practices:Test managementContinuous integrationEvolutionary ArchitectureComponent ArchitectureTest-driven dev.Test practices Iterative Dev.Risk Value LifecycleC&C ManagementReview/Inspection

Measures:Post-ship problem reportsCustomer satisfactionPipeline conversion?Support / maint. costsRequirem. test coverageRequirements deliverySurvey of feature usage

Practices:Shared VisionUse-case Driven DevRequirements Mgnt. Whole TeamIterative Dev.Functional TestingC&C ManagementReview/Inspection

Measures:Post-ship problem reportsCustomer satisfactionSupport / maint. costsRequirement test coverageTest execution results

Practices:Performance Testing Requirements Mgnt.Shared Vision Risk-Value LifecycleEvolutionary ArchitectureTest-Driven DevelopmentIterative DevelopmentEvolutionary DesignComponent ArchitectureContinuous IntegrationConcurrent TestingWhole TeamReview/Inspection

Select practices and measures based on business and operational objectives

Increase Defect Prevention

Increase Defect Detection

Deliver on Customer Requirements

Improve Non-Functional Quality

Attributes

Development Quality Goals

IT Quality Goals

Operational Quality Goals

Business ValueCEO

CIO

Dev. Mgr.

Reduce Post-Delivery Defects Deliver What Stakeholder Needs

High # of defects (pre/post-ship)

High maintenance costs (devt) of fixing defects

Customer downtime

High support or maintenance costs without high defect #s

Low pipeline conversion

Low customer satisfaction

High defects both pre-and post-ship

Growing defect backlog

High post-ship or customer-reported defects

High error rates in fixes High Requirements Churn

High Post Delivery Support

Aging ER Backlog

Non-functional Req. Issues

High # of Help Desk Calls

High Incidence Resolution Times

? ?

? ? ? ?

M M H L M L M L

H L M L

Revenue / Cost

Value (H,M or L)Cost (H, M or L)Hot Component

Page 23: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

23Executive Summit

Agenda

Transitioning to Agile Software DeliveryEconomic governanceSteering and managing uncertainty

Metrics and MeasuresInstrumentation for gaining control, improving efficiency and optimizing value

Improving Software EconomicsA framework for improvement priorities

Page 24: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

24Executive Summit

Four patterns of success in achieving Agility at Scale1. Scope management Asset based development

Solutions evolve from requirements AND requirements evolve from available assetsAs opposed to getting all the requirements right up front

2. Process management Rightsize the processProcess and instrumentation rigor evolves from light to heavyAs opposed to the entire project’s lifecycle process should be light or heavy depending on the character of the project

3. Progress management Honest assessmentsHealthy projects display a sequence of progressions and digressionsAs opposed to progressing to 100% earned value with monotonically increasing progress against a static plan

4. Quality management Incremental demonstrable resultsTesting needs to be a 1st class, full lifecycle activityAs opposed to a subordinate, later lifecycle activity

Page 25: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

25Executive Summit

Software cost modelsBoehm COCOMO Effort Estimation Accuracy

1.00

10.00

100.00

1000.00

100 1000 10000 100000

Size (SLOC)

Effo

rt (S

taff

-mon

ths)

Jones Effort Estimation Accuracy

1.00

10.00

100.00

1000.00

1.00 10.00 100.00 1000.00 10000.00

Size (FP)

Effo

rt (L

M)

Basili & Bailey Effort Estimation Accuracy

1.00

10.00

100.00

1000.00

100 1000 10000 100000 1000000

Size (SLOC)

Effo

rt (L

M)

ISBSG Effort Estimation Accuracy

1.00

10.00

100.00

1000.00

1.00 10.00 100.00 1000.00 10000.00

Size (FP)

Effo

rt (L

M)

Rone Effort Estimation Accuracy

1.00

10.00

100.00

1000.00

1.00 10.00 100.00 1000.00 10000.00

Size (SLOC)

Effo

rt (S

M)

From George Stark, Paul Oman, “A comparison of parametric Software Estimation Models using real project data”, in press

Page 26: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

26Executive Summit

Improving software economics

Time or CostTo Build = (Complexity) (Process) * (Team) * (Tools)

ComplexityVolume of human generated stuff- KSLOC, FPs, UCsQuality/performanceScope

MethodsMaturityAgilityPrecedence

Skills/ExperienceCollaborationMotivation

AutomationProcess enactment

Process Team Tools

Empirical software cost estimation models for:Enterprise modernization, software maintenanceNew developments, new releases, early prototypesPackaged applications, systems engineering

Page 27: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

27Executive Summit

Individual Team BusinessOrganization

Achieve continuous improvement by measuring cost against business outcomes

Control

Efficiency

Business Value

ECO

NO

MIC

IMPA

CTS

Improve Automation

ImproveCollaboration

Increase Flexibility& Investment Value

Implement toolsto integrate workflows

Productivity:5-25%

Timeframe = Days

Implementiterative / adaptive

processesProductivity:25-100%

Timeframe = Months

Implement tools & processes

& leverage skillsProductivity:

15-35%Timeframe = Weeks

Implement enterprise architecture & reuse

web servicesProductivity:50-200+%

Timeframe = Years

ImproveProcess

Implementation costsare per person per year

Page 28: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

28Executive Summit

Control

Efficiency

Business Value

Improve process to increase productivity by 25%-100%Implement iterative / adaptive processes

Perceived Progress Against Plan

True Technical Progress

Cost of Change

Integration

ImplementationUnit Test

Maintenance

Requirements/DesignCoding

Test and Release

Demo Releases

Test Releases

Late scrapand rework

MaintenanceIntegration

ImplementationUnit Test

Page 29: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

29Executive Summit

Measured progress

and quality

SoftwareMTBF allocation

Demonstrated MTBF

Requirements/DesignBaseline and freeze

First indicationsof performance

challenges

Requirements/Design negotiation

Indicationsof other quality

challenges

ImproveProcessand Increase Flexibility

Late quality and performance insightconstrains flexibility to make tradeoffs

Continuous quality and performance insight allows flexibility in trading off cost, quality, and features

Speculative quality requirements

Unpredictable cost/schedule performance

Late shoehorning of suboptimal changes that impact quality

Release qualities that matter

Quality progressions/digressions

Early requirement verification and/or negotiation

Improving process and increasing flexibilityReducing the significant uncertainties in quality and performance

ITERATIVE DEVELOPMENTAND AGILE DELIVERYWATERFALL DEVELOPMENT

Page 30: Achieving agility at_scale-martin_nally

Slide 29

A1 4) finally, on slide 4, i changed the heading that was iterative development to both iterative development and agile delivery. not sure ifthat matters but it matches my paper and danny may prefer agile delivery rather than iterative development.Author, 4/29/2009

Page 31: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

30Executive Summit

Accelerate and monitor solution adoption using Rational’s preferred approach

Elicit and set business value objectives

Determine the solution components

Review and communicate business results

Measured Capability Improvement Framework (MCIF): A systematic approach to software excellence

Phase1

Phase2

Phase3

Phase4

Business objectives, contexts to operate within, and development approaches

Incremental improvement roadmapDo Financial Analysis

Deploy practices and tools Adopt proper usage model to maximize ROIMeasure and adapt

Compile business value and resultsConduct formal review with stakeholders

Deploy solution and measure

results

Determine right solution

to deploy

Confirm results deliveredand start on next project

Page 32: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

31Executive Summit

Some final thoughts

Software delivery is a discipline of software economics balancing risks and opportunities

Process enactment and measurement are imperatives to achieving agility at scale

Software delivery requires a platform that is architected for automation, collaboration and reporting

Page 33: Achieving agility at_scale-martin_nally

IBM Rational Software Conference 2009

32Executive Summit

© Copyright IBM Corporation 2009. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.