Value Creation and Capture: A Model of the Software Development Process



Similar documents
Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics

Introduction to Software Engineering. 9. Project Management

Lessons from Software Work Effort Metrics 1

Simulation for Business Value and Software Process/Product Tradeoff Decisions

EC247 FINANCIAL INSTRUMENTS AND CAPITAL MARKETS TERM PAPER

Lifecycle Models: Waterfall / Spiral / EVO

This material is excerpted from Software Estimation: Demystifying the Black Art by Steve McConnell (Redmond, Wa.: Microsoft Press).

On Software Architecture, Agile Development, Value and Cost

Chapter 3 Managing the Information Systems (IS) Project

Deducing software process improvement areas from a COCOMO II-based productivity measurement

Schedule Risk Analysis Simulator using Beta Distribution

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Section A. Index. Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting techniques Page 1 of 11. EduPristine CMA - Part I

Introduction to Software Engineering (ESE : Einführung in SE)

10 Keys to Successful Software Projects: An Executive Guide

Software Development Process Selection Approaches

Earned Value and Agile Reporting

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

A Review of the Impact of Requirements on Software Project Development Using a Control Theoretic Model

Software project cost estimation using AI techniques

The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Risk Analysis Overview

"Bezpieczny Projekt"

Scheduling. Anne Banks Pidduck Adapted from John Musser

(Refer Slide Time: 01:52)

Using Simulation to Understand and Optimize a Lean Service Process


Business Process. Reengineering. WithCommercial Off-the-Shelf. Software. Cindy Shelton

Why Agile Works: Economics, Psychology, and #PrDC16

Introduction to extreme Programming (XP)

CRASHING-RISK-MODELING SOFTWARE (CRMS)

Software Project Management Matrics. Complied by Heng Sovannarith

Overview. The Concept Of Managing Phases By Quality and Schedule

How To Improve Your Business Recipe Cards

QUANTIFIED THE IMPACT OF AGILE. Double your productivity. Improve Quality by 250% Balance your team performance. Cut Time to Market in half

Successful Projects Begin with Well-Defined Requirements

RUTHERFORD HIGH SCHOOL Rutherford, New Jersey COURSE OUTLINE STATISTICS AND PROBABILITY

Comparative Analysis of Different Agile Methodologies

Comparing Agile Software Processes Based on the Software Development Project Requirements

The work breakdown structure can be illustrated in a block diagram:

Relationships Among Software Metrics in Benchmarking

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

Build your Project using Extreme Programming #2 of a Series, by Pavan Kumar Gorakavi, M.S., M.B.A, G.M.C.P, C.A.P.M.

SE351a: Software Project & Process Management

Methodology. Discounting. MVM Methods

Appendix: Dynamics of Agile Software Development Model Structure

CFA Examination PORTFOLIO MANAGEMENT Page 1 of 6

Simulation and Lean Six Sigma

The Incremental Funding Method - A Data Driven Approach to Software Development

Using simulation to calculate the NPV of a project

Schedule Adherence. and Rework Walt Lipke, PMI Oklahoma City Chapter. PUBLISHER s CHOICE

Project Time Management

Using Excel for Statistical Analysis

Optimal Resource Allocation for the Quality Control Process

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

Agile Software Engineering, a proposed extension for in-house software development

9 Keys to Effectively Managing Software Projects

Story Card Based Agile Software Development

The Importance of Project Quality Management. What Is Project Quality? The International Organization for Standardization (ISO)

A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk

MTAT Software Economics. Lecture 5: Software Cost Estimation

Agile Inspired Risk Mitigation Techniques for Software Development Projects

Evaluating Trading Systems By John Ehlers and Ric Way

Improving Software Project Management Skills Using a Software Project Simulator

The Art of Project Management: Key Adjustments Factors using Dynamic Techniques

Test Automation: A Project Management Perspective

Combining decision analysis and portfolio management to improve project selection in the exploration and production firm

Module 3: Correlation and Covariance

Accurately and Efficiently Measuring Individual Account Credit Risk On Existing Portfolios

J-Curve effect, 38, JIT. See Just-in-Time Inventory Just Enough Design Initially (JEDI), 6, 283

Building Your Business with Powerful Project Management

Introduction to Software Engineering: Overview and Methodologies

15 Principles of Project Management Success

GUIDANCE FOR ASSESSING THE LIKELIHOOD THAT A SYSTEM WILL DEMONSTRATE ITS RELIABILITY REQUIREMENT DURING INITIAL OPERATIONAL TEST.

Best practices in project and portfolio management

The Dynamic Balance Between Cost, Schedule, Features, and Quality in Software Development Projects

A Software Development Simulation Model of a Spiral Process

The Plan s Journey From Scope to WBS to Schedule

Quality Assurance Software Development Processes

Transcription:

focus return on investment Value Creation and Capture: A Model of the Software Development Process Todd Little, Landmark Graphics Landmark Graphics supplies software and services to the upstream oil and gas industry. Our software portfolio, which ranges from exploration and drilling to data management and decision analysis, includes more than 6 products consisting of over 5 million lines of source code. For many years, Landmark has been collecting project metrics we wished to harvest to gain insight into key business questions in three areas: Optimal release cycle duration (scope/time trade-off) Optimal project staffing levels Effects of uncertainty Previous approaches to understanding software dynamics and costs include building systems dynamics models or detailed cost equations. 1,2 Although they can be enlightening, these models are complex, they focus on cost rather than value, and they typically don t consider uncertainty. Other models use net present value to focus on value and uncertainty. 3,4 Understanding software development dynamics can help an organization maximize value delivery. Using functions and parameters applied in a spreadsheet, this process model facilitates this understanding by examining value creation and value capture in the presence of uncertainty. My team set out to develop a relatively simple project dynamics model to use in conjunction with market sensitivity and economic analysis to help optimize profitability. Some of our ideas and results are similar to those of Preston Smith and Donald Reinertsen, who examined the impact of time-to-market sensitivity. 5 However, our approach is a more detailed model tuned to software development issues. The model Our model features a set of functions and parameters that can be applied in a spreadsheet. You can obtain data curves in many ways, including using industry data, historical metrics, or from the team s subjective assessments. The curves I present here are of a sample base case in our commercial-project portfolio. Landmark has collected development and testing duration and effort metrics for its projects from 1995 to 23. Although I believe the curves 48 IEEE SOFTWARE Published by the IEEE Computer Society 74-7459/4/$2. 24 IEEE

4 shapes are representative of most projects, I don t intend to generalize a specific equation across all projects. I also recognize that software development depends highly on the individuals and teams involved. The model incorporates this variation to the extent that the functions should represent the project and the team involved in the work. Again, I caution against generalizing, yet so long as the limits and assumptions are known, I believe the model provides a basis for solid business decisions. The parameters and functions that define the essential model are Staff effectiveness: effective team productivity versus team size Value created: the software s assumed value versus effective development time Rework time: time to test and fix the software versus effective development time Value capture: market delay costs versus time Resources: team size and cost factors Each of these functions is a curve representing a given project s performance. Different projects behaviors can vary depending on factors such as product maturity, team experience, and development process. The base case in this study is a mature product with an existing code base and an established team. Team size For our model, we define Effective team productivity = Team size Average team productivity Productivity when team size = 1 Effective productivity 35 3 25 2 15 1 5 α 1 2 3 4 5 6 7 Team size Effective team productivity is dimensionless, while productivity can be measured in lines of code or function points. Frederick Brooks postulated team-productivity diminishing returns as the n-squared problem, referring to the n 2 increase in communication channels as you add people to a project. 6 Tarek Abdel-Hamid and Stuart Madnick modeled this with a systems dynamics model and estimated that the communication overhead of a 3-person team would be 5 percent. 1 However, their model estimates that communication overhead goes to 1 percent for a 4-person team, and it predicts a behavior different from that observed with other authors productivity data. Samuel Conte and his colleagues, using lines of code, observed that average team productivity declines exponentially with team size. 7 A reformulation of their observations gives Effective team productivity = Team size α, where, for their data, α =.5. Capers Jones uses function points to provide data including productivity and team size. 8 Using this equation and Jones s data results in an excellent fit with α =.65, which is the equation we used for this study. Figure 1 shows α =.65 relative to the curves of Abdel-Hamid, Conte, and Jones s data. Assumed value creation To assess the developed features value, we use an approach similar to Minimum Marketable Features a collection of features required to derive value from the product. 9 As with MMF, we require that each feature set has an associated estimated value and effort cost. We define value as the estimated present value of the feature if it were delivered immediately. We give costs in effective developer days, similar to how the planning game in Extreme Programming Explained uses ideal developer days. 1 We also follow XP s practice of prioritizing features on the basis of value, although we prioritized using a variant of the profitability index the ratio of present value to cost. Alternative prioritization approaches should be compatible with the model. 11,12 The result is the base curve in Figure 2. The curve s discrete nature is a result of the value materializing only at the feature set s completion. The lowest line depicts poorly prioritized features, and the remaining curves represent random prioritization. α Linear Abdel-Hamid Conte Jones α =.65 α Figure 1. Effective productivity using different models. May/June 24 IEEE SOFTWARE 49

Assumed present value created ($M) Effective rework days 45 4 35 3 25 2 15 1 5 Base case Improved through test automation 5 1, 1,5 2, 2,5 3, Effective developer days Figure 3. Rework time and process improvement s impact Relative market value 5. 4.5 4. 3.5 3. 2.5 2. 1.5 1..5 1..8.6.4.2. Base case Worst 2 4 6 Mature product with strong barrier to entry Base case New product in highly competitive market 5 1 15 2 25 3 35 4 Figure 4. Relative market value capture 1 2 Poor prioritization 8 1, 1,2 1,4 1,6 1,8 2, Effective developer days Figure 2. Assumed value creation and prioritization s effect. Testing and rework required The time required for application testing depends on both testing new features and regression-testing existing features. We ve recorded historical data for many of our projects and found good relationships for mature products, correlating required rework time to effective developer days for that release cycle. If a release s quality target differs from our collected data, then we must modify the curve accordingly. We ve also estimated testing rework for each feature and added a base amount for regression. The cumulative rework days can be cross-plotted against the cumulative prioritized development days. Both approaches give similar results. In Figure 3, required regression testing caused the base case s steep slope at the left side of the graph. We ve observed that test automation can reduce this overhead for some projects, as the improved curve shows. Market delay costs So far, we ve assumed that developed material has created value; those who make business decisions are interested in understanding how to translate that into value captured. In Landmark Graphics case, we re interested in software that s being produced for a general market. We therefore consider relative market value to be the fractional value captured as a function of the software s release date. As Figure 4 shows, there s a period of time in which the relative value drops off simply because of money s time value. At some point, competitive threats occur, and market value declines more rapidly. In the case of mature products, this period can be fairly long and the decline relatively flat, as customers don t wish to update their application suite rapidly. For new products, this curve can drop off more precipitously, particularly if substantial competition exists in the new market. Putting it all together I can now construct the overall model from these basic components. In addition to the functions I ve described, I must define the number of developers on the project and their associated costs. Figure 5 shows a flow diagram of the overall model as a series of table lookups from the parametric curves. The resulting curves Figure 6 indicates model results for the base case. The overall assumed value creation from 5 IEEE SOFTWARE www.computer.org/software

Number of developers Development duration Number of effective developers Number of effective developer days Testing days required Total duration Relative market value Costs Value created Gross value capture Net present value In the equations below, let f n represent the function underlying the graph in Figure N. Start with Number of developers. Number of effective developers = f 1 (Number of developers) Loop over Development duration, for example in increments of 2 days. Effective developer days = Number of effective developers Development duration Assumed value created = f 2 (Effective developer days) Effective rework days = f 3 (Effective developer days) Rework duration = Effective rework days / Number of effective developers Total duration = Development duration + Rework duration Relative market value = f 4 (Total duration) Gross value capture = Relative market value Assumed value created Net present value = Gross value capture Present value of costs Repeat for more values of Development duration. Plot Net present value as a function of Total duration. Figure 5. Flow diagram of Landmark Graphics software development process model. the developed features (red curve) multiplied by the relative-market-value curve gives the gross value captured curve. This represents the amount of created value that can be captured in the marketplace. The shaded area represents the net present value after adjusting by cost. The adjusted curve resembles those shown for general new-product development, 6 as both models examine the issues of market timing on value capture. If we treat this as a deterministic problem, it s a simple optimization task to search for the maximum NPV to determine project duration and extract all other project parameters from the model. This graph also demonstrates the tension that can exist in the various organizational groups focused on assumed value creation or relative market value. The customer, marketing group, or management will be quite cognizant of the relative market value and, as a result, will wish to drive the project up and to the left. The development team, on the other hand, sees that driving the project up and to the right can increase development s assumed value creation. Both parties strive to increase value, but with different motivations. The conflict can be particularly frustrating if either side takes a strong position without understanding the overall picture. This model can help bring both sides to a common understanding by looking to the NPV. Assessing model sensitivity One objective was to develop a method for determining the optimal staff size for projects. As Figure 7 demonstrates, we obtain the maximum NPV for the base case project with a Value ($M) 4. 3.5 3. 2.5 2. 1.5 1..5 Relative market value Net present value Assumed value creation Cost Gross value captured. 5 1 15 2 25 3 35 Figure 6. Model results for the base case. Net present value ($M) 1..9.8.7.6.5.4.3.2.1 5 1..8.6.4.2 Team size 4 Relative market value 1 15 2 25 Figure 7. Using the model to optimize team size. 6 8 1 May/June 24 IEEE SOFTWARE 51

Net present value ($M) 1.4 1.2 1..8.6.4.2. 2 4 6 Pair: α =.75, 4% rework Base case without pairing Pair: 115% dev., 4% rework 8 1 12 14 16 18 2 Figure 8. Comparing the base case to a pair-programming case. Cumulative probability distribution.1 DeMarco log-normal fit DeMarco data Landmark log-normal fit Landmark data 1..9.8.7.6.5.4.3.2.1. 1. 1. Ratio of actual/estimate Figure 9. Uncertainty in project estimation. Net present value ($M) 1.6 1.4 1.2 1..8.6.4.2.. C: Duration 1/2( α), value + 1/2( α) B: Base case A: Duration + 1/2( α), value 1/2( α) Target: best possible scenario if everything went perfectly Plan: expected scope for the release at the optimal time that it can be released Contract: minimum scope at the latest date that it can be released 5. 1. 15. 2. 25. 3. 35. Figure 1. Net present value uncertainty. team of six. Note that the optimal NPV doesn t vary greatly for different staff sizes, although the corresponding release date and delivered feature sets are different. We can also change the curves assumptions and consider some what-if scenarios, such as the economic benefit of introducing pair programming. For our purposes, we want to compare a project with the same team size and same output-quality objectives; this differs slightly from other authors approaches. 13,14 We compared our base case of six developers to three paired developers. The model parameters come from Alistair Cockburn and Laurie Williams s research, who reported that paired development takes 15 percent more effort and the defect rate is 6 percent lower. 15 We made the optimistic assumption that fewer defects would cut rework time to 4 percent. As Figure 8 shows, with these assumptions, the base case and red pair curves have nearly identical optimal NPV of about $1 million. While further reviewing the assumptions, we found that Cockburn and Williams s study compared one-person teams to two-person teams. We looked at team productivity earlier, and, for α =.65, we have 2.65 = 1.57, while 2/1.15 = 1.74. It s possible that pairing s overhead is similar or even less than that observed in general team dynamics. Pair programming advocates claim the overall team is more effective as individuals rotate on different pairing assignments. If this is the case, pairing s impact might be a higher α. The green curve in Figure 8 shows α =.75 along with the 4 percent factor on rework time. This could be an area of further research. Uncertainty Things would be easy if software development were predictable and could be modeled accordingly. However, the reality is that uncertainty is a natural part of the software development process. The Standish CHAOS Report 16 indicates that only 2 percent of projects are finished on time relative to their original plan. We ve quantified some of the uncertainty, and in Figure 9 we plot the cumulative-probability distribution of the actual/estimate ratio for our data and compare it to Tom DeMarco s data. 17 We use duration data, while DeMarco reported effort data. The results are remarkably similar and clearly show a log-normal distribution with about a 1 to 2 percent probability of 52 IEEE SOFTWARE www.computer.org/software

About the Author meeting the original target, about a 5 percent chance of requiring less than two times the original target, and a 9 percent chance of requiring less than four times the original target. While uncertainty can exist in all the parameters, for most of our projects, we believe the uncertainties in value and duration estimation have the greatest influence on the overall project NPV uncertainty. For a quick view of the uncertainty range, we find it useful to construct three cases for comparison using the standard deviation (σ) for each distribution. Our distribution is log-normal, so +/ σ is equivalent to a multiplication scale factor: +1/2(σ) is a factor of 1.25, while 1/2(σ) is a factor of 1/1.25 =.8. Figure 1 shows the NPV as a function of total duration for three cases: A. Duration +1/2(σ), value 1/2(σ) B. Base case with median values C. Duration 1/2(σ), value +1/2(σ) Given that this uncertainty must be managed during the life of the project, we ve taken an approach similar to Kent Beck and Dave Cleal s idea of optional scope contracts. 18 We map the three scenarios as A. Contract B. Plan C. Target In the Contract, Plan, Target approach, the target, or best possible scenario, gives the most scope at the earliest date possible. This is similar to what Tom DeMarco and Timothy Lister called the nano-percent date. 19 Teams should have little difficulty establishing targets, since they re based on the assumption that nothing unexpected will happen. The other extreme is the contract. This is defined as the minimum scope at the latest date that can be tolerated. If the project were to have any less scope or be delivered any later, it would be considered a failure. We ve experienced a cultural resistance to establishing this project constraint, with project stakeholders unwilling to accept the range of uncertainty. We ve used the model s results to help stakeholders understand this range. By establishing the contract and the project s minimum success criteria, the project team understands what they must absolutely deliver. As long as the stakeholders understand the probability of making the contract, other programs such as a marketing rollout can also be planned accordingly. Just making the relatively quick assessment of these three scenarios provides a wealth of information with which you can make rational investment and planning decisions. While this model is quite simple, it might be more complex than some organizations require and less complex than others would prefer. To be truly useful, the model should be tuned to the organization and include some subjective assessment. The process of creating the model parameters generates conversations about project assumptions. These conversations can help stakeholders understand the project drivers and success criteria that will help maximize business value. We ve begun running projects using the Contract, Plan, Target approach, and this has significantly reduced our delivery uncertainty. The development team understands what they must absolutely deliver, and the marketing organization can feel confident they ll have a release with content sufficient enough to roll out to customers. Todd Little is a senior development manager for Landmark Graphics. His interests include agile software development, and he s the conference chair for the 24 Agile Development Conference. He received his MS in petroleum engineering from the University of Houston. He s a member of the Agile Alliance, the IEEE, and the Society of Petroleum Engineers. He is also a registered Professional Engineer in the state of Texas. Contact him at tlittle@lgc.com. References 1. T. Abdel-Hamid and S. Madnick, Software Project Dynamics, Prentice Hall, 1991. 2. B.W. Boehm, Software Cost Estimation with COCOMO II, Prentice Hall, 2. 3. H. Erdogmus, Valuation of Learning Options in Software Development under Private and Market Risk, Eng. Economist, vol. 47, no. 3, 22, pp. 38 353. 4. H. Erdogmus, Comparative Evaluation of Software Development Strategies Based on Net Present Value, Int l Workshop Economics-Driven Software Eng. Research, 1999. 5. P.G. Smith and D.G. Reinertsen, Developing Products in Half the Time: New Rules, New Tools, 2nd ed., John Wiley & Sons, 1997. 6. F.P. Brooks Jr., The Mythical Man-Month, Addison-Wesley, 1975. 7. S.D. Conte, H. Dunsmore, and V.Y. Shen, Software Engineering Metrics and Models, Benjamin/Cummings, 1986. 8. C. Jones, Software Assessments, Benchmarks, and Best Practices, Addison-Wesley, 2. 9. M. Denne and J. Cleland-Huang, Software by Numbers: Low-Risk, High-Return Development, Prentice Hall, 23. 1. K. Beck, Extreme Programming Explained: Embrace Change, Addison-Wesley, 1999. 11. K. Wiegers, First Things First: Prioritizing Requirements, Software Development, vol. 7, no. 9, Sept. 1999, pp. 48 53. 12. B. Nejmeh and I. Thomas, Business-Driven Product Planning Using Feature Vectors and Increments, IEEE Software, vol. 19, no. 6, 22, pp. 34 42. 13. H. Erdogmus and L. Williams, The Economics of Software Development by Pair Programmers, Eng. Economist, vol. 48, no. 4, 23, pp. 283 319. 14. F. Padberg and M. Müller, Analyzing the Cost and Benefit of Pair Programming, Proc. 9th Int l Software Metrics Symp. (Metrics 3), IEEE CS Press, 23, pp. 166 178. 15. A. Cockburn and L. Williams, The Costs and Benefits of Pair Programming, Extreme Programming Examined, G. Succi and M. Marchesi, eds., Addison-Wesley, 21, pp. 223 243. 16. The CHAOS Report, The Standish Group Int l, 1998. 17. T. DeMarco, Controlling Software Projects, Prentice Hall, 1982. 18. K. Beck and D. Cleal, Optional Scope Contracts, tech. report, 1999; www.xprogramming. com/ftp/optional+scope+contracts.pdf. 19. T. DeMarco and T. Lister, Waltzing with Bears, Dorset House, 23. May/June 24 IEEE SOFTWARE 53