Don't risk your software product's success through haphazard integration and release management. This book shows you "best practices" for every stage of a successful product release: source code control, product build, testing and defect tracking, code integration, software change management, and release engineering. No matter how large (or small) your project or software development organization, you'll find carefully designed, practical solutions that enhance quality, reduce costs, and get you to market faster.
Release numbering and naming
Preventing problems on media masters
Setting customer expectations and avoiding confusion
Managing releases on hard media, soft media, and "net" media
Why product builds are so difficult, and how to solve the problem
Simple defect tracking techniques that make sure problems actually get fixed
Change control for managing your software development process from start to finish
Organizational solutions that work in establishing release management and services
Michael Bays presents expert techniques that have never been published before—and shows how to design a coherent integration and release process that's dramatically more effective than what you're doing now. If you're responsible for a successful software release, this may be the most important book you buy this year.
Review By: William R. Putnam 07/08/2010This book discusses software production fundamentals that are too often omitted in training developers. It provides excellent information for many practical areas. The chapters on source code control, builds, and defect tracking apply to most software projects. The system-integration chapter should demystify this topic for many developers. There is a brief discussion on change control that can be applied to large development projects. The final four chapters deal with classifying, distributing, performing, and managing a software release. Experienced developers will probably find new insights and ideas that they can use to improve their current practices. New developers will find discussions that will enlighten them as to the why and how of producing a software release. And for the less-technical manager or programmer-in-training, the author provides introductions to the concepts that underlie the subject matter.
I am always grateful for primers that I can use to help explain the basics of a subject to a junior developer or to another manager. As I finished each chapter I found myself considering which of my current associates I would refer to the section I had read.
I asked one of our interns to read a few chapters. He found them to be very informative. He noted that some examples were not easily grasped in one reading but required careful study.
The intern summed up my view of this book. It provides information on a broad spectrum of useful topics. That is why I recommend it for every category of reader. I especially liked the overviews provided for source code control, builds, defect tracking, and system integration. The chapter on release distribution has a good discussion of release notes. The presentation on using defect metrics in release execution is worth studying.
I would offer the author only a few suggestions for future editions: Simplify the more complex examples, if possible. Discuss tools for each of the subject areas. And, please add a bibliography.
Had this book been published fifteen years earlier, it would have spared my senior associates many hours of explaining these subjects to me. This is a book that I know that I will read again and one that I will ask associates to read as well.