|
|
|
|
|
|
|
|
|
|
SOFTWARE CONFIGURATION MANAGEMENT
Take hold of your development project with SCM
By Kathy T. Evans-Davis
What happens when you build computer software? In one word: change. In this first article in a series on Software Configuration Management (SCM), we will define SCM, describe how and why its used, and discuss some rules and guidelines that work to produce the best products during the software development process.
What exactly is Software Configuration Management? In a nutshell, SCM is a system of methods used to control and manage a software development project. The SCM process activities are designed to control change by identifying the likely changing work products, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.
Various types of work products may be managed or versioned in SCM: documents, software code, design models, etc.
What is the purpose of SCM? Generally, there are nine goals of effective SCM. Table A describes them.
| Goal |
Description |
| Build management |
managing the process and tools used for builds |
| Configuration control |
controlling the release of a product and its changes |
| Configuration identification |
what code is being produced |
| Defect tracking |
making sure every defect has traceability back to the source |
| Environment management |
managing the hardware and software that host the system |
| Process management |
ensuring adherence to the development process |
| Review |
ensuring completeness and consistency of components |
| Status accounting |
recording and reporting the status of components |
| Teamwork |
facilitating team interactions related to the process |
SCM process concepts Your project has specific objectives and requirements that will be reflected in the SCM process you implement to manage change. The following are some process concepts vital to any SCM implementation.
Track change packages
Each file in a code line has its own revision history. But each revision is only useful in the context of a set of related files. In order to identify all changed source files, you have to track change packages, which are sets of files related by a logical change.
Track change package propagations
Tracking change packages makes it easier to propagate logical changes from one code line branch to another. But propagating change packages across branches is simply not enough. You must keep track of which change packages have been propagated, which are pending propagation, and which code line branches are probable donors or recipients of propagation.
[ Next ]
|
|
|
|
|
|
-- Advertisement --
Learn Notes and Domino 8 at your place and pace!
Learn Notes and Domino in your office and/or home! TLCC's highly acclaimed distance learning courses for users, developers, and admins will enhance your career and your resume.
The many included activities and demos will make you a pro! Expert instructor help is a click away.
Click here to try a FREE demo course!! |
-- Advertisement --
The Ultimate Notes Domino Training Experience - Amsterdam, 11-13 November
Get in-depth technical training that you can put to use on the job right away at THE VIEW's Admin2008 and Lotus Developer2008 Europe! One registration gets you into your choice of over 70 new and updated expert know-how sessions, one-on-one consultations, hands-on labs, and more.
See complete agendas and register by 10 October to save 495 euros! |
|
|
|
|
|
|
|
|