Past book review (i.e. posted prior to starting this blog) for Software by Numbers: Low-Risk, High-Return Development , by Mark Denne and Jane Cleland-Huang, Prentice Hall, 2003, reposted here:
This book caught my attention because I was searching for a decent book on ROI and software development, and Dr. Jane Cleland-Huang was a professor at the graduate school I attended (I was never a student of hers and have never met her). Furthering my interest in "Software by Numbers" were the facts that it runs less than 200 pages and is from Sun Microsystems. In my opinion, most large technology works can be significantly shortened if the fluff is removed from them (who has time to read fluff?), and I view Sun as a respected firm that is involved with a lot of the technologies in my workplace.
Maximizing financial return during the development of software is the main subject of this book, and the attempt of Jane and Mark Denne, her co-author, to show how to do so is a good one. Interestingly enough, the Preface of this text discusses how the authors arrived at the title "Software by Numbers", and although this title is better than the others that their friends and colleagues suggested, because it is a bit too similar to the common expression "paint by number" (which can be an idiomatic expression for "easy" or "mindless"), I do not think it does the book content justice. ROI is anything but a simple subject. Multiple formulas exist for ROI to begin with, and return can be a subjective matter because it can involve a lot of assumptions.
Quite a few financial tables are presented with the book material, and a cursory review of the accompanying ROI examples shows that there is a bit of explanation missing. Of course, there is a tradeoff here between conciseness and thoroughness, and explaining all of the assumptions made would probably not be appropriate for most readers. The authors start the discussion by stating that software development is a very difficult endeavor. The following portions of the introductory chapters explain well much of the language used throughout the rest of the book, such as minimum marketable feature (MMF) and return on investment (ROI). The authors then compare MMF-based ROI with classic ROI and discuss how to discover MMFs, how to determine their value, and how this all fits with incremental funding methodology (IFM).
While there exists overlap between the architecture discussion and the content of "Architecture in Practice" (see my review for that text), the authors quickly move forward to discussing the delivery of valued features to customers and how parallel development of multiple MMFs is often well suited for meeting customer needs. Although the chapter on how to manage intangibles provides a much more simple explanation than books such as "Making Technology Investments - ROI Road Map to Better Business Cases", the authors get their point across in a succinct manner. Similarly, the authors discuss how IFM can thrive when used with the (Rational) Unified Process and other more agile software engineering methodologies.