Amazon.com Customer Reviews
May your lamp glow green - Review written on November 29, 2004
Rating: 5 out of 5
Project Automation is an investment in the project infrastructure. This investment will pay huge dividends. Few developers want to spend their time fussing over a build or creating the new release, but it has to be done. This book shows how to get it done without sacrificing a developer to the process. At first, I was a little skeptical as to how much automation could be accomplished, but now I am sold. The time and aggravation saved are tangible dividends to this investment.
With anecdotes, coding examples, and a sharp wit, the author progresses from touting the value of project automation to showing how to do it. He starts the process of convincing the reader that automation is a good thing with an amusing story to illustrate the need and the potential. Using readily available tools like Ant and CruiseControl, the author carefully explains each step. While there is sufficient coverage on the use of the tools for the examples, reference documentation will be necessary to "roll your own".
On our last big project, I now realize that frequent automated builds would have saved a lot of time, which was in short supply. Because they became so painful we did them less frequently, rather we should have increased the frequency. I would consider this book an essential part of a technical lead's toolkit. Once the team can experience the benefits of continuous integration and project automation, they probably would not want to go back.
An Excellent Entry Level Book - Review written on November 06, 2004
Rating: 4 out of 5
9 customers found this review helpful, 3 did not.
"Pragmatic Project Automation" is all about how to automate the tasks
associated with building, testing, and deploying your application. The
assumption is that your project is a Java project, and all the tools
are based around that. Most of the automation is done with Ant, an
automation tool written in Java and primarily used for building Java
projects. Since I do most of my work in java and ant, this is right
down my alley.
"Pragmatic Project Automation" is one of the "Pragmatic Starter Kit"
series of books. The words "Starter Kit" should be taken seriously.
If you are acting as build master for your first project, this is a
great book. It will have you up and running your one-step builds in no
time. It provides numerous "best practices" for running automatic
builds, unit tests, and deployment. Unlike the original "Pragmatic
Programmer," which was a collection of generally good ideas and
practices to follow, the Pragmatic Starter Kits are specific recipes to
follow for good results.
The book assumes that you are using Java; the ideas behind the
practices are universal and can be applied to any kind of project, but
the specific advice is for Java only. The specific tools recommended
by the book are Ant for scripting, CVS for version control, and Cruise
Control for scheduling. Obviously, other tools can be used instead,
but the recipes in the book will no longer work. The ideas remain valid, however.
I wish this book had been around 5 years ago when I first started
building Java projects. As it is, I had to learn much of this by trial
and error. Most of it is just simple, good sense, like having all your
source in version control and having a script to check out your code
and build the finished application. But like all good sense, it is not
as obvious and wide spread as it should be. Every project I've been on
could have used a good dose of pragmatic project automation.
Though most of the book was already familiar to me, I did learn several
things. One of the great ideas was to make build failures publically obvious through the use of lava lamps! If the build, or build tests, failed, the suggestion is to turn on a red lava lamp which is in a publically visible location. Ant does not actually have a lava lamp task, so they cleverly provide instructions on automating the lava lamp with the use of an X10 lamp module. When the build succeeds again, turn off the red lamp and turn on a green one. I haven't yet implemented this, but I'd like to.
Using ant for builds and CVS for version control is pretty standard,
nowadays. I think most projects do this or something equivalent (though
the statistics on this show that statement to be hopelessly
optimistic). This book does move on to a more advanced, and less
standard tool. They recommend performing builds automatically whenever
code is checked in, and their tool of choice is Cruise Control.
They provide nice recipes for setting up and running Cruise Control.
In my job, inspired by the book, we decided to try it and found it
quite simple to set up and use. It requires a little more
infrastructure than, say, CVS in that it runs inside a java container
like Tomcat, but if you are a Java shop you probably already know how
to manage Tomcat. If you don't, maybe it is time to learn.
If you are a new build master on a Java project, read this book
immediately. Even if you've been doing it for a while, you probably
won't be wasting your time if you read it. The book is well written
and accurate. It has a nice style that moves along nicely. At 176
pages it is not a very long read, a welcome change in computer books.
The author tells you what he has to say, then shuts up--there's no
padding here.
All in all, a good book. I'm glad I read it. I wish I'd read it 5
years ago.
Michael Hirsch
Short and focused, with unique practical content - Review written on September 24, 2004
Rating: 5 out of 5
3 customers found this review helpful, 1 did not.
This book is very short and tight, weighing in at only 150 pages. The book concentrates on automating the Java build, deployment and test process. It covers Ant, Nant, Maven, CruiseControl and other tools. But even if your specific tool or environment isn't covered you will still gain from the experienced based insight in the book, even if you can't use the code samples directly.
The text of the book is fresh, easy to read, and often funny. Graphics are used sparingly and effectively.
I certainly recommend this book for any build master, or someone stuck with the build master role. Though I really recommend the whole series for all engineers because they, as a set, will help you round out your entire skill set.
I'll be calling this my "precious"... - Review written on September 20, 2004
Rating: 5 out of 5
4 customers found this review helpful.
If you're involved in any type of commercial Java projects, you owe yourself to pick up this book. I'm not kidding.
"Pragmatic Project Automation", the third book in the Pragmatic Programmers' Starter Kit series, authored by Mike Clark, is an invaluable asset for automating the grunt work of your Java development projects and raising your standards regarding quality, lead times in bug fixing, and eventually, the motivation of your whole team.
I read the book over a weekend in two sittings and enjoyed every minute of it. Mike has put together a series of high quality tutorials for setting up a repeatable build process using Ant, scheduling the build process using shell scripts, cron/at, and eventually CruiseControl, while keeping in the spirit of pragmatic thinking. He then continues by showing how to automate your release process and software deployment -- with both simple shell scripts and an open source graphical installer tool. To finish, he talks about different techniques for monitoring your software for errors.
I honestly couldn't find anything to complain about this book -- except that I wouldn't have minded reading another 150 pages of it.
Automate repetitive tasks - Review written on September 12, 2004
Rating: 5 out of 5
3 customers found this review helpful.
(The following is an excerpt of a review of "The Pragmatic Starter Kit" I posted at JavaRanch.)
The third and final volume of "The Pragmatic Starter Kit" series, "Pragmatic Project Automation" by Mike Clark, is an excellent guide on automating repetitive tasks that increase the quality of a software project, and the productivity and confidence of the team creating it. (Who wouldn't feel good around a glowing green lava lamp?) If you don't currently employ a system that automatically checks out your project from a version control system, compiles it, tests it, and reports back to the team the status of the build, after reading the first three chapters of this book, you'll have all the information you need and no excuses left not to create such a system. The remaining three chapters of the book are dedicated to teaching creating push-button releases - facilitating the practice of releasing early and often, to teaching automating installation and deployment, and to introducing a potpourri of tools and recipes for monitoring and reporting the health of a running system. I'd recommend this book to any software developer.
A straightforward guide for experienced programmers - Review written on September 08, 2004
Rating: 5 out of 5
3 customers found this review helpful.
Pragmatic Project Automation: How To Build, Deploy, And Monitor Java Applications by programmer, consultant, author and public speaker Mike Clark is a straightforward guide for experienced programmers. Volumes one and two covered version control and unit testing, respectively; volume three of the Pragmatic Starter Kit series delves into practical means to deploy software reliably and accurately, as well as methods to reduce grunt work and eliminate bugs. Tested techniques for building and testing code at regular intervals form the core of this guide written especially by programmers, for programmers. Java examples, sample code, and explicitly clear instructions make Pragmatic Project Automation a first-rate, get-to-it resource.
A Pragmatic Gem - Review written on August 18, 2004
Rating: 5 out of 5
7 customers found this review helpful.
Don't let its relatively small size (152 pages) fool you -- this book has more relevant content per page than I've seen in a technical book since, well, the last book I read from the Pragmatic Programmers ("Pragmatic Unit Testing", by Andy Hunt and Dave Thomas). In fact, I believe this book's compactness to be one of its greatest features.
Mike Clark has done a masterful job of distilling the essence of the topic of automation and presenting it in a well-thought-out, easy-to-follow progression. He finds a natural starting point -- the build -- and takes us from a simple on-demand build using Ant, to scheduled builds using CruiseControl. At each step he shows us how we can safely relinquish control to an automated tool, buying time and increasing reliability.
Subsequent steps follow in natural progression -- from simple builds to automated, scheduled, and triggered builds. From building the software to assembling a release. Then on to deploying the release. And finally, monitoring the release once it's deployed.
Don't be fooled into thinking this book is just for server-side Java developers. That audience is certainly a main focus, and the book doesn't have room to be encyclopedic by any means. Even so, Mike does a great job of pointing out alternatives where they exist -- if there's a .NET equivalent of a tool, you'll find at least a mention of it, along with a URL where you can go to learn more. There are shell scripts of various flavors sprinkled throughout the book. There's even an example written in Ruby!
Mike has a gentle, relaxed writing style. He doesn't -- as too many other technical authors do these days -- try too hard to impress us with his knowledge; he just lays it out there. He doesn't bombard us with overly formal (or informal) language, hackneyed metaphors, or lame jokes.
If you believe that time is money, then it follows naturally that saving time is saving money. This book will help you do both. I give it my highest recommendation.
Make your computer do the work - Review written on August 07, 2004
Rating: 5 out of 5
11 customers found this review helpful.
This little book could double your productivity by showing you how to make computers actually help you do your job. Do you spend too much time chasing configuration bugs, following checklists, and performing repetitive tasks that take time away from your coding and design duties? Then "Pragmatic Project Automation" is for you.
This isn't the kind of "software process" book that tries to sell you on following a methodology. There's no preaching, and there are no outlandish claims of productivity increases. Instead of selling snake oil, Mike Clark just wants to explain, in a clear, effective way, how to use open-source tools to automate your builds, release process, and application monitoring. Java tools like Ant, CruiseControl, and JUnit are the centerpieces of this book, but shell scripts and batch files also make cameo appearances.
There's even a section on assembling novel monitoring devices. Admit it -- wouldn't it be cool to have red and green Lava Lamps that light up according to the status of your project build?
The beginning programmer might wonder what all the fuss is about, but anyone tasked with delivering software on a schedule will appreciate the many ways in which this book will help them.
Hire a Virtual Employee - buy this book! - Review written on August 02, 2004
Rating: 5 out of 5
20 customers found this review helpful.
If you are doing any serious software development, then you have tasks that need to be automated. Your build process, unit tests, deployment, measurements of quality, and other metrics for project management can all be automated once, and then created over and over again, basically 'for free'. This is what computer do, right? So why not let them do it for software development?
Mike Clark does an excellent job describing both the 'high-level why' of project automation, as well as real-world 'low level' examples. He describes project automation with shell scripts, tools like Ant and CruiseControl, automation of routine tasks in CVS, and create automated 'status reports' with things like log4j and RSS feeds of data from your build report.
The day after reading this book, I had modified our automated build to send an email to my cell phone if it failed - along with the names of everyone who had commited a change since the last successful build. While not every project needs this level of paranoia, this kind of 'project safety net' gives us great confidence in the quality of our code.
It's hard to say what could be improved about this book - its biggest strength and its biggest weakness are its size... at 150 pages, I feel like there could have been so much more said on the subject... on the other hand, the books size makes it very approachable - you can pick it up, read it, learn something, and use it that same day. If the book were any larger, it would run the risk of trying to say too much, not saying it as clearly, and dating itself much more quickly.
This book (actually all three of the prag prog 'starter kit' are on our team bookshelf, and are considered part of our project's documentation.