You are previewing Software by Numbers: Low-Risk, High-Return Development.
O'Reilly logo
Software by Numbers: Low-Risk, High-Return Development

Book Description

Software by Numbers is a significant new contribution to value-based, financially responsible software engineering...—Barry Boehm, Ph.D., Director, USC Center for Software Engineering, Creator of COCOMO and Spiral Model

Link software development to value creation and optimize ROI.

Ultimately, software development is about creating value—yet, all too often, software fails to deliver the business value customers need. This book will help you change that, by linking software development directly to value creation. You'll learn exactly how to identify which features add value and which don't—and refocus your entire development process on delivering more value, more rapidly.

Software by Numbers shows you how to:

  • Identify Minimum Marketable Features (MMFs)—the fundamental units of value in software development

  • Accelerate value delivery by linking iterative development to iterative funding

  • Optimize returns through incremental architecture techniques

  • Effectively involve business stakeholders in the development process

  • Sequence feature delivery based on "mini-ROI" assessments

  • Quantify financial risk at every step throughout the development process

  • Manage "intangibles" throughout the software development process

Whatever methodology you're already using—whether it's RUP or XP—this book shows how to achieve the goals that matter most to your business: reduced risk, better cash flow, and higher ROI.

Table of Contents

  1. Copyright
    1. Dedication
  2. Praise for Software by Numbers
  3. About Prentice Hall Professional Technical Reference
  4. Preface
  5. 1. Software Development after dot.com
    1. Software Development Is Easy
    2. There's a Method to the Madness
    3. If History Teaches Us Anything . . .
    4. Minimum Marketable Feature
    5. MMF Selection
    6. Opening the Black Box of Software Development
    7. Risk Control
    8. Sigma Techniques
      1. Measurable Customer Requirements
      2. Data-Backed Decision Making
      3. Incorporating the Voice of the Customer
      4. Challenging the Status Quo
      5. Span Organizational Structures
      6. Continuously Measurable Progress
    9. Summary
    10. References
  6. 2. The New ROI
    1. Applications and ROIs
    2. Why ROIs Matter
    3. The Business Case
    4. Cash Flow Projections
    5. Payback Time
    6. Present Value of Future Money
    7. Net Present Value
    8. Breakeven Time
    9. Internal Rate of Return
    10. Summary of the Terms
    11. An Example
    12. Incorporating MMFs into the Financial Case
    13. Comparing the MMF-based ROI with the Classic ROI
    14. Taking the Risks into Account
    15. The Impact of MMF Ordering
    16. Summary
    17. References
  7. 3. Identifying and Valuing Marketable Features
    1. Incremental Funding Methodology
    2. Minimum Marketable Features
    3. Candidate MMFs
    4. Determining the Value of an MMF
    5. Development and Delivery Precursors
    6. The MMF Precedence Graph
    7. Architectural Precursors
    8. Summary
    9. References
  8. 4. Incremental Architecture
    1. The Place of Architecture
    2. Architecture versus Rules
    3. The Problem with Architecture
    4. Pieces of the Pattern
    5. A Value-Driven Approach
    6. The Codependency of Architecture
    7. Taking Architecture in Easy Stages
    8. A Different Decomposition
    9. One-to-Many Dependencies in Architecture
    10. Architectural Coherency
    11. Multiple Inheritance in Architecture
    12. Spiral Architecture
    13. Summary
    14. References
  9. 5. IFM Sequencing Strategies
    1. Delivering Valued Features
    2. Cost versus Value Analysis
    3. Cost-Benefit Analysis of an MMF Delivery Sequence
    4. The Complexity of the Task
    5. MMF Sequencing Strategies
    6. The Greedy Approach
    7. A Simple Look-Ahead Approach
    8. The Weighted Look-Ahead Approach
    9. Sequencing MMFs and AEs
    10. Risk Mitigation
    11. Iterating the Sequencing Decision
    12. Summary
    13. References
  10. 6. MMF Categories and Parallel Development
    1. The Impact of MMF Behavior
    2. Time-Sensitive Delivery
    3. Exponential Growth Patterns
    4. Concurrent Development
    5. Summary
    6. References
  11. 7. Managing Intangibles
    1. Apples and Oranges: Dealing with Intangibles
    2. Managing Intangibles
    3. A Pairwise Approach to Quantifying Intangibles
      1. Step 1: Identify a Set of Gauges
      2. Step 2: Construct a Pairwise Comparison Table
      3. Step 3: Make Pairwise Comparisons
      4. Step 4: Calculate Equivalent SANPVs
    4. Hybrid MMFs
    5. The Impact of Intangibles on the Cost-Benefits Analysis
    6. Baseline NPV
    7. Potential NPV
    8. Lost Opportunity Costs
    9. Summary
    10. References
  12. 8. IFM and the Unified Process
    1. Introduction
    2. Inception
      1. Define the Vision Statement
      2. Define the Business Case
      3. Elicit MMFs
      4. Decompose MMFs into Use Cases
      5. Construct an MMF Graph
      6. Identify Major Risks Associated with Each MMF
      7. Develop a Project Glossary
      8. The Lifecycle Objective Milestone
    3. Elaboration
      1. Architectural Selection
      2. Cost and Effort Estimation
      3. The Lifecycle Architecture Milestone
    4. MMF Development and Delivery
      1. MMF Sequencing
      2. NPV Milestone
    5. MMF Design
      1. Elicit Requirements
      2. Design
      3. MMF Project Plan
      4. Feature Design Milestone
    6. MMF Construction
      1. Feature Operational Capability
      2. MMF Transition
      3. Feature Release Milestone
    7. MMF Selection Revisited
    8. Summary
    9. References
  13. 9. IFM and Agile Development
    1. The Challenges
    2. Incremental Development the Agile Way
    3. Clustering User Stories into MMFs
    4. Release Planning: Bundling User Stories in Releases
    5. Assessing the NPV of the Release Plan
    6. Release Planning Meeting
    7. The Architecture Question
    8. Simple versus Look-Ahead Solution
    9. Other Agile Development Environments
      1. Feature-Driven Development
    10. SCRUM
    11. Summary
    12. References
  14. 10. Informed Decision Making
    1. A Collaborative Approach
    2. Getting a Project Funded
    3. Manipulating Project Characteristics
    4. The IFM Window
    5. Implementing IFM Processes
    6. The Impact of IFM Strategies on Commercial Frameworks
    7. How Management Benefits from IFM
    8. When Projects Go Wrong
    9. Where Next?
    10. Summary
    11. References
  15. 11. A Case Study: IFM in Action
    1. Introduction
    2. IFM Element Definition Phase
      1. Selecting MMFs
        1. MMF A: Display Current Balance
        2. MMF B: Display Last 10 Transactions
        3. MMF C: Display Statement
        4. MMF D: Transfer Funds
        5. MMF E: Manage Bill Payees and Pay Bills
        6. MMF F: Apply for Credit Card
      2. Defining MMF Strands
      3. Eliciting Architectural Elements
      4. Defining Architectural Dependencies
      5. Construct IFM Precedence Graph
    3. Financial Phase
      1. MMF A: Display Current Balance
      2. MMF B: Display Last 10 Transactions
      3. MMF C: Display Statement
      4. MMF D: Transfer Funds
      5. MMF E: Manage Bill Payees and Pay Bills
      6. MMF F: Apply for Credit Card
      7. AE 1: Messaging
      8. AE 2: Transaction Monitor
      9. AE 3: Forms Processing and Routing
    4. Computation Phase
      1. Sequence-Adjusted NPVs
      2. Sequence Selection
      3. The Greedy Heuristic
      4. The IFM Heuristic
    5. Measuring the Effectiveness of the IFM Heuristic
    6. ROI Analysis
    7. Cash Flow and Breakeven Time
      1. Concurrent Development
    8. Summary
  16. A. Summary of IFM Terminology
  17. B. Quick Guide to the Incremental Funding Method