FEATURED BOOK: Continuous Integration: Improving Software Quality and Reducing Risk PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Brad Appleton   
Wednesday, 12 September 2007

ba0907-1 by Paul M. Duvall with Steve Matyas & Andrew Glover 

For those of you seeking a book on the subject of Continuous Integration (a.k.a. "CI"), what it is, how to do it, why to do it, what the benefits are, and the details of how to do it ... look no further. The book you have got to run out and get is here! It is Paul Duvall et.al.'s Continuous Integration: Improving Software Quality and Reducing Risk. It includes descriptions of no less than 40 CI practices, five dozen code listings, coverage of  systems using Java, C/C++/C#, Python, Ruby, and dozens of tools and environments. No other book is as thorough in capturing not just the concepts and the mental attitude of CI, but also all the related practices and current technologies (including Ant, NAnt, JUnit, NUnit, CruiseControl, Continuum, Bamboo, Buildforge, Rake, Luntbuild, ParaBuild, Guantlet, Sin, Maven (and Maven 2), CruiseControl.NET, AntHill, and more).  You can check out this book at Amazon.com  

 

 

 
From the very start, this book is approachable yet pragmatic, comprehensive, and succinct. The book is divided into two main parts, each of which has four chapters: Part I covers concepts, principles, and practices, while Part II covers how to implement a full-featured CI system. The final section and appendices cover the present and future of CI, surveying available tools and technologies and providing evaluations of most of the major ones. The book's companion site at http://www.integratebutton.com/ hosts a blog, sample chapters, some video podcasts, and downloads of scripts (e.g., for ANT, Cruise-Control, etc.).

Part I begins with  a "Getting Started" chapter

Advertisement
that includes version control, feedback mechanisms and setup, and even database integration and documentation. Then, it describes the features of CI and describes what the CI "experience" is like, as well as explaining the value and benefits of CI. An entire chapter is devoted to reducing software & project risks with CI, followed by all the necessary ingredients and challenges for building software quickly and gathering and analyzing related integration data and metrics after every build.

Part II shows how to transition from "Getting Started" to going "Full Featured." It explains how to implement continuous database integration, continuous testing, continuous inspection (automated static analysis), continuous deployment, and institute continuous feedback (including such feedback mechanisms as E-mail, SMS (text messages), lava lamps, ambient orbs and X10 devices, the windows taskbar, sounds and wide-screen monitors.

The last section of the book spends a few pages musing on the future of CI, then segues immediately into the appendices, beginning with a very comprehensive list of resources for: CI websites and articles, CI tools and products, build scripting, version control, database, testing, automated inspection, deployment, feedback mechanisms, and documentation. The final appendix gives some considerations for evaluating CI tools, and then goes on to evaluate almost a dozen different automated build and build scheduling tools.

I remember first catching wind of this book a few years ago when Paul was putting together his first few chapters, publishing thoughts and excerpts on a (now defunct) blog. Then about a year later I was asked to review a manuscript for the book (which I was happy to do) and I thought it looked very promising, with the potential of being the most comprehensive and authoritative work on the subject to date. I've been waiting almost a year for the book to hit the bookshelves, and now that it finally has, I think it delivers on its promise. No other book to date even comes close to being such a comprehensive and authoritative source of principles, practices, and resources about continuous integration.

[Get a copy of this Book]



About the reviewer
Brad Appleton is an enterprise SCM/ALM solution architect for a Fortune 100 technology company. Currently he helps projects and teams adopt and apply agile development & SCM practices. Brad also author's the Agile CM Environments blog, and is co-author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, the "Agile SCM" column in CMCrossroads.com's CM Journal, and is a former section editor for The C++ Report. Since 1987, Brad has extensive experience using, developing, and supporting SCM environments for teams of all shapes and sizes. He holds an M.S. in Software Engineering and a B.S. in Computer Science and Mathematics. 


Comments (4)add feed
hi: ...
http://www.gheymatha.com
http://www.gheymatha.com
1

June 10, 2008
http://www.roro44.com: ...
Thanks a lot
http://www.roro44.com
2

February 06, 2008
fhgfh: ...
http://www.forex.co.ir
http://www.meta-fx.com
forex فاركس
3

October 11, 2007
Ronnie: ...
There's a typo on the URL for the companion site. It should be "http://www.integratebutton.com/".
4

September 28, 2007
Write comment


Write the displayed characters


busy
Tags:
Click to add your tags...,
 
< Prev   Next >






Lost Password?
No account yet? Register

Video News

Agile Poll

How important are CM tools (e.g., Version Control) for Agile projects?
 
 
 
 
 
 
Copyright © 2006 - 2008 CMC Media, Inc. All rights reserved. All marks are trademarks of CMC Media Reproduction in whole or in part in any form or medium without the express written permission of CMC Media, Inc. is prohibited  
 
 CM Yellow Pages | ALM Expo | CM Today | Configuration Management Journal | CM Crossroads