- is different, and teams themselves change over time, it's important to review how you are working, and figure out which practices are working for you and which are not. Retrospectives are a key agile development practice, but they aren't just for agile developers. Periodically make a list of the things about your SCM and Release process that seemed to be working well, and which need improvement.
Recap and Resources
While in an ideal world you'd do everything on this list on day 1, you might have practical roadblocks to doing that, so we broke the list into parts....
To learn more, here are some resources we like:
Practices to use for small team SCM and their rationale: SCM Patterns Book (Berczuk, S. P. and B. Appleton, 2003). Software Configuration Management Patterns : Effective Teamwork, Practical Integration. (Boston, Addison-Wesley.)
Deployment: (Jez Humble's book) Humble, J. and D. Farley (2010). Continuous Delivery : Reliable Software Releases through Build, Test, and Deployment Automation. (Upper Saddle River, NJ, Addison-Wesley).
Retrospectives: Agile Project Retrospectives. Derby, E. and D. Larsen (2006). Agile Retrospectives: Making Good Teams Great. (Raleigh, NC, Pragmatic Bookshelf).
Unit Testing: XUnit Patterns (Meszaros, G., 2007). xUnit test patterns : Refactoring Test Code. (Upper Saddle River, NJ, Addison-Wesley.)
CI Practices and Approaches: Continuous Integration. (Duvall, P. M., S. Matyas, et al., 2007). Continuous Integration : Improving Software Quality and Reducing Risk. (Upper Saddle River, NJ, Addison-Wesley.)
You'll find that some of these books overlap in content a bit. This is because it takes an assortment of practices to collaborate effectively. On a small team you have the advantage of easier communication. Use that to your advantage to simplify your process, but don't underestimate the value of process in making communication easier.