SE401: An Overview to Software Configuration Management
- Overview to Software Configuration Management
- Importance of SCM
- Reasons for changes in software projects
- Assessing impact of changes
- Problems due to uncontrolled changes
- SCM Tasks
- Identifying changes
- Controlling changes
- Ensuring that changes are implemented properly
- Reporting changes to others who might be impacted by the changes
- Benefits of SC
- Basic concept of SCM
- Importance of change management
- What is software configuration
- Configuration in hardware / software context
- Use of tools for configuration
- What are software configuration items (SCI)
- How to define SCI
- Types of SCI
- Relationship between SCIs
- Importance of Impact Analysis
- Requirement traceability and its types
- Relevance of requirement traceability in SCM
- Baselines and its views
- Concepts of Project repository
- Access control and synchronization control
- SCM Process
- Need for SCM Process
- Objectives of SCM
- SCM Tasks
- SCI Identification
- Change Control
- Version Control
- Configuration Auditing
- Reporting
- Process Tailoring
- Planning SCM
- Contents of SCM Plan
- Intent and scope
- SCM organization
- Configuration items and baselines
- Change control
- Status reporting
- Audits
- Tools
- Special controls
- Schedule and milestones
- Importance of tools
- Roles of SCM
- Project Manager
- Configuration Controller
- Configuration Control Board
- Project Librarian
- Project Team Members
- Auditors
- Implementing SCM effectively
- Buy-in
- Training
- Use of tools
- SCM tradeoff
SE402: The Tasks in the SCM Process
- Tasks in SCM Process
- CI Identification
- Change Control
- Version Control
- Auditing
- Reporting
- CI Identification
- Identification as core of SCM process & defining the basis for identifying SCIs
- Defining methods to depict the relationship & identification scheme between SCIs
- Identification schemes – Derivation & Baselines
- Defining the method for acquiring SCIs in the project repository
- Tool support for configuration identification
- Reason for changes
- Change control process & relevant phases
- Evaluating change requests
- Implementing changes
- Verifying and releasing changes
- Evaluating change requests - Recognition of the need for a change, change request form, Evaluation of the request & change report by the CCB, Generating a change report, impact analysis, CCB & Engineering change order (ECO)
- Implementing changes – Assigning work, Making modifications (checking out and in SCIs
- Verifying and releasing changes - Testing and formal technical reviews, Checking in of SCIs, Building and releasing the changed configuration
- Auditing the process and the product
- Roadblock in Change control process
- Range of formality of change control
- Levels of change control – Individual, Project-level and Formal or Product-level control
- Tool support-Change Control, Impact Analysis, Access and Synchronization Control, Supporting Build and Release
- Version Control
- The need for version control & problems faced without version control
- Types of versions (Revisions, variations, and variants)
- Use of an identification scheme & Version mapping
- Planning for version control
- Storage of version and build information & multiple versions of SCIs (Separate files, Deltas, Conditional compile)
- Approaches for storing multiple versions & Pros and cons of the approaches
- Tool support for version control
- Configuration Auditing
- Objectives of Configuration Auditing
- Types of configuration auditing
- Functional configuration audit (FCA)
- Physical configuration audit (PCA)
- Formal qualification review (FQR)
- Audits versus formal technical reviews
- Organization, Roles, Activities involved in conducting audits
- Planning & conducting configuration auditing
- Audits for complex & small projects
- Tool support for the configuration-auditing task
- Reporting
- The SCM process and Rationale for reporting
- People who need to know
- Planning for the SCM reporting task
- Defining the required reports (Levels of reporting, Coverage)
- Defining data collection procedure (Change-related events, Change log, Logging data)
- Establishing procedures to generate reports
- Tool support & evaluating tools for SCM reporting task