In this article, Ronald Kandt describes ten basic principles that support configuration management activities, and then goes on to describe twenty three "fundamental" practices, which are split across the categories of: Management Practices, Quality Practices, Protection Practices, and Tool Practices.
In this entry, I'll enumerate Kandt's Management Best-Practices for SCM (in priority order, with the most important ones listed first):
- Practice 1:
- Maintain a unique, read-only copy of each release
- Also known as: create an immutable release label
- Practice 2:
- Control the creation, modification, and deletion of software artifacts following a defined procedure
- Also known as: use version control, and agree on how you'l be doing it -- for example by identifying which SCM patterns you'll be using and their specific implementation in your project's context
- Practice 3:
- Create a formal approval process for requesting and approving changes
- Also known as: manage change/scope, preferably by managing expectations rather than by trying to prevent change
- Practice 4:
- Use Change Packages
- This one is more than just task-level commit, it builds on task-level-commit to provide task-based-development
- Practice 5:
- Use shared build processes and tools
- We wrote about this in our October 2003 CM Journal article on Agile Build Management and it's March 2004 successor article on Continuous Staging
- Practice 6:
- A version manifest should describe each software release
- This is more than just a self-identifying configuration listing of files and versions. Kandt also intends it to mean identifying the set of features, fixes, and enhancements too, as well as all open problems and issues. This is often included in the release notes for a new release. It also relates to the information necessary to satisfy a configuration audit.
- Practice 7:
- Segregate derived artifacts from source artifacts
- Also known as: know your sources from your targets! Often times, the versioning/storage strategies used for the two may differ. (Of course, that's not the only reason to segregate them.)
No comments:
Post a Comment