Software by Numbers: Low-Risk, High-Return Development
Mark Denne,Jane Cleland-Huang | 2003-10-18 00:00:00 | Prentice Hall | 208 | Software Engineering
Reviews
This book was a surprise but only because I didn't read the title properly.
"Software by Numbers : Low-Risk High-Return Development".
Fundamentally, it is about project planning and prioritisation and not about estimation.
This book starts with three assumptions:-
1. You are using a feature-driven development iterative release approach to a project.
2. You can attach numeric business value to each of the features.
3. You can estimate the cost of developing the required software modules to implement the above features.
With these assumptions in place, the authors then use a number of net present value accounting algorithms to help you schedule the software module development to provide "Low-Risk High-Return development".
The algorithms are designed to maximise business return and minimise the risk as per the book's title.
It is only 190-pages, well-laid out with clear examples pitched at the right level for me so I swallowed in a week-end with only faint and distant grumbling from my wife.
I will be trying it out on my next green-field project and interested to see how assumptions 2 and 3 stand up to the test.
Highly Recommended.
Reviews
I am an advocate of Agile Software Development methods so I read this book with that bias. What I found was this book quantifies many of the ideas of agile development that before just made intuitive sense. The book explains the potential value of developing in small steps, and has a great discussion of how incremental development and architecture interact to affect return on investment.
If you are not involved in the financial side of planning software projects you may find yourself skimming through parts, but the general themes are ones that everyone involved in planning software projects will find interesting. (This includes developers in small teams.)
In most cases customers want you to build a software application to help them make or save money, and reading this book will help you to understand that.
Reviews
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.
Reviews
Software by Numbers focuses on the financial aspects of software development. It introduces a method called "Incremental Funding Method" which demonstrates how software development with incremental delivery can fund itself, therefore lowering investment costs and thus lowering the risks for starting the development. The key-idea in the method is probably to break up the feature sets of a software product in MMFs (minimum marketable features) and calculate the investment and ROI of these separately and then deciding in what order they could be developed to maximize the total ROI.
The ideas of software by numbers are important to understand when selecting a development method that enables incremental delivery (like most agile development methods). Its especially good in convincing people who do not know software development that incremental delivery is a very good idea and financially sound idea.
To me this book was definitively worth reading. However, at some points the book seemed to lose my attention. At points I felt the authors were just repeating the same points over and over again. Eventhough the book is not very thick, I felt it could have been even thinner and conveying the same message.
Still, it's a recommended read.
Reviews
The core theory of the book is that feature/stories need to be prioritized based on business value. To anyone doing Agile (Scrum, XP, FDD) this is pretty much standard stuff.
What is new in the book is that they provide a framework for tying individual features to future cash flow/benefit for that feature to drive an analysis of net present value.
My viewpoint is that this book is very academic in orientation rather than grounded in the real world examples. As an example, there is no detailed example/sample/case study of how future cash flows were determined for a given set of features. The derivation of these values is critical to the applicability of the approach.
Do I buy it? No. I think XP User stories prioritized by the customer(s) will be a much more robust mechanism for selecting what to work on next. It will also come at a lower cost.
Download this book!
Free Ebooks Download
No comments:
Post a Comment