Ship It!
Richardson, Jared; Gwaltney, Will
Pragmatic Programmer Jun 2005
ISBN 978-0-9745140-4-8
198pages
Buy from Amazon
About Ship It!:
Imagine working on a project and having to manage lots of different processes and development cycle manually. Unlike most software development books on our shelves and book shops the world over, this book identifies all the problems that we face when it comes to having a functional and efficient project structure in place to make our development and deliveries as painless as possible. Chapter 1: Introduction
This first chapter starts by highlighting the all too familiar difficulties that most of us face as developers, and how disorganised it could get if not well planned. It carries on by going over common problems and how to fix them. Who should read this book, how it should be read, Chapter 2: Tools and Infrastructure
In this chapter, the authors spent time taking you through ways that most developers work on daily basis without any form or source control management. From there, they quickly moved on to making a case for implementing a SCM as part of every developer's development environment. The chapter also looked at various open source SCM tools that are readily available online, eliminating manual configuration, tracking changes made by every developer on the team, ensuring that source code and build machine are not IDE or machine dependent. Chapter 3: Pragmatic Project Techniques
Chapter 3 continues from where chapter 2 left off by looking at planning your development dairy. Going through how to plan your project within teams with either lists or todo list that is effective within a team environment. This is my favourite of the whole book. They also discussed making Code Review an important part of every software development project. If your company does not have any Code Review process in place, now is the time to get it implemented. Chapter 4: Tracer Bullet Development
This chapter dicusses about the approaches of TBD - (Tracer Bullet Development) where every members of each of the development teams are involved in designing the architecture of the system, code changes to the interfaces between layers of the system must be done with consent of other teams, teams work in parallel, complex issues are solved first and flexibility is encouraged unlike phased lifecycle development. Chapter 5: Common Problems and How to Fix Them
A Tip Summary
B Source Code ManagementIn this section, you will find a complete list of all the SCMs on the market today, from the top of the range commercial ones, to the very best open source versions commonly used on most projects the world over. C Building Scripting Tools
As a Java Developer, I use Ant so do many other developers I know. But if you have been developing for years on UNIX or other platforms, you probably will have used a build tool like Make. This section takes you through all the build tools that you can use to make your software project a success. No matter the language you use in your development, you're sure to find your build tool here. D Continuous Integration Systems
If you or your company is not currently using any form of continuous integration, now is the time to start thinking about it. The authors have gone to extra length to show you all the available option you can integrate into your own project. E Issue Tracking Software
Issue tracking, are you using any right now? If not, well its not late to start. Bug fixing and issue tracking is vital to effective software project; they help you with notification of updates, features, searches and reporting. F Development Methodologies
Jugding by the number of methodologies, you may be forgiven for thinking there churned out everyday. However, the authors list and discuss the most important ones that you should checkout; including scrum, RUP, Extreme Programming, CMM and Agile Development. G Testing Frameworks
This section of the appendix shows you the various testing framework available to developers based on the programming language that they are using. It also gives you the URL for those frameworks. As a developer, you should be using some kind of testing framework on your project. The list contains frameworks like: JUnit, NUnit, LoadRunner, WinRunner, HTTPRunner and JWebUnit; and how to choose the right one for the job at hand. H Suggested Reading List
If you are a seasoned or serious developer, you should have at least 5 books listed in this section. Here, the authors have a complete list of technical books that a self respecting developer should have on their bookshelf. This includes Test Driven Development by Kent Beck, Pragmatic Unit Testing, Refactoring to Patterns, The Mythical Man Month, The Pragmatic Programmer and Mastering Regular Expression.
Conclusion
SHIP IT! A PRACTICAL GUIDE TO SUCCESSFUL SOFTWARE PROJECTS is a must have for both managers and software developers that work in a team environment. It is one of the most up-to-date practical books on effective software management without fluff, just stuff. If you can't afford it, steal it!Biography
Femi Balogun:Femi is a developer with one of the most successful travel software companies in the country. Femi is a Sun Certified Java Programmer for 1.4 platform and a Sun Web Component Developer. In his spare time, he likes to travel and try out new things. He is a member of London's JavaWUG where technologists meet to dicsuss the direction that the language should be headed.[read more...] You may contact him at balogiz[At] hotmail.com
Contact
If you would like to review a book, have your book reviewed or comment on any of the reviews on this site, please feel free to get in touch with us. We are always on the look out for materials and resources that we believe developers all over will benefit from. back upContact us here: Contact page

![[Amazon Prime Image]](http://www.onyxtic.com/125125-GasPrices-Slash.gif)