www.iwantipod.co.uk - Buy iPods, iPod minis, iPod Suffles and accessories in UK  
Top 10 Items

Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books)

 
Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books)   Author: Paul M. Duvall, Steve Matyas, Andrew Glover
By Addison Wesley
Average Customer Rating: Average rating of 5.0/5Average rating of 5.0/5Average rating of 5.0/5Average rating of 5.0/5Average rating of 5.0/5

List Price: £31.99
Our Price: £19.32

Read more information about Continuous Integration: Improving Software Quality and Reducing Risk (Martin Fowler Signature Books) at Amazon.co.uk

Product Details
Binding: Paperback
Dewey Decimal Number: 005
EAN: 9780321336385
ISBN: 0321336380
Label: Addison Wesley
Manufacturer: Addison Wesley
Number Of Items: 1
Number Of Pages: 336
Publication Date: 2007-07-12
Publisher: Addison Wesley
Studio: Addison Wesley

What similar items do customers ultimately buy after viewing this item?

Customer Reviews

Average rating of 5/5Average rating of 5/5Average rating of 5/5Average rating of 5/5Average rating of 5/5 Covers all the major deployment and automation issues, 2007-08-11
Comment: Continuous Integration refers to the practice of automating the build, testing and deployment of your software, so that producing a finished executable (and the related artifacts) can be done at the touch of a button, and is ideally carried out several times a day.

If this seems like a nice to have feature of your own development, but less of a core practice when compared to version control and comprehensive tests (both of which are requirements for doing CI), this book does a pretty good job of advocating CI as being just as important.

First, the book introduces the core practices of CI (regular builds, tests, and deployment), then goes on to demonstrate how it facilitates other, more advanced practices, which gain value when automated, such as enforcing code style, and recording code metrics.

It does not assume any particular platform, although most of the code uses Java and C# (and associated XML configuration). As a result, it will appeal most to those who want general guidance about why CI is a good idea, what to put under CI, how often to integrate, how long to allow the build to take, what to do if builds are too slow, etc. There's clearly no one-size-fits-all answer to this and this not a step-by-step tutorial book, so you'll need to adapt the code samples given in this book for your own ends.

Therefore, if you're completely new to the idea of CI, then maybe you might want to check out Mike Clark's Pragmatic Project Automation first, which covers a lot of the same ground as the first part of this book, but goes into a lot more detail about the mechanics of using Ant and JUnit with Cruise Control.

Apart from being more language agnostic, what takes this book beyond the Pragmatic tome is the second part, which demonstrates the more advanced processes that CI makes possible: including a chapter on how to integrate databases into CI, which touches on some cultural issues (e.g. the DBA being separate from the rest of the coding team) and providing sandboxes for each developer. Additionally, there's material on how to include reporting and analysis, e.g. code duplication, code coverage and static analysis tools such as Java's FindBugs.

It's also a quick and easy read (less than 300 pages), while still having a pretty wide purview. I don't think this is a subject that would benefit from an enormous tome, and you'll still come away with a much clearer idea of your project's automation and scheduling needs, although you might have to do a bit of digging in online documentation of the various tools mentioned in the book to find your exact solution.

The only bad thing I have to say about this book is that there are some very brief developer dialogues sprinkled throughout, used as examples to highlight suboptimal practices. As ever, these are cringe-inducing and artificial.

Out of the core agile practices of unit testing, version control, and project automation, the latter has the least amount of material available to read. Fortunately, this is a readable, persuasive and helpful book for curing the big bang integration blues.