"This pioneering book highlights critical, overlooked skills needed by true software professionals."
CEO and Chief Software Engineering
"It's about time someone took this stuff seriously."
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.
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.
I. Introduction and Foundations.
1. Return on Software: Maximizing the Return on Your Software Investment.
Software on Purpose.
Waste Not, Want Not.
The Primary Message.
A Secondary Message: Software Engineering Versus Computer Science.
An Overview of the Book.
2. Business on Purpose.
Why Are Companies in Business, Anyway?
Business Decisions in For-Profit Organizations.
Business Decisions in Not-for-Profit Organizations.
Business Decisions in Your Own Personal Finances.
3. The Fundamental Concepts of Business Decisions.
Cash-Flow Instances and Cash-Flow Streams.
Developing Cash-Flow Streams.
4. The Business Decision-Making Process.
Introducing the Business Decision-Making Process.
Understand the Real Problem.
Define the Selection Criteria.
Identify All Reasonable Technically Feasible Solutions (the Proposals).
Evaluate Each Proposal Against the Selection Criteria.
Select the Preferred Proposal.
Monitor the Performance of the Selected Proposal.
5. Interest: The Time Value of Money.
Time Is Money.
Naming Conventions in Interest Formulas.
Discrete Compounding of Interest.
Single-Payment Compound-Amount (F/P).
Single-Payment Present-Worth (P/F).
Equal-Payment-Series Compound-Amount (F/A).
Equal-Payment-Series Sinking-Fund (A/F).
Equal-Payment-Series Capital-Recovery (A/P).
Equal-Payment-Series Present-Worth (P/A).
Summarizing the Formulas.
Some Other Handy Relationships.
6. Other Interest(ing) Calculations.
Using Different Interest Periods and Compounding Frequencies.
The Relationship Between Cash-Flow Instances and Compounding Interval.
Continuous Compounding, Discrete Payment.
Determining Actual Interest Rates.
Paying off a Loan Through a Single, Lump-Sum Payment.
Separating Interest and Principal in Loan Payments.
Paying Off a Loan Early Through Higher Payments.
Interest Rates Might Not Be What They Seem.
A Simple Comparison of Two Proposals.
Equivalence with Varying Cash-Flow Instances.
Equivalence Under Different Interest Rates.
8. Bases for Comparison.
Comparing Cash-Flow Streams.
A Simple Example.
Present Worth, PW(i).
Future Worth, FW(i).
Annual Equivalent, AE(i).
Internal Rate of Return, IRR.
Project Balance, PB(i).
Capitalized Equivalent Amount, CE(i).
9. Developing Mutually Exclusive Alternatives.
Relationships Between Proposals.
Developing Mutually Exclusive Alternatives.
The “Do Nothing” Alternative.
II. Making For-profit Business Decisions.
10. For-Profit Decision Analysis.
Minimum Attractive Rate of Return (MARR).
Before- and After-Tax MARRs.
The Basic For-Profit Decision Process.
Decisions Based on Total Versus Differential Cash-Flow Streams.
Present Worth on Incremental Investment.
IRR on Incremental Investment.
Comparisons Based on Total Cash-Flow Streams.
Rank on Rate of Return.
11. Planning Horizons and Economic Life.
Capital Recovery with Return, CR(i).
Finding the Economic Life of an Asset.
Special Cases in Economic Life.
Economic Lives and Planning Horizons.
12. Replacement and Retirement Decisions.
Sunk Cost and Salvage Value, Special Issues in Replacement Decisions.
The Outsider’s Viewpoint: Addressing Sunk Cost and Salvage Value.
An Example of Replacement Analysis.
III. Advanced For-profit Decision Techniques.
13. Inflation and Deflation.
Inflation and Deflation.
Price Indices: Measuring Inflation and Deflation.
Popular Price Indices.
The Inflation Rate.
Purchasing Power and Inflation.
Accounting for Inflation.
Actual Dollar Versus Constant Dollar Analysis.
Mr. Kinkaid’s Adventure in Actual and Constant Dollars.
Planning a Retirement.
Introduction to Depreciation.
Depreciation Methods Before 1981.
Accelerated Cost Recovery System (ACRS), 1981–1986.
Modified Accelerated Cost Recovery System - (MACRS), 1987 and Later.
Other Aspects of Depreciation Accounting Not Discussed Here.
15. General Accounting and Cost Accounting.
Determining Unit Cost.
16. Income Taxes and After-Tax Cash-Flow Streams.
What Are Taxes?
Federal Income Taxes for Corporations.
Federal Income Taxes for Individuals.
Effective Income Tax Rates.
Calculating After-Tax Cash-Flow Streams.
Inflation and After-Tax Cash-Flow Streams.
17. The Consequences of Income Taxes onBusiness Decisions.
Interest Expenses and Income Taxes.
Interest Income and Income Taxes.
Depreciation Method and Income Taxes.
Depreciation Recovery Period and Income Taxes.
Capital Gains and Losses for Corporations.
Gain or Loss When Selling or Scrapping Depreciable Assets.
Comparing Financing Methods in After-Tax Cash-Flow Terms.
After-Tax Analysis of Replacements.
IV. Making Decisions in Government and Nonprofit Organizations.
18. Making Not-for-Profit Business Decisions.
Software and Governments.
Software and Nonprofit Organizations.
Decision Analysis in Government and Nonprofit Organizations.
Benefit-Cost Analysis for a Single Proposal.
Benefit-Cost Analysis for Multiple Proposals.
V. Present Economy.
19. Break-Even Analysis.
Decision Variables and Objective Functions.
Break-Even Analysis with Two Alternatives.
Break-Even Analysis with Three Alternatives.
General Case Break-Even Analysis.
20. Optimization Analysis.
Optimizing a Single Alternative with a Single Decision Variable.
Optimizing Multiple Alternatives with a Single Decision Variable.
Optimizing a Single Alternative with Multiple Decision Variables.
Optimizing Multiple Alternatives with Multiple Decision Variables.
VI. Estimation, Risk, and Uncertainty.
21. Basic Estimation Concepts.
What Is an Estimate?
Estimates and Probabilities.
Estimates and Uncertainty.
The Cone of Uncertainty: Uncertainties Change over Time.
Expressing Estimate Uncertainty.
The Cone of Uncertainty in Light of a Fixed Schedule.
22. General Estimation Techniques.
Expert Judgment Estimation.
Estimation by Analogy.
Estimation by Statistical Methods.
Estimating by Multiple Methods.
Make Assumptions Explicit.
23. Allowing for Inaccuracy in Estimates.
Knowledge Drives Estimation Accuracy.
Allowing for Inaccuracy in Estimates.
Allowing for Inaccuracy Using Conservative Decision Criteria.
More Effective Strategies.
Considering Ranges of Estimates.
Delay Final Decisions.
24. Decision Making Under Risk.
Expected Value Decision Making.
Expectation Variance in Decision Making.
Monte Carlo Analysis.
The Expected Value of Perfect Information.
25. Decision Making Under Uncertainty.
The Payoff Matrix.
The Laplace Rule.
The Maximin Rule.
The Maximax Rule.
The Hurwicz Rule.
The Minimax Regret Rule.
Summary of the Decision Rules.
VII. Multiple-Attribute Decisions.
26. Decisions Based on Multiple Attributes.
Different Kinds of “Value”.
Choosing the Attributes.
Selecting Measurement Scales.
Dimensionality of the Decision Techniques.
Noncompensatory Decision Techniques.
Compensatory Decision Techniques.
27. Closing Remarks.
A Review of the Book.
The Primary Message.
A Secondary Message: Software Engineering Versus Computer Science.
Appendix A. Software Project Work Breakdown Structures.
Appendix B. Interest Tables.
Appendix C. Linear Interpolation.
Appendix D. Derivatives.
Appendix E. Introduction to Probability and Statistics.
Appendix F. Answers to Selected Self-Study Questions.
Appendix G. Glossary.