| |||||||||||||||
Software release methodology is a field that unifies a number of previously abstract endeavors that occur during software product development. By unifying these abstract endeavors, we provide a more efficient, well-understood path from development to product release. The field focuses on the release activity as the driving force behind all development endeavors.
Why focus on release? It is my observation that for the majority of software product development efforts, time to market is everything. This is where a company's ability to execute on software releases becomes critical. Successfully balancing a new product's performance and feature set against its release date is an important capability in our industry.
Furthermore, additional goals such as quality, reliability, and performance take second place when compared with time to market. Although this seems to contradict the market pundits' demands for unimaginable strides in quality and functionality, it is an unfortunate reality to those faced with the development of successful products in today's industry. Companies rarely have the luxury to get to market on time and successfully implement all these secondary goals in their first release. If a company focuses on these secondary goals as its first priority, it risks not getting to market in time. If it doesn't, the result is that even though the company has a high-quality, technically innovative, reliable product, a more timely competitor has released an adequate solution first, and the market has become accustomed to the earlier product. The effort required to unseat an established competitor and capture an already dominated market is far greater than that needed to release the first acceptable solution and then maintain that initial success.
It is indeed rare to capture a market with only the initial release of a product. Release is an iterative, long-term game that must be played in an optimal, organized manner. In support of this time-to-market imperative, software release methodology endeavors to provide a reasonable framework for the development of that first and defining release that captures the market, as well as the future releases that secure a product's long term success.
In this book, software release methodology is defined in a commonly applicable format. Because of time-to-market pressure, development teams no longer have the time to continually reinvent the elements of software release. How to organize source control systems? How to track defects? How to know when to release? The answers to these simple questions can take years for a product team to determine, as the answers can be different for each product, and even for each individual product release. The elements that make up software release methodology are as follows:
Source code control
Builds
Defect tracking
System integration
Release classifications and numbering
Release distribution
Release services
Release management
These elements are defined so that their roles, responsibilities, and relationships to the release objectives are well understood. These definitions provide a template that can be customized and localized to suit the specific needs of an individual development effort. Most importantly, the development effort will not need to reinvent them from scratch with every new project that is undertaken.
It is my hope that the introduction and definition of this field will aid in efforts to improve and optimize the software development process as a whole.
63656-3
Improve software quality, lower costs, and get to market faster!
Don't risk your software product's success through haphazard integration and release management! Software Release Methodology 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. Coverage includes:
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, Software Methodology may be the most important book you'll buy this year.
Product Details
Would you like to update product info or give feedback on images?
|
In each case the author explains both the "what" and the "why" behind the strategies, giving practical advice for their deployment in the real world, and practical experience from having already done so.
The only things that bothered me about the book were that (1) the author claims to be introducing a new field "software release methodology"; (2) the back of the book claims most of strategies in the book have never been published before; and (3) there is no bibliography or references section of any kind.
As someone who has been a software configuration management professional for the past twelve years, it is my understanding that release classification, numbering, distribution, and management have all long been considered part of the release engineering process. The other areas of source-control, builds, integration, and defect-tracking & change-control have long been considered part of software configuration management (SCM).
I dont understand why both CM and SCM fail to appear anywhere in the book (especially the index), since the first 7 chapters are precisely the stuff of SCM. I do know that release engineering is often considered part of SCM as well, but I agree with the author that it has been underemphasized for too long. It's good the author remedies this, but failing to even mention SCM, and claiming he's introducing a brand new field stretches reality a tad too far.
Similarly, claiming all or even most of these techniques have never been published before is also too grandiose a statement. I have seen most of them published before, in various books and journals and conference proceedings. The author has done a *great* service by collecting them together in one volume and making them more accessible to the practitioner in the trenches, but he's not the first to publish them (and he doesnt have to be in order for the book to be of value).
I can understand the author making a case that he's creating a "new field" by combining SCM and Release Engineering in a certain way (though I still think its a stretch); I can even understand claiming to be the first to publish these strategies in a single accessible volume (but not the first to publish them ever); What I cant understand is why there is not one single citation or bibliographic reference anywhere in the entire book.
To me, the lack of any bibliographic references seems inexcuseable, and combined with the aforementioned mistatements wreaks a bit too much of hubris/arrogance for my taste. By failing to provide published (as well as online) references, the author gives the reader no way to verify the book's claims of original work, nor to seek out further background material, nor demonstrate that the author performed the requisite due dilligence to comb the literature before making such claims.
It was unnecessary to claim originality for this work to be of value. A modicum of modesty should have been called for here. These three failings which amount to only a few pages of text leave a very sour taste on what is otherwise a very fine, substantive and insightful contribution in the other 250 or so pages of the book.
If not for those ever so brief yet overinflated claims, I would have given the book five stars instead of four. It really is a *must* *read* for anyone who is less than expert in the fields of software configuration management and release engineering. Just keep in mind that the material is not quite as inventive or innovative as those few pages would lead you to believe the rest of the book to be. Fortunately, this in no way detracts from the usefulness of the proven practices described therein.
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|