This pragmatic book discusses software process improvement and organizational benchmarking with the Capability Maturity Model (CMM), ISO 9001, and the ISO/IEC 15504 standard (SPICE & Bootstrap).
Designed for process improvement teams and engineering professionals, it provides a framework for improving the entire software development and measuring process. The author blends management advice with technical information. He proposes that problems can arise from poor teamwork as well as poorly designed technical tools and models.
Review By: Alan W. Braithwaite 07/15/2010This book provides a practical approach to implementing software process improvement within an organization. It points out the benefits of having a good software process environment and provides guidelines for creating this environment in your organization. The author states that it is intended for three main groups: Software engineering managers and professionals, process improvement teams, and process research scientists. The book comprises five parts.
Part One, Process Thinking, lays a foundation for the rest of the book by discussing the importance of having a good software process environment in place. It identifies the characteristics of an effective process and describes why it is important to understand the relationship between the process and the people who will be using it.
Part Two describes the framework that should be in place to have a successful process environment. It describes such things as the infrastructure, process improvement road maps, process assessment methods, and a software process improvement action plan.
Part Three describes strategies and plans for making software process improvement happen in your organization. It discusses steps for implementing and institutionalizing software improvement based on the assessments made on your organization. It also provides metrics that can be used to help you measure the benefits of software process improvement.
Part Four describes some of the models and standards for process improvement which are currently being used. These include the Software Engineering Institute’s Capability Maturity Model (CMM), ISO/IEC 15504 standard for software process assessment, and the BOOTSTRAP software process assessment.
Part Five describes the business benefits of software process improvement. Several case studies from companies in Europe and the USA are presented showing the measured benefits of process improvement. It also discusses some future software process improvement ideas.
This book will benefit a wide range of people interested in software process improvement, from those just beginning to investigate the idea of developing good software processes to those who are looking for ways to improve their existing processes. The information presented is very thorough if not overwhelming. A word of caution would be to make sure you read the book in order. The information presented in Part One helps the reader understand why an organization would invest so much time and effort into creating the infrastructure in Part Two and so forth. Having the success stories in the final part of the book is also helpful for those faced with the daunting task of owning a process-improvement movement in their organization.
Since the idea behind process improvement is building quality products, this book is particularly relevant to QA and Quality Engineering professionals. Throughout the book the author uses many concepts and quotes from past experts in the field of quality assurance. These include Shewhart, Duran, Deming, Crosby, and especially Watts Humphrey who led the initial development of SEI’s CMM. Mr. Zahran refers to Watts Humphrey as the “prophet” of process thinking for software.
There were several things in this book that I thought were useful. One was the idea that there are three key aspects that must be covered for a process to be effective: process definition, process training, and process monitoring. If you miss one of these, you are in trouble. I also liked the information about the organizational and technical infrastructure that needs to be in place to support process improvement. Lastly, I liked the fact that the book provided a list of metrics that can be used to measure the effectiveness of process improvement. Being able to measure the benefits of your efforts is very important if you are tasked with owning process improvement in your organization.