There are hundreds of books on topics relevant to various aspects of software engineering. However, when we analyze what went wrong with so many of our large practical software projects, one of the leading culprits is a misunderstanding of the business, economic and financial aspects of the projects. Where are the books and courses to help us with this major problem?
University engineering programs often have a course such as Fundamentals of Engineering Economy. What Steve Tockey has done with his book is to apply these general engineering economics topics specifically to the field of Software Engineering and set a standard for the subfield of Software Engineering Economics. His is not the first such book (see, e. g., Barry Boehm, Software Engineering Economics, Prentice Hall, 1981 or Leon Levy, Taming the Tiger - Software Engineering and Software Economics, Springer-Verlag, 1987) but it is the most thorough and up-to-date one that I know. It is an excellent book on a very important subject. Every professional software engineer, whether CTO, group manager or programmer in the trenches, will benefit considerably from reading this book.
Return on Software is divided into several major parts: general concepts of business decision-making, interest and the value of money, and cash flow streams; business decision-making at for-profit companies; decision-making at government and not-for-profit organizations; estimation, risk and uncertainty; and decision-making based on criteria other than money such as reliability, quality, speed, and other important features (strict economists might argue that all of these other criteria could be equivalenced to money considerations but I think considering these other criteria on their own seems more natural to me).
Judging from the topics listed above, Steve believes business decision-making to be the key ingredient of successful software engineering. I could not agree more. The crucial chapter in the book is #4: The Business Decision-Making Process. The key topics in this chapter include understanding the real problem, defining the selection criteria, identifying all reasonable technically feasible solutions, evaluating those proposals, selecting the preferred proposal, and monitoring its performance. The remainder of the book is an elucidation of those topics.
Each chapter closes with a summary and a set of self-study questions supporting the book to being used as a textbook. My university will offer a course around "Return on Software" in the spring quarter for our Master of Software Engineering students and I expect the course to be offered regularly. The last time I checked, Steve's company was not offering a short course on his book's topic but it would not surprise me to see one soon.
To prove that I am not from the publisher's marketing department, I would like to suggest that the next edition include at least two more topics: buy-or-build decision-making and outsourcing (whether offshore or not).