|
|||||||||||||||||||||||||||||||||||
|
22 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
17 of 17 people found the following review helpful:
5.0 out of 5 stars
Covers all the major deployment and automation issues,
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
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.
11 of 11 people found the following review helpful:
5.0 out of 5 stars
The Power of Feedback,
By
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
This book is an excellent overview of why Continuous Integration is important and about more than just compiling frequently. The book helps you to understand why to do CI, what you can do beyond building, and how to do it. In addition to general principles, the book points you to some excellent tools and resources. This book is an excellent companion to Software Configuration Management Patterns: Effective Teamwork, Practical Integration; it provides teriffic information that support the build patterns in that book. You might already know some of the information in this book, but it is worth buying if you need to encourge CI in your organization for the clear discussion of why CI matters and the for the detailed advice on how to implement it.
7 of 7 people found the following review helpful:
5.0 out of 5 stars
A must read book about Continuous Integration!!!,
By
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
This book is a must read for everyone delving into the practice of Continuous Integration. In my opinion, Continuous Integration is one of the most important practices to really achieve agility and to mitigate risks related to architecture and software integration.
The book contains more than 40 practices related to this important subject. For me, an experienced software engineer who already uses and knows a lot of CI tools, the best chapters are those which illuminate how to do Continuous Database Integration (Chapter 5), Continuous Testing (Chapter 6) and Continuous Inspection (Chapter 7). Another great plus of this book is Appendix B on how to evaluate CI Tools. It gives a lot of hints to choose the right CI tool for your project or company. Even if you are an experienced CI practitioner this book is a welcome addition. It shows why each practice is important and what are the benefits to use it on a SW development project. If you are a beginner or intermediate practitioner in the Continuous Integration World this book is a must have. You will receive a lot of wisdom collected by the authors during their careers. If you don't know what is Continuous Integration read the great article by Martin Fowler. Spare you a lot of integration and software quality headaches reading this excellent book!
6 of 6 people found the following review helpful:
5.0 out of 5 stars
A good book on automating processes related to software development,
By
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
Software development is (normally) about automating tasks for other people, allowing clients to be more productive at what they do and allowing them to be more reliable in what they do. Automation reduces risk by reducing scope for manual error, particularly for repetitive and mundane tasks. What software developers have often not been so good at is automating the repetitive tasks that they do themselves to improve their own performance and reliability. Whether this is their own decision or because management don't allocate time or resources to do this automation varies from site to site. The evidence is clear though, even from my own experience, that sites where automation is used properly are far more productive, produce more reliable systems and are more fun places to work. I've worked places where this has been done well, I've also worked places where automation has never even been considered. In those latter cases I've done my best to introduce it, usually in incremental steps, with projects becoming far more efficient and reliable as a result. Just this week, whilst automating the building of existing systems for a client, I identified five projects developed by the client that couldn't be built from what was in version control - that alone is evidence that automation is required and, for this client, long overdue.
"Continuous Integration - Improving Software Quality and Reducing Risk" describes this automation, covering everything from automated compilation through to automated deployment, covering topics such as automated testing, inspection etc along the way. It has a leaning towards Java environments, but also refers to tools for .Net (although it doesn't make explicit whether this means true "managed" .Net projects or whether it also includes unmanaged C++ projects written using Visual Studio .Net. It does seem that the .Net references normally relate to managed code, most likely produced with C#). Note that there is also an associated web-site containing related videos and other resources. This book covers many of the typical questions that arise when automating build-related processes, including optimising the build, increasing the chances that if the build is going to fail it does so quickly, feedback methods etc. Interestingly, it also covers some team-dynamic/psychology stuff, which are things that we see in practice but you rarely read about. In terms of intended audience, I would recommend this book to developers, testers and development managers. My own experience shows that developers can introduce these techniques themselves, in parallel with doing their allocated tasks, but things would happen quicker if management understood the benefits and allocated time and resources to put these practices in place at the beginning of projects. So, if you are a development/project manager, please do read this book (or even the similar, but shorter, Pragmatic book on the same subject). If you are a developer, the Pragmatic book is good, but I would really go for this one instead, even though it is longer. There is more information in this one, including an overview of various existing tools. There are places where a bit more detail would have helped, particularly for environments other than Java and .Net. Some more detail on integrating with different version control systems would have been good too (the emphasis is on SubVersion, but suddenly switching to cvs in places). However, these are minor niggles that could easily be addressed on the related web-site. Of course, if details were included in the book for every common environment the book would get significantly longer, which would deter some people who should read it from doing so. So it probably has the balance about right for most people. All-in-all, this is a very good book. I just wish I had written it first !
6 of 6 people found the following review helpful:
5.0 out of 5 stars
Readable, well-organized, outstanding,
By
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
As Martin Fowler says in his foreword to this book, all of this information is available on the internet. However, that should by no means demean the value of this book. This is an extremely readable and well-organized presentation of this important development practice. Often the organization and comprehensive analytical thought are themselves important contributions to a given topic, and that is what Duvall, et al deliver here. Highly recommended.
6 of 6 people found the following review helpful:
5.0 out of 5 stars
"how to" for CI,
By Jeanne Boyarsky (New York, NY) - See all my reviews
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
"Continuous Integration" is part of Addison Wesley series. This series includes books like "Refactoring to Patterns." "Continuous Integration" definitely meets the standards of this series.
Each chapter describes CI related practices. There is a chapter dedicated to risks reduced by CI including anti-patterns like "It works on my machine." Each chapter ends with questions to get you thinking about CI in YOUR process. I particularly like how the authors address the "CI is good by my project is special" problem. The authors give examples in different languages including Java, .NET and Ruby. The appendices on resources and tools are very useful. The book goes beyond CI and addresses continuous inspection and deployment. My only problem when reading the book is that I forgot I was supposed to be writing a review. It was so good, I just got caught up in the book! Do check out the companion website - integratebutton.com. It currently contains video examples of three practices described in the book. The materials are presented in slide and diagram format. It reinforced the book nicely because it was like a guru explaining his experiences. It also goes into much more detail than the book has room for on each topic. This is an excellent book and the website adds to it! * For the JavaRanchers reading this, the first sentence in the book is a quote from Kathy Sierra.
5 of 5 people found the following review helpful:
5.0 out of 5 stars
Good balance between concepts and practice,
By Methods & Tools Editor "www.methodsandtools.com" (Vevey Switzerland) - See all my reviews
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
As a software developer, you know that one of the critical period in a project is when you try to make integrate your code in the overall application and push it towards the final user. It is sometimes a long process that you would like to accelerate so that you could obtain a quicker feedback on the quality of your code. This book written by Paul Duvall, with Steve Matyas and Andrew Glover, will help you improve the way you build and deliver software.
After a initial presentation of the continuous integration (CI) concepts and objectives, the content of the book goes far beyond the simple "continuous build" aspect to cover all disciplines concerned by CI: risk management, configuration management, database evolution, software testing, inspections, deployment. It is clear that CI is just not installing a suite of tools, but is mainly changing software development practices and process. Each chapter is well structured with practical examples related to real life situations. The book reach also nicely the objective of maintaining a balance between a somewhat tools- and language-neutral position, but still giving enough practical advice so that you could quickly adapt the advice to your own software development environment. Final appendixes give valuable information on CI resources and evaluating available CI tools. Finally, you can get more and updated information on continuous integration and download book's chapter two from the Web site associated to the book: http://www.integratebutton.com
5 of 5 people found the following review helpful:
5.0 out of 5 stars
An outstanding guide any serious software development library needs.,
By Midwest Book Review (Oregon, WI USA) - See all my reviews
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
Any software developer who has spent days in 'integration hell' handling a complexity of software components will appreciate the invaluable information in CONTINUOUS INTEGRATION: IMPROVING SOFTWARE QUALITY AND REDUCING RISK. From the initial concept of CI and its practices to over forty CI-related practices from database integration to development, this book covers the entire cycle of CI development and surveys all kinds of events, repetitive processes, and more. An outstanding guide any serious software development library needs.
5 of 5 people found the following review helpful:
5.0 out of 5 stars
An excellent survey,
By
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
This book is a good one - it has lots of well stated reasons for doing a continuous integration system of some sort, including all sorts of little conversational snippets that help make the point. For example, "Jim: hey, the test server isn't working. Joe: Ah yes... I forgot to 'svn add' one of my source files." Doh!
He suggests using one of those ambient orb gizmos to provide visual feedback on failed builds. That's probably a better idea than a sound alert - I found that having one of those go off every once in a while was just annoying. You can cut an email to everyone when a build fails, although that risks folks just routing them to a folder and letting them stack up. I was happy to see that the section on static analysis included lots of suggestions for using PMD and CPD. CPD, especially, is a handy tool; the ability to find duplicated code across a large codebase is very nice. One of the hard things about a book on CI is that CI touches so many different parts of a system - the database, scripting, code, tests, code analysis, etc. It's not the sort of book that lends itself to one big example; instead, you have to have a bunch of little config files and scripts and examples to help a person get rolling down the CI road. I think they did a nice job here of having a good mix of theory and practical code samples. So anyhow, I think this book is a good 'un. Go get it! As an aside, I was a technical reviewer for this book, so there's probably some bias there. But not too much!
4 of 4 people found the following review helpful:
5.0 out of 5 stars
Fantastic book on CI concepts,
By Mike Welter (Seattle, WA) - See all my reviews
This review is from: Continuous Integration: Improving Software Quality and Reducing Risk (Paperback)
There are many great articles, blogs and references to CI out there and Paul does a great job of bringing it all together in this book. This book gives developers the proper tools needed for successful implementations of CI for their projects. This is going to save our company so much time when this is implemented. Awesome job.
|
|
Most Helpful First | Newest First
|
|
Continuous Integration: Improving Software Quality and Reducing Risk by Paul M. Duvall (Paperback - July 9, 2007)
$49.99 $36.62
In Stock | ||