Software Configuration Management
- A Software Configuration Management Plan (SCMP)
- A research paper on a specific SCM topic (like configuration identification, change control, status accounting or verification & audits, SCM tools, defect management, build and release process, etc.)
- A project specific topic (see below)
- SCM Plan – We will be covering the details of the SCMP in Module 3 which will be posted after the midterm. Look at chapters 13 in Leon and 12 in Humphrey to see the details for a SCM Plan. For those of you that are working or have work experience, you might write a small SCMP for a project your are supporting that covers all of the main sections of the SCMP through research. The SCMP documents what activities are to be done, how they are done, who is responsible for specific activities, when they are to happen, and what resources are required. You might do some research and discuss or detail all of the sections from the SCMP including configuration identification, control, status account, verification, and SCM responsibilities as well as the relationship of the SCM function to the software process lifecycle (SDLC). See pages 176-181 in the Leon book for an outline.
- Research – In the SCM function, choose a specific topic to analyze such as Configuration Identification, Change Control, Status Accounting, Verification & Audits, SCM tools, defect management, or build and release process. This might include your own process for taking a change through the change/defect management process which would include a flow diagram of states and actions (we will be covering this in class, have a homework assignment and you can detail this process further into a plan).
- A Project – You might be doing a project for another class such as writing documentation or developing and programming a small system. You can define and create a small SCM system for this project that includes a small SCM Plan, a configuration item list of all of the things in the project, and use a tool such as Git or subversion to baseline these items and manage changes to them in version tress (subversion.apache.org, tortoisesvn.net, or git-scm.com). Also note you may have built-in CM tools with whatever you are using for the development tool. You might also want to research tools for implementing the SCM process and compare two or more tools in terms of what they do, pros and cons, cost, etc. We will be covering this in class as well.