You are previewing Return on Software: Maximizing the Return on Your Software Investment.
O'Reilly logo
Return on Software: Maximizing the Return on Your Software Investment

Book Description

"This pioneering book highlights critical, overlooked skills needed by true software professionals."

Steve McConnell
CEO and Chief Software Engineering
Construx Software

"It's about time someone took this stuff seriously."

Steven Mellor
Chief Scientist
Embedded Systems Division
Mentor Graphics Corporation
Co-Author of Exploring the Role of Executable UML in Model-Driven Architecture and six other books

"Despite the fact that engineering economics is considered a core area of any engineering field, virtually no books have been written in the area of software engineering economics. Steve Tockey's Return on Software nicely fills this gaps by providing a comprehensive introduction to software engineering economics accessible both to students and to new software professionals."

Donald J. Bagert, Ph.D., P.E. Director of Software Engineering and Professor of Computer Science & Software Engineering Rose-Hulman Institute of Technology

"The elements of this book are useful not only in making decisions but also in understanding why and how other people and organizations make decisions"

Shari Lawrence Pfleeger
Senior Researcher, RAND
Co-author of Security in Computing and eight other software engineering titles

"This just what the doctor ordered to help software programs solve the problem of how to introduce engineering economics and business decision-making into their curricula. The economics of software development should not only be part of any computing curriculum they are an essential element of recent accreditation and certification recommendations.

This book is an accessible and relevant text for any student of software engineering. The style is clear and straightforward and the software examples will be appealing to students and faculty alike. I can't wait to use it in class!"

Thomas B. Hilburn, Professor
Department of Computer and Software Engineering
Embry-Riddle Aeronautical University

Is your organization maximizing the return on its investments of money, time, and personnel? Probably not, because most software professionals don't know how to consider the business aspects of their software decisions. Most don't even know that it's important to do so. Business consequences should play a critical role in all software technical choices—from choosing which projects to do, selecting software development processes, choosing algorithms and data structures, all the way to determining how much testing is enough.

Return on Software: Maximizing the Return on Your Software Investment is about making choices: software technical choices in a business context. It helps software professionals appreciate the business consequences of the decisions they make. This primer will prove a valuable reference for making the important decisions the typical software organization faces both today and down the road. Inside, you'll learn how to:

  • Estimate how much each proposed software technical decision will cost, and how much it will return.

  • Weigh the time frames for a software decision's costs and benefits against each other to reveal when there might be a more important factor than schedule.

  • Attach a value to quality and produce a rational answer to the question, "How much testing is enough?"

  • Account for risk and uncertainty in software technical decisions, such as when considering a new technology.

  • Communicate your decisions in a way that speaks to the all-important bottom line.

  • Each chapter contains a set of self-study questions designed to help you apply the featured concepts and techniques. An enhanced online index allows you to quickly and easily search the entire text for specific topics.

    Table of Contents

    1. Copyright
    2. Quick Reference Guide
    3. Quick Reference Guide
    4. PRAISE FOR RETURN ON SOFTWARE
    5. Acknowledgements
    6. Foreword
    7. Preface
    8. INTRODUCTION AND FOUNDATIONS
      1. Return on Software: Maximizing the Return on Your Software Investment
        1. Software on Purpose
        2. Waste Not, Want Not
        3. The Primary Message
        4. A Secondary Message: Software Engineering Versus Computer Science
        5. An Overview of the Book
        6. Summary
        7. Self-Study Questions
      2. Business on Purpose
        1. Why Are Companies in Business, Anyway?
        2. Business Decisions in For-Profit Organizations
        3. Business Decisions in Not-for-Profit Organizations
        4. Business Decisions in Your Own Personal Finances
        5. Summary
        6. Self-Study Questions
      3. The Fundamental Concepts of Business Decisions
        1. Proposals
        2. Cash-Flow Instances and Cash-Flow Streams
        3. Cash-Flow Diagrams
        4. Developing Cash-Flow Streams
        5. Summary
        6. Self-Study Questions
      4. The Business Decision-Making Process
        1. Introducing the Business Decision-Making Process
        2. Understand the Real Problem
        3. Define the Selection Criteria
        4. Identify All Reasonable Technically Feasible Solutions (the Proposals)
        5. Evaluate Each Proposal Against the Selection Criteria
        6. Select the Preferred Proposal
        7. Monitor the Performance of the Selected Proposal
        8. Summary
        9. Self-Study Questions
      5. Interest: The Time Value of Money
        1. Time Is Money
        2. Interest
        3. Naming Conventions in Interest Formulas
        4. Simple Interest
        5. Discrete Compounding of Interest
        6. Single-Payment Compound-Amount (F/P)
        7. Single-Payment Present-Worth (P/F)
        8. Equal-Payment-Series Compound-Amount (F/A)
        9. Equal-Payment-Series Sinking-Fund (A/F)
        10. Equal-Payment-Series Capital-Recovery (A/P)
        11. Equal-Payment-Series Present-Worth (P/A)
        12. Summarizing the Formulas
        13. Some Other Handy Relationships
        14. Summary
        15. Self-Study Questions
      6. Other Interest(ing) Calculations
        1. Using Different Interest Periods and Compounding Frequencies
        2. The Relationship Between Cash-Flow Instances and Compounding Interval
        3. Continuous Compounding, Discrete Payment
        4. Determining Actual Interest Rates
        5. Paying off a Loan Through a Single, Lump-Sum Payment
        6. Separating Interest and Principal in Loan Payments
        7. Paying Off a Loan Early Through Higher Payments
        8. Interest Rates Might Not Be What They Seem
        9. Summary
        10. Self-Study Questions
      7. Equivalence
        1. A Simple Comparison of Two Proposals
        2. Simple Equivalence
        3. Equivalence with Varying Cash-Flow Instances
        4. Equivalence Under Different Interest Rates
        5. Summary
        6. Self-Study Questions
      8. Bases for Comparison
        1. Comparing Cash-Flow Streams
        2. A Simple Example
        3. Present Worth, PW(i)
        4. Future Worth, FW(i)
        5. Annual Equivalent, AE(i)
        6. Internal Rate of Return, IRR
        7. Payback Period
        8. Project Balance, PB(i)
        9. Capitalized Equivalent Amount, CE(i)
        10. Summary
        11. Self-Study Questions
      9. Developing Mutually Exclusive Alternatives
        1. Relationships Between Proposals
        2. Alternatives
        3. Developing Mutually Exclusive Alternatives
        4. The “Do Nothing” Alternative
        5. Example Proposals
        6. Summary
        7. Self-Study Questions
    9. MAKING FOR-PROFIT BUSINESS DECISIONS
      1. For-Profit Decision Analysis
        1. Minimum Attractive Rate of Return (MARR)
        2. Before- and After-Tax MARRs
        3. The Basic For-Profit Decision Process
        4. Decisions Based on Total Versus Differential Cash-Flow Streams
        5. Present Worth on Incremental Investment
        6. IRR on Incremental Investment
        7. Comparisons Based on Total Cash-Flow Streams
        8. Rank on Rate of Return
        9. Summary
        10. Self-Study Questions
      2. Planning Horizons and Economic Life
        1. Planning Horizons
        2. Capital Recovery with Return, CR(i)
        3. Economic Life
        4. Finding the Economic Life of an Asset
        5. Special Cases in Economic Life
        6. Economic Lives and Planning Horizons
        7. Summary
        8. Self-Study Questions
      3. Replacement and Retirement Decisions
        1. Replacement Decisions
        2. Sunk Cost and Salvage Value, Special Issues in Replacement Decisions
        3. The Outsider's Viewpoint: Addressing Sunk Cost and Salvage Value
        4. An Example of Replacement Analysis
        5. Retirement Decisions
        6. Summary
        7. Self-Study Questions
    10. ADVANCED FOR-PROFIT DECISION TECHNIQUES
      1. Inflation and Deflation
        1. Inflation and Deflation
        2. Price Indices: Measuring Inflation and Deflation
        3. Popular Price Indices
        4. The Inflation Rate
        5. Purchasing Power and Inflation
        6. Accounting for Inflation
        7. Actual Dollar Versus Constant Dollar Analysis
        8. Mr. Kinkaid's Adventure in Actual and Constant Dollars
        9. Planning a Retirement
        10. Summary
        11. Self-Study Questions
      2. Depreciation
        1. Introduction to Depreciation
        2. Actual Depreciation
        3. Depreciation Accounting
        4. Value-Time Functions
        5. Book Value
        6. Depreciation Methods
        7. Depreciation Methods Before 1981
        8. Declining-Balance Depreciation
        9. Accelerated Cost Recovery System (ACRS), 1981–1986
        10. Modified Accelerated Cost Recovery System (MACRS), 1987 and Later
        11. Units-of-Production Depreciation
        12. Depletion
        13. Other Aspects of Depreciation Accounting Not Discussed Here
        14. Summary
        15. Self-Study Questions
      3. General Accounting and Cost Accounting
        1. General Accounting
        2. Cost Accounting
        3. Determining Unit Cost
        4. Summary
        5. Self-Study Questions
      4. Income Taxes and After-Tax Cash-Flow Streams
        1. What Are Taxes?
        2. Federal Income Taxes for Corporations
        3. Federal Income Taxes for Individuals
        4. Effective Income Tax Rates
        5. Calculating After-Tax Cash-Flow Streams
        6. Tax Credits
        7. Inflation and After-Tax Cash-Flow Streams
        8. Summary
        9. Self-Study Questions
      5. The Consequences of Income Taxes on Business Decisions
        1. Interest Expenses and Income Taxes
        2. Interest Income and Income Taxes
        3. Depreciation Method and Income Taxes
        4. Depreciation Recovery Period and Income Taxes
        5. Capital Gains and Losses for Corporations
        6. Gain or Loss When Selling or Scrapping Depreciable Assets
        7. Comparing Financing Methods in After-Tax Cash-Flow Terms
        8. After-Tax Analysis of Replacements
        9. Summary
        10. Self-Study Questions
    11. MAKING DECISIONS IN GOVERNMENT AND NONPROFIT ORGANIZATIONS
      1. Making Not-for-Profit Business Decisions
        1. Software and Governments
        2. Software and Nonprofit Organizations
        3. Decision Analysis in Government and Nonprofit Organizations
        4. Benefit-Cost Analysis for a Single Proposal
        5. Benefit-Cost Analysis for Multiple Proposals
        6. Cost-Effectiveness Analysis
        7. Summary
        8. Self-Study Questions
    12. PRESENT ECONOMY
      1. Break-Even Analysis
        1. Decision Variables and Objective Functions
        2. Break-Even Analysis with Two Alternatives
        3. Break-Even Analysis with Three Alternatives
        4. General Case Break-Even Analysis
        5. Summary
        6. Self-Study Questions
      2. Optimization Analysis
        1. Introducing Optimization
        2. Optimizing a Single Alternative with a Single Decision Variable
        3. Optimizing Multiple Alternatives with a Single Decision Variable
        4. Optimizing a Single Alternative with Multiple Decision Variables
        5. Optimizing Multiple Alternatives with Multiple Decision Variables
        6. Summary
        7. Self-Study Questions
    13. ESTIMATION, RISK, AND UNCERTAINTY
      1. Basic Estimation Concepts
        1. What Is an Estimate?
        2. Why Estimate?
        3. Estimates and Probabilities
        4. Estimates and Uncertainty
        5. The Cone of Uncertainty: Uncertainties Change over Time
        6. Expressing Estimate Uncertainty
        7. The Cone of Uncertainty in Light of a Fixed Schedule
        8. Summary
        9. Self-Study Questions
      2. General Estimation Techniques
        1. Expert Judgment Estimation
        2. Estimation by Analogy
        3. Bottom-Up Estimation
        4. Estimation by Statistical Methods
        5. Estimating by Multiple Methods
        6. Make Assumptions Explicit
        7. Summary
        8. Self-Study Questions
      3. Allowing for Inaccuracy in Estimates
        1. Knowledge Drives Estimation Accuracy
        2. Allowing for Inaccuracy in Estimates
        3. Allowing for Inaccuracy Using Conservative Decision Criteria
        4. More Effective Strategies
        5. Considering Ranges of Estimates
        6. Sensitivity Analysis
        7. Delay Final Decisions
        8. Summary
        9. Self-Study Questions
      4. Decision Making Under Risk
        1. Expected Value Decision Making
        2. Expectation Variance in Decision Making
        3. Monte Carlo Analysis
        4. Decision Trees
        5. The Expected Value of Perfect Information
        6. Summary
        7. Self-Study Questions
      5. Decision Making Under Uncertainty
        1. The Payoff Matrix
        2. The Laplace Rule
        3. The Maximin Rule
        4. The Maximax Rule
        5. The Hurwicz Rule
        6. The Minimax Regret Rule
        7. Summary of the Decision Rules
        8. Summary
        9. Self-Study Questions
    14. MULTIPLE-ATTRIBUTE DECISIONS
      1. Decisions Based on Multiple Attributes
        1. Different Kinds of “Value”
        2. Choosing the Attributes
        3. Selecting Measurement Scales
        4. Dimensionality of the Decision Techniques
        5. Noncompensatory Decision Techniques
        6. Compensatory Decision Techniques
        7. Summary
        8. Self-Study Questions
    15. SUMMARY
      1. Closing Remarks
        1. A Review of the Book
        2. The Primary Message
        3. A Secondary Message: Software Engineering Versus Computer Science
        4. Summary
        5. Self-Study Questions
      2. Software Project Work Breakdown Structures
        1. Developing a WBS
        2. Software Project WBS Template
        3. Checklist
      3. Interest Tables
      4. Linear Interpolation
        1. EXTRAPOLATION
      5. Derivatives
      6. Introduction to Probability and Statistics
        1. Basic Probability Concepts
        2. Probability Axioms
        3. Probability Functions
        4. Summary
        5. Suggested Resources
      7. Answers to Selected Self-Study Questions
        1. Chapter 1 Self-Study Questions
        2. Chapter 2 Self-Study Questions
        3. Chapter 3 Self-Study Questions
        4. Chapter 4 Self-Study Questions
        5. Chapter 5 Self-Study Questions
        6. Chapter 6 Self-Study Questions
        7. Chapter 7 Self-Study Questions
        8. Chapter 8 Self-Study Questions
        9. Chapter 9 Self-Study Questions
        10. Chapter 10 Self-Study Questions
        11. Chapter 11 Self-Study Questions
        12. Chapter 12 Self-Study Questions
        13. Chapter 13 Self-Study Questions
        14. Chapter 14 Self-Study Questions
        15. Chapter 15 Self-Study Questions
        16. Chapter 16 Self-Study Questions
        17. Chapter 17 Self-Study Questions
        18. Chapter 18 Self-Study Questions
        19. Chapter 19 Self-Study Questions
        20. Chapter 20 Self-Study Questions
        21. Chapter 21 Self-Study Questions
        22. Chapter 22 Self-Study Questions
        23. Chapter 23 Self-Study Questions
        24. Chapter 24 Self-Study Questions
        25. Chapter 25 Self-Study Questions
        26. Chapter 26 Self-Study Questions
        27. Chapter 27 Self-Study Questions
      8. Glossary
    16. References
    17. Index