Oldies But Goodies: Ship It! Overview
Pragmatic Programmers’ Ship It! by Jared Richardson and William Gwaltney(2006) still hasn’t gone out of style. It lays an Software Shop 101, 202 foundation that’s extensible by the modern flavors of Agile, Scrum, etc. The upshot:
- Developers should use a Sandbox and check code into a Repository.
- The Repository should be managed by a Source Code Management tool.(e.g. Perforce, Subversion, MS TFS)
- Features and Bugs should be tracked by an Issue Tracking system.(e.g. Bugzilla, TFS, JIRA)
- Code should be checked in and builds done daily. (Continuous Integration)
- Build should be scripted to run on a Build Machine, runnable by any developer with a Single Line Call.
- Test Scripts should be run automatically at each build, testing issues fixed by recent code changes.
- The team works on tasks from The List, a single list of all high priority bugs and features.
- The Tech Lead acts as project manager, product manager, and coder, handling bug and features requests, prioritizing them, and assisting team with their execution.
- Daily Meetings to check in on status. Keep the individual updates short. (1-2 minutes)
- Frequent Code Reviews. Keep them short, relatively casual, and fluid in regards to who and what. “Regular code reviews don’t just make better code, they make better developers.”(paraphrase)
- Set up Source Code Management system to send emails to all team members containing the contents of each build. i.e. Release Notes for each build
More to Come…
image courtesy of Evan Walsh