Ultimately, software development is about creating value yet, all too often, software fails to deliver the business value customers need. This book will help you change that, by linking software development directly to value creation. You'll learn exactly how to identify which features add value and which don't, and refocus your entire development process on delivering more value, more rapidly.
Software by Numbers shows you how to:
Identify Minimum Marketable Features (MMFs)—the fundamental units of value in software development
Accelerate value delivery by linking iterative development to iterative funding
Optimize returns through incremental architecture techniques
Effectively involve business stakeholders in the development process
Sequence feature delivery based on "mini-ROI" assessments
Quantify financial risk at every step throughout the development process
Manage "intangibles" throughout the software development process
Whatever methodology you're already using—whether it's RUP or XP—this book shows how to achieve the goals that matter most to your business: reduced risk, better cash flow, and higher ROI.
Review By: Jennifer Cannon 06/15/2010In this book, Mark Denne and co-author Jane Cleland-Huang have assembled several years of experience in winning competitive contracts for systems integration and application development projects to create a new approach to the software development process, called the Incremental Funding Methodology (IFM).
The authors take the latest ideas in iterative development methodologies and apply them in such a way that the greatest financial benefits are realized for the customer, in addition to the technological benefits they receive. Most people know that the software development process has risks and costs, and that much time and energy is spent trying to reduce those risks and costs. However, this book clearly shows the benefits of looking at the software development process as a value creation process.
The first part of the book deals with a discussion of the financial metrics that are used to track value creation activities such as ROI, cash flow projections, payback time, net present value, breakeven time, and the internal rate of return. Next is a discussion of Minimum Marketable Features (MMF) and how they impact those financial metrics. An MMF is defined by Denne as a chunk of functionality that delivers a subset of the customer’s requirements and is capable of returning value to the customer when released as an independent entity. MMFs are the building blocks of IFM, and the carefully prioritized delivery schedule of these customer-valued functionality "chunks" is what defines this methodology. The book goes into great detail about identifying MMFs, IFM sequencing strategies, and IFM heuristics. The authors include two chapters where they apply the IFM principles to the Rational Unified Process and to Agile development methodologies (XP, feature-driven development, and SCRUM), so the reader will understand more than just the academics of this methodology. There’s also a case study where the IFM principles are applied to a hypothetical project, which brings all of the principles together.
In many ways iterative software development methodologies have been successful—there are studies to show how effective they are, tools have been created to support them, even a new vocabulary has evolved because of them. As powerful as iterative development methodologies are, Denne and Cleland-Huang do a great job in taking the principles that make the methodologies so successful and adding a whole new dimension to the entire development process that can take software development to another level. The book has only 186 pages, but the authors clearly explain the theories and tools needed for utilizing the Incremental Funding Methodology, in addition to providing example financial calculations to support their theories. And, if you need further help with implementing the methodology, there’s a companion Web site that contains additional information and downloadable tools.
The chapters in which the IFM principles were applied to the Rational Unified Process and the Agile development methodologies, and the case study that illustrated the principles using a hypothetical project were very helpful and provided a more complete example of how the methodology works. Instead of being bombarded with just theories and tables of numbers, you're able to easily see how this methodology fits hand in hand with iterative development methodologies. It’s such a plus to know that in order to implement IFM, your company doesn't require a total overhaul of its current development methodology (if your company is already using an iterative development methodology, that is, if you're still using the conventional “Waterfall” approach, it may not work).
I believe this book can be a useful resource to analysts, project managers, developers, and customers.