Achieving Agility at Scale Improving Software Economics Managing

  • Slides: 32
Download presentation
Achieving Agility at Scale Improving Software Economics Managing Innovation Martin Nally CTO IBM Rational,

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

IBM Rational Software Conference 2009 The nature of innovation § Innovation is not the

IBM Rational Software Conference 2009 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 Executive Summit 2

IBM Rational Software Conference 2009 What I read on my vacation § Magellan knew

IBM Rational Software Conference 2009 What I read on my vacation § Magellan knew exactly what he wished to achieve and his general plan for getting there 4 Find a passage through South America 4 Claim 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 have managed a software project? Executive Summit 3

IBM Rational Software Conference 2009 The project model Standard model Modern model Distinct development

IBM Rational Software Conference 2009 The project model Standard model Modern model Distinct development phase Continuously evolving systems Distinct handoff to maintenance No distinct boundary between development and maintenance Requirements-design-code-test sequence Sequence of released capabilities with ever increasing value Phase and role specific tools Collocated teams Common platform of integrated process / tooling Distributed, web based collaboration Standard engineering governance Engineering practitioner led Executive Summit Economic governance tailored to risk / reward profiles Business value and outcome led 4

IBM Rational Software Conference 2009 Critical culture shifts Conventional Governance Activity-based management Mature processes,

IBM Rational Software Conference 2009 Critical culture shifts Conventional Governance Activity-based management Mature processes, PMI/PMBOK Plan in detail, then track variances Adversarial relationships Paper exchange, speculation Requirements first Agile Governance Results-based management More art than engineering Plan/steer/plan/steer… Honest collaborative communication Progressions/digressions, facts Architecture (risk mitigation) first Assumes certainty in desired product Avoid change Early false precision “More detail = higher quality” Apply too much or too little process Process is primary, blind adherence Executive Summit Admits uncertainties Manage change Evolving artifacts Scope (Problem specs) Design (Solution specs) Constraints (Planning specs) Right-size the process Desired results drive process Manage variances 5

IBM Rational Software Conference 2009 Schedule risk: Imagine you have 12 months to deliver

IBM Rational Software Conference 2009 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? 4 Rest easy, believing there is no risk? 0 6 Executive Summit 12 6

IBM Rational Software Conference 2009 Maybe you realize that program parameters (cost, schedule, effort,

IBM Rational Software Conference 2009 Maybe you realize that program parameters (cost, schedule, effort, quality, …) are random variables § Area under curve describes probability of measurement falling in range 0. 45 0. 4 Likelihood of actual value falling in range is area under curve 0. 35 0. 3 0. 25 0. 2 0. 15 0. 1 0. 05 Executive Summit 00 6. 0 5. 6 20 5. 0 4. 8 0 4. 4 00 4. 0 3. 6 20 3. 0 2. 8 40 2. 00 2. 60 1. 20 1. 0 0. 8 40 0. 00 0 7

IBM Rational Software Conference 2009 Imagine you have 12 months to deliver a business

IBM Rational Software Conference 2009 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 Executive Summit 12 8

IBM Rational Software Conference 2009 Imagine you have 12 months to deliver a business

IBM Rational Software Conference 2009 Imagine you have 12 months to deliver a business critical systems § In fact there is less than 50% chance of making the date 48% 0 6 Executive Summit 12 9

IBM Rational Software Conference 2009 Then what? § Move out the date to improve

IBM Rational Software Conference 2009 Then what? § Move out the date to improve likelihood of shipping? 95% 0 6 Executive Summit 12 15 10

IBM Rational Software Conference 2009 Then what? § Or move in the estimate by

IBM Rational Software Conference 2009 Then what? § Or move in the estimate by sacrificing quality or content? 95% 0 6 Executive Summit 12 11

IBM Rational Software Conference 2009 Managing variances in scope, solution, plans: The real key

IBM Rational Software Conference 2009 Managing variances in scope, solution, plans: The real key to improving software economics § Sources of uncertainty and variance 4 Lack of knowledge 0. 45 0. 4 0. 35 0. 3 4 Lack of confidence 0. 25 4 Lack of agreement 0. 2 0. 15 § Reduction of variance reflects 0. 1 0. 05 60 5. 20 5. 80 4. 40 4. 00 4. 60 3. 20 3. 80 2. 40 2. 0 60 1. 2 80 0. 4 00 0 0. 4 Increased predictability of outcome 4 Increased knowledge about § Client needs § Technology capability § Team capability 4 Good decisions Executive Summit 12

IBM Rational Software Conference 2009 Then what? § Determine the source of the variance

IBM Rational Software Conference 2009 Then what? § Determine the source of the variance § Over the project lifecycle, reduce the variance to improve likelihood of shipping 90% 0 6 Executive Summit 12 13

IBM Rational Software Conference 2009 Then what? § Over the lifecycle, reduce the variance

IBM Rational Software Conference 2009 Then what? § Over the lifecycle, reduce the variance further to improve likelihood of shipping 95% 0 6 Executive Summit 12 14

IBM Rational Software Conference 2009 Measure and steer § At onset of program 4

IBM Rational Software Conference 2009 Measure and steer § At onset of program 4 Report: Establish estimates/variances of effort, cost, establish initial plan 4 Collaborate: Set initial scope and expectations with stakeholders 4 Automate: Establish a collaborative development environment § At each iteration, improve estimates and report 4 Report: Values and variances of progress achieved, quality achieved, resources expended 4 Collaborate: With stakeholders to refine scope and plans 4 Automate: Manage changes to plans, baselines, test beds Initial Plan Initial State Initial Planned Path Actual Path Executive Summit Uncertainty in stakeholder satisfaction space Variance in estimate to complete 15

IBM Rational Software Conference 2009 Agile Governance = Managing Uncertainty = Managing Variance §

IBM Rational Software Conference 2009 Agile Governance = Managing Uncertainty = Managing Variance § A completion date is not a point in time, it is a probability distribution 0 6 12 § Scope is not a requirements document, it is a continuous negotiation Plans/Resource estimates Scope Product features/quality § A plan is not a prescription, it is an evolving, moving target Initial State Actual path and precision of Scope/Plan Executive Summit Uncertainty in Stakeholder Satisfaction Space Initial Plan 16

IBM Rational Software Conference 2009 Practices included as part of Rational Method Composer Executive

IBM Rational Software Conference 2009 Practices included as part of Rational Method Composer Executive Summit 17

IBM Rational Software Conference 2009 Agenda § Transitioning to Agile Software Delivery 4 Economic

IBM Rational Software Conference 2009 Agenda § Transitioning to Agile Software Delivery 4 Economic governance 4 Steering and managing uncertainty § Metrics and Measures 4 Instrumentation for gaining control, improving efficiency and optimizing value § Improving Software Economics 4 A framework for improvement priorities Executive Summit 18

IBM Rational Software Conference 2009 Software and systems need a control framework Performance Measurement

IBM Rational Software Conference 2009 Software and systems need a control framework Performance Measurement Value Business Objectives Value Metrics measures e. g. , ROI, ROA for SSD Efficiency measures Operational Effectiveness Metrics e. g. , Time to market, productivity feedback Operational Objectives Control Process Definition / Practices Rational Method Composer measures Practice Adoption/Maturity Practice Artifacts subjective Objective Process Enactment / Governance Enforcement / Process Awareness Jazz Platform Executive Summit 19

IBM Rational Software Conference 2009 Meters for software and systems development and delivery improvement

IBM Rational Software Conference 2009 Meters for software and systems development and delivery improvement BRIDGE to MCIF § Value 4 Return on Investment (ROI) 4 Return on Assets (ROA) 4 Product revenue profile $0 Business Value $15 $M § Efficiency 4 Time to market, productivity 4 Program portfolio investment profile 4 Defect phase containment, scrap and rework rates 4 Application service levels 4 Defect densities, requirements churn, design churn 4 Skills improvement, training cost reduction 0% Operational Efficiency 100% 0% Process Adoption 100% § Control 4 Practice adoption, project checkpoints 4 Artifact time between gates 4 Collaboration, skills mix Executive Summit 20

IBM Rational Software Conference 2009 Tailor to organizational and project context § Agree on

IBM Rational Software Conference 2009 Tailor to organizational and project context § Agree on business value measures: Cost, profit, return on assets, market share, etc. § Determine project mix type 4 Choose appropriate operational measures 4 Choose practices to achieve measures for project mix 4 Establish measures and feedback channels for closed loop control Variance Examples Low Value (Operational Measure) Controls § Market share growth § Time to market for new features § Profitability of one of a kind system § Cost per change request § Individual productivity § Cost per change request § Architectural stability § Team Productivity § Organizational productivity § Self check for practices § Beta releases § Stakeholder demonstrations § Defect densities, removal rates Practices High § Cost of operations (Business Measures) Efficiency Medium § Requirements management § Change management § Iterative development Executive Summit § Agile planning § Shared vision § Test driven development § Risk based lifecycle § Evolutionary Architecture 21

IBM Rational Software Conference 2009 Select practices and measures based on business and operational

IBM Rational Software Conference 2009 Select practices and measures based on business and operational objectives High # of defects (pre/post ship) CEO High support or maintenance costs without high defect #s Business Value High maintenance costs (devt) of fixing defects Low pipeline conversion Customer downtime Development Quality Goals Dev. Mgr. High post ship or customer reported defects High error rates in fixes Operational Quality Goals ? ? Reduce Post Delivery Defects Deliver What Stakeholder Needs High defects both pre and post ship Growing defect backlog Low customer satisfaction IT Quality Goals CIO H Non functional Req. Issues L High # of Help Desk Calls M ? ? ? Increase Defect Prevention Increase Defect Detection Deliver on Customer Requirements Improve Non Functional Quality Attributes M M M H Measures: § Defect density § Defect arrival/closure rates § Defect backlog § Fixes failing verification § Rework effort Practices: § Test driven Dev. § Design driven Implem. § C&C management § System Component Arch. § Whole team § Pair Programming § Review/Inspection § Defect density, distribution § Defect arrival/closure rates § Defect removal effectiv. § Fixes failing verification § Test coverage § Test execution status Practices: § Test management § Continuous integration § Evolutionary Architecture § Component Architecture § Test driven dev. § Test practices § Iterative Dev. § Risk Value Lifecycle § C&C Management § Review/Inspection Executive Summit L M Measures: § Post ship problem reports § Customer satisfaction § Pipeline conversion? § Support / maint. costs § Requirem. test coverage § Requirements delivery § Survey of feature usage Practices: § Shared Vision § Use case Driven Dev § Requirements Mgnt. § Whole Team § Iterative Dev. § Functional Testing § C&C Management § Review/Inspection L High Incidence Resolution Times L ? Measures: § Post ship problem reports § Customer satisfaction § Support / maint. costs § Requirement test coverage § Test execution results Practices: § Performance Testing § Requirements Mgnt. § Shared Vision § Risk Value Lifecycle § Evolutionary Architecture § Test Driven Development § Iterative Development § Evolutionary Design § Component Architecture § Continuous Integration § Concurrent Testing L High Requirements Churn High Post Delivery Support Aging ER Backlog Revenue / Cost §Value (H, M or L) § Cost (H, M or L) Hot Component 22

IBM Rational Software Conference 2009 Agenda § Transitioning to Agile Software Delivery 4 Economic

IBM Rational Software Conference 2009 Agenda § Transitioning to Agile Software Delivery 4 Economic governance 4 Steering and managing uncertainty § Metrics and Measures 4 Instrumentation for gaining control, improving efficiency and optimizing value § Improving Software Economics 4 A framework for improvement priorities Executive Summit 23

IBM Rational Software Conference 2009 Four patterns of success in achieving Agility at Scale

IBM Rational Software Conference 2009 Four patterns of success in achieving Agility at Scale 1. Scope management Asset based development Solutions evolve from requirements AND requirements evolve from available assets As opposed to getting all the requirements right up front 2. Process management Rightsize the process Process and instrumentation rigor evolves from light to heavy As opposed to the entire project’s lifecycle process should be light or heavy depending on the character of the project 3. Progress management Honest assessments Healthy projects display a sequence of progressions and digressions As opposed to progressing to 100% earned value with monotonically increasing progress against a static plan 4. Quality management Incremental demonstrable results Testing needs to be a 1 st class, full lifecycle activity As opposed to a subordinate, later lifecycle activity Executive Summit 24

IBM Rational Software Conference 2009 Software cost models From George Stark, Paul Oman, “A

IBM Rational Software Conference 2009 Software cost models From George Stark, Paul Oman, “A comparison of parametric Software Estimation Models using real project data”, in press Executive Summit 25

IBM Rational Software Conference 2009 Improving software economics § Empirical software cost estimation models

IBM Rational Software Conference 2009 Improving software economics § Empirical software cost estimation models for: 4 Enterprise modernization, software maintenance 4 New developments, new releases, early prototypes 4 Packaged applications, systems engineering Time or Cost To Build = (Complexity) (Process) * (Team) * (Tools) Complexity § Volume of human generated stuff KSLOC, FPs, UCs § Quality/performance § Scope Process § Methods § Maturity § Agility § Precedence Executive Summit Team § Skills/Experience § Collaboration § Motivation Tools § Automation § Process enactment 26

IBM Rational Software Conference 2009 Achieve continuous improvement by measuring cost against business outcomes

IBM Rational Software Conference 2009 Achieve continuous improvement by measuring cost against business outcomes ECONOMIC IMPACTS Business Value Improve Automation Improve Collaboration Improve Process Increase Flexibility & Investment Value Implement tools to integrate workflows Implement tools & processes & leverage skills Implement iterative / adaptive processes Implement enterprise architecture & reuse web services Productivity: Timeframe = Days Timeframe = Weeks Timeframe = Months 5 -25% 15 -35% 25 -100% 50 -200+% Timeframe = Years Efficiency Control Implementation costs are person per year Individual Executive Summit Team Organization Business 27

IBM Rational Software Conference 2009 Improve process to increase productivity by 25% 100% Implement

IBM Rational Software Conference 2009 Improve process to increase productivity by 25% 100% Implement iterative / adaptive processes Perceived Progress Against Plan Demo Releases Business Value Test and Release Test Releases Coding Requirements/Design True Technical Progress Late scrap and rework Efficiency Cost of Change Integration Implementation Unit Test Maintenance Implementation Unit Test Integration Maintenance Control Executive Summit 28

IBM Rational Software Conference 2009 Improving process and increasing flexibility Improve Process and Increase

IBM Rational Software Conference 2009 Improving process and increasing flexibility Improve Process and Increase Flexibility Reducing the significant uncertainties in quality and performance WATERFALL DEVELOPMENT Late quality and performance insight constrains flexibility to make tradeoffs Measured progress and quality First indications of performance challenges ITERATIVE DEVELOPMENT AND AGILE DELIVERY Continuous quality and performance insight allows flexibility in trading off cost, quality, and features Demonstrated MTBF Indications of other quality challenges Software MTBF allocation Requirements/Design Baseline and freeze Requirements/Design negotiation § Speculative quality requirements § Release qualities that matter § Unpredictable cost/schedule performance § Quality progressions/digressions § Late shoehorning of suboptimal changes that impact quality § Early requirement verification and/or negotiation Executive Summit 29

IBM Rational Software Conference 2009 Measured Capability Improvement Framework (MCIF): A systematic approach to

IBM Rational Software Conference 2009 Measured Capability Improvement Framework (MCIF): A systematic approach to software excellence Determine right solution to deploy Phase 1 Elicit and set business value objectives § Business objectives, contexts to operate within, and development approaches Phase 2 Determine the solution components § Incremental improvement roadmap § Do Financial Analysis Deploy solution and measure results Phase 3 Accelerate and monitor solution adoption using Rational’s preferred approach § Deploy practices and tools § Adopt proper usage model to maximize ROI § Measure and adapt Phase 4 Confirm results delivered and start on next project Review and communicate business results § Compile business value and results § Conduct formal review with stakeholders Executive Summit 30

IBM Rational Software Conference 2009 Some final thoughts Software delivery is a discipline of

IBM Rational Software Conference 2009 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 Executive Summit 31

IBM Rational Software Conference 2009 © Copyright IBM Corporation 2009. All rights reserved. The

IBM Rational Software Conference 2009 © 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. Executive Summit 32