Ship it!: A Practical Guide to Successful Software Projects Paperback – Jun 11 2005
|New from||Used from|
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
""It's rare to have this much fun reading a book about software. The ideas are smart, relevant, and fundamental. I can be a better programmer today because of the things I read today.""--Joe, Fair Developer
""A great book! The authors have done a great job in presenting the subject in a neutral way and avoiding any methodology-oriented traps.""--Roberto Gianassi, IT Consultant
""This is fantastic stuff. As I started reading, I almost fell out of my seat because the project I'm on right now is going through exactly the hurt you describe and would benefit greatly from material just like this.""--Matthew Bass, Software Engineer
About the Author
Jared Richardson is a developer-turned-manager who thinks a good day is having everything delegated so that he can sneak away and actually write code. He specializes in using off-the-shelf technologies to solve tough problems, especially those involving the software development process. With more that 10 years of experience, Jared has been a consultant, developer, tester, and manager, including Director of Development at several companies. He currently manages a team of developers and testers at SAS Institute, and is responsible for a company-wide effort to use test automation to improve the quality of SAS products. Will Gwaltney is a software developer with over 20 year's experience. In that time he hasn't quite seen it all, but he's seen most of it (and a lot of it hasn't been pretty). He's worked at both large companies and start-ups in the fields of electronics CAD, networking, telecommunications, knowledge representation, and web-based planning and scheduling for the enterprise. Will currently works on test automation at SAS Inc., the largest privately-owned software company in the world.
Most Helpful Customer Reviews on Amazon.com (beta)
There's not much material that's truly new between these covers, but the presentation and point of view is refreshing. It's a rare book that speaks convincingly to both developers and managers, but this one does a good job. The book describes many of the practices of agile development -- continuous integration, automated testing, lightweight planning -- and combines them into a simple but powerful description of an approach to building software they call "Tracer Bullet Development." But the book doesn't assume you're going to do everything the authors suggest: they expect you to try just one thing as a time.
My favorite part of the book is compendium of one-page essays on common problems software projects have, and how to apply the principles and practices from the book to solve them. Unlike some other rather strained "antipatterns" catalogs that I've read, this section feels very practical and usable.
If your shop has trouble shipping quality software on time -- and let's face it, most do -- then this book is for you. If you're a manager, I'd say that doubly so.
Contents: Introduction; Tools and Infrastructure; Pragmatic Project Techniques; Tracer Bullet Development; Common Problems and How to Fix Them; Tip Summary; Source Code Management; Build Scripting Tools; Continuous Integration Systems; Issue Tracking Software; Development Methodologies; Testing Frameworks; Suggested Reading List; Index
Richardson and Gwaltney don't try to add yet another methodology that guarantees your life will be rosy. Basically, that methodology doesn't exist. But there are a number of best practices that they've found from real-world experience, and they share those here. The key word is "practical" (hence the "Pragmatic" part of the series title). Even if you can't necessarily adopt all of their suggestions, you can easily take one or two and merge them into your routine. Once they've changed the way you work, you'll be ready for a few new changes.
For instance, they are really big on automated build processes for your software development that requires a compile and packaging process. Having the process done manually means that it won't get done as often as it should, or it will be machine dependent. Taking the time to learn something like Ant can dramatically improve your effectiveness and productivity. Same with using continuous integration software. If your project is constantly being built and tested without intervention, it's a guarantee that new problems will be caught early and resolved quickly.
After reading this book, I'm planning on investigating the use of a wiki for "The List", as well as possibly downloading Bugzilla to have a formal issue tracking system. For me, that's the sign of a great book... you walk away with a few action items that will change what you do today, not sometime in the future. This is really a "required read" for all software developers, and the sooner you read it, the better...
It is a good thing to know how to develop great software. It is better to know how to help others become great software developers. This is what the writers of "Ship It!" have done. They have given practical ways for average or good developers to become great at what they do and to begin to help their team develop top level, extremely well tested, reliable software that requires minimal maintenance.
One of the best things I could say about this book is that it is practical. It doesn't come at you with some high level theory or preach at you with an unrealistic unattainable development methodology (they are sometimes unattainable because they require other unwilling participants). This book gives you a number of real things you can begin to do even if no one else is willing to play along. As you make a few of these practices habits, the benefits of the practices become self-evident to the rest of your team and they begin to duplicate the practices that they see you doing. Then your test team, your maintenance team and your customer support team (you do have those teams, right??? OK...Stop laughing... I know most of you wear these hats as well) will love you because you have made their jobs easier. All the customer knows is that this software that you have developed is exactly what they expected and doesn't break anywhere near as many times as the 5 or 6 other applications that they routinely use.
My favorite part of the book is Chapter 5 "Common Problems and How to Fix Them." Also pay close attention to the sections on "Build Automatically" and "Review all Code." The book doesn't just tell you "code reviews are good." You are also told why and how as well as how to know when you are not getting the intended benefit of the practice.
Excellent book and for those of you used to paying over $50 for a good software book, under $20 is an incredible buy.
If you make these practices habits, you can't help but stand out as a great developer as well as helping your team to be as great as it can be.
The list of critical practices are well defined and each one is simple enough to implement. It makes you feel like maybe you could do it. Most important, it explains why you should do it - in compelling terms so that even if you are skeptical of "continuous integration" or "pair programming" or "unit tests", well, you won't be after you read this book.
"Tracer Bullet" development isn't another methodology, but a way of incrementally developing a project so that the status is more clear to the customer and so that you can quickly turn abstract ideas that the team has into something more concrete to react to. In doing so, you maintain an integrated view of the product you are working on and help people understand their ideas more quickly. It is priceless for any non-trival software. Most of us probably have learned to do this anyway, but now there is a name for it and a guide to understand why we do what we learned through trial and error.
I agree with the reviewer who gave only one star that all of the practices and techiques are already covered in other books and references. But I disagree with him about his rate because he forgot to remember that most of the software companies out there don't follow the practices covered.
The only thing I think could make the book even more practical is if the authors could show an integrated system working.
I deployed in my home machine a system with Subversion, Eventum, WebSVN, TortoiseSVN, Maven, CruiseControl, JUnit in less than three days! Without the need to pay a lot of dollars to IBM (with the Rational SDP) or Microsoft (with the Visual Studio Team System) even small and medium IT shops can build a great infrastructure to deliver better and faster software products.
I believe this book is a nice introduction to the SW infrastructure needs of our new geographically and distributed age!!! Join the agile revolution!!!
I didn't see the book yet but I believe the new book "Practical Development Environments" by O'Reilly will be a nice complement to "Ship It!"
Jared and Will, if you see this, thank you for the excellent work!!!
Look for similar items by category
- Books > Computers & Technology > Computer Science > Software Engineering > Methodology
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Project Management > PMP Exam
- Books > Computers & Technology > Software
- Books > Education & Reference
- Books > Textbooks > Computer Science & Information Systems > Computer Science
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering