Pages: pp. 110-112
CMMI: Guidelines for Process Integration and Product Improvement, 2nd editionby Mary Beth Chrissis, Mike Konrad, and Sandy Shrum, Addison-Wesley, 2006, ISBN 978-0321279675, 704 pp., US$69.99.
To keep their system and software development competitive, many companies are implementing orchestrated improvement programs for their engineering processes. Process improvement in today's demanding business is crucial to improve competitiveness, expand markets, extend market penetration, better address customers' real needs, manage various software assets, and ultimately, to be more profitable. If your processes don't demand and receive continuous improvement, you won't stay in business long.
This is where CMMI (Capability Maturity Model Integration) comes into the picture. If you don't know where you are and where you need to go, change will never lead to tangible improvement. The Software Engineering Institute's CMMI provides a framework for process improvement and capability assessments. It defines five maturity levels, together with a process improvement framework for your own improvement programs and to evaluate suppliers.
Industries and companies of all sizes worldwide use CMMI, so it provides a huge body of knowledge on topics along the entire product life cycle. Based on broad feedback of this worldwide user community, the SEI recently updated this content to CMMI v1.2. Originally based on the Software-CMM that appeared 20 years ago, it's today also governed by the ISO to assure that suppliers are assessed comparably on a global basis.
CMMI: Guidelines for Process Integration and Product Improvement, Second Edition is the definite reference to CMMI v1.2 , providing standards for learning, training, assessing organizations, and directing improvements. Authors Mary Beth Chrissis, Mike Konrad, and Sandy Shrum improved the book along many dimensions, making it worth another look in this column (I reviewed the first edition in the July/August 2004 issue of IEEE Software; http://csdl2.computer.org/comp/mags/so/2004/04/s4092.pdf).
The book benefits from improvements to its style and presentation as well as improvements to the underlying model. The previous edition didn't guide readers but left them in the dark as to translating the CMMI contents to their business needs.
This has changed. The model is now tuned to explaining where you need to go before describing how to achieve your goal. The authors embed business focus and practical guidance in each process area, and these process areas structure the model and the book.
The model is also less complex than the first edition. Many of the confusing elements (such as integrated supplier management and integrated process development) have been fully reworked. The SEI processed thousands of user change requests to make the model more useful. A new case study addresses using the CMMI for software and services. It's hands-on and appealing to the many organizations whose business models combine software and service. Finally, the layout is improved, with the authors high-lighting what's most important and including many tips that illustrate how to do things better.
Having used both the new model and book for several months now, I see only a couple of places for further improvement. The book gives insufficient practical guidance for hardware, firmware, and systems development despite promising to deliver in these areas. And—not unimportant for the routine user—the paper quality is too thin to withstand daily use.
Why should you read the book? Why should your organization embark on CMMI? Certainly, it's all about competition. Companies have started to realize that change is critical: If you stand still, you fall behind! The business climate and the software marketplace have changed in favor of end users and customers. Companies must fight for new business, and customers expect process excellence. An industry-proven framework offers the benefit of improvement without getting lost in theory. CMMI offers concrete guidance in the form of structured goals, plus a wealth of best practices to implement. It presents maturity and capability levels to set up a goal-driven roadmap and a well-defined appraisal technique to assess processes and benchmarks. As a whole, the industry is becoming more mature. It's all about business: Your competitors are at the same place as you (if not ahead). The goal is to further improve planning and decision making, lower costs, adhere to schedules, and improve product quality.
CMMI: Guidelines for Process Integration and Product Improvement, Second Edition, is well-written and highly motivational. If you're new to the field, chapter 1 will help you get started with an overview and useful examples. However, don't try to read the book from beginning to end—it's not made for that. The CMMI practitioner should use the book as a reference and benefit from its numerous tips on improving daily work.
Using the CMMI effectively means selecting from the model what matters to your business needs. CMMI training courses and the experience of CMMI professionals—be it engineering process group leaders or consultants—will help you to stay on track. Always remember that successful change needs not only a technical framework for guidance (that is, this book) but also concrete improvement objectives and, above all, leadership to drive the change in the direction you need.
Software without Borders: A Step-By-Step Guide to Outsourcing Your Software Developmentby Steve Mezak, Earthrise Press, 2006, ISBN 978-0977826803, 320 pp., US$39.99.
Let's start with the positives. Software without Borders is very readable, with a lot of information about the challenges, benefits, history, and future of outsourcing software development. It has great references and several tools to help organizations prepare for outsourcing.
Throughout the book, Steve Mezak presents information, tools, questions, guidance, and recommendations on whether to outsource your software development. The book's organization takes you from start to finish, explaining how to decide to outsource, select your vendor, describe your software for the most efficient and effective outsourcing, manage your outsourcing effort, and protect your intellectual property.
Software without Borders is strongly biased toward outsourcing, viewing it as something you can't avoid. With that bias in mind, it aims to help make outsourcing your next project successful.
Mezak sets the stage by presenting six development strategies you can employ. For all but the first, outsourcing is key:
To help you choose the best development strategy, Mezak identifies 17 specific criteria. He introduces a simple outsourcing decision matrix early in the book, adding to it in each chapter as he presents more information. He divides the criteria into political, business, and technical criteria:
You can access the decision matrix and other tools and references at www.softwarewithoutborders.com. Before you decide to purchase this book, visit the site to look at the sample chapters, references, and downloadable tools.
Now, let's consider the negatives. Ultimately, Software without Borders is a marketing tool for the author's outsourcing services. Yeah, I know, all books can be considered marketing tools, but this book's marketing aspect comes off strong. On one hand, I admire the honesty of the approach; no one's fooling anyone here. If you want more help in successfully running your outsourcing effort, you'll know who to contact shortly after you begin reading. By the time you finish the book, you'll also have two discount coupons for jump-starting your outsourcing efforts or for beginning-to-end support and management of your next outsourced project. On the other hand, I wish the marketing pitch didn't come off so strong. I feel like I just spent two hours at a used-car lot. When it was all over and done with, I might have got a good deal, but a strong sell always leaves me with a headache.
If you're considering outsourcing, Software without Borders provides a great deal of information. More importantly, it points to information that will benefit any software project, not just outsourced projects. However, I recommend that it not be your only source of information.