July 20, 2005 - Shipping It

I love to read, to learn new things or even new ways of communicating old truths. An ancillary joy is then handing out the books I've read to other people, and then seeing their reaction. It is always nice if the recipient enjoys what they read, but it is a really special feeling when you give someone a book and it changes the way they think and act. So I'm really pleased to have just finished reading a book that I know I'll be handing out time and time again, and that's Ship It!, "A Practical Guide to Successful Software Projects".

ShipIt In many ways Ship It is the ideal book for a lender like me: it addresses a subject where I have an agenda (making a software project successful), it says things I believe in, it is concise and readable, and because it is in print I can cite it and it lends my words the weight of authority. Whoo hoo! Ok, maybe it would lend my words more weight (for a certain class of people) if it weighed more itself -- it comes in at under 200 pages -- but since I plan on lending it to people to read and not to prop up their notebooks to eye level I'll go for short and readable vs thick and vaguely impressive every time.

So why would I want someone to read this book? Because I want more people in the world who think about software project the way the authors Jared and Will do. That is people who are willing to think (dare I say?) pragmatically about the project as whole, to challenge the way they are currently doing things, and who are then willing to change the way they work to get better results. They aren't selling snake oil (do X and everything will magically work), nor fire and brimestone (fail to do Y and you'll be in project hell), but rather offering a catalog of sensible practices with the more humble "this worked for us, here's how you do it, and it might work for you too." To help you get your head around this catalog they offer their key practices organized into three categories: techniques, infrastructure and process. (PDF showing the categorization available here.) The discussion of the practices are supplimented with 43 implementation tips and then 18 common problem scenarios where they describe how to apply what they've described earlier. In the midst of all this they also find space to plug their own pet methodology which they call Tracer Bullet Development.

Reading the book was an emotional experience for me. When reading about a practice we already use (Tip 7: Test continuously) I was proud. Reading about a practice that I already knew was worth doing but that I've never taken the time to do (Section 13: Review All Code) I was a bit embarassed. Reading about practices where I may have lapsed (Section 10: Work from The List) I was inspired to pick up my game and get back to where I should be. And of course all along there was the anticipation of recommending this book to all those people who I felt would get something out it. And today that person is you!

Posted by Jeffrey Fredrick at July 20, 2005 10:16 AM

Trackback Pings

TrackBack URL for this entry:


Post a comment

Remember Me?