1 Day(s)
🎯 LEARNING OBJECTIVES
After completing this lesson, learners will be able to:
Explain Configuration Management (CM) and its role in maintaining software integrity throughout the software development life cycle.
Identify Configuration Items (CIs), including source code, requirements, architecture documents, test cases, and deployment configurations.
Establish a CM environment by selecting appropriate repositories, storage, tools, access controls, and supporting infrastructure.
Develop a Configuration Management Plan aligned with project scope, responsibilities, and delivery processes.
Establish and maintain baselines to provide controlled reference versions of approved work products.
Apply change control procedures to submit, assess, approve, implement, and verify changes while managing their impact.
Maintain configuration integrity and traceability through version control, status reporting, and configuration audits.
Apply CM tools, such as Azure DevOps, to manage repositories, work products, and controlled changes.
🧠 PREREQUISITES
Software Development Life Cycle (SDLC): Basic understanding of software development and maintenance phases.
Software Engineering Fundamentals: Familiarity with requirements, source code, testing, and technical documentation.
Version Control Basics: Basic knowledge of repositories, commits, branches, and version history.
Project Management: Understanding of project plans, roles, responsibilities, and change requests.
Development Tools: Basic familiarity with tools such as Azure DevOps or Git is beneficial.
Configuration Management (CM) is about uniquely identifying, controlling storage, controlling changes, and reporting status of software products, product components and selected intermediate work products during the system’s life cycle.
CM encompasses the everyday tasks within a software organization, whether development or maintenance, to establish and maintain the integrity of work products in a project throughout the project life cycle. CM involves identifying the configuration of developed work products, hence assuring the reliability of products delivered to customers by systematically controlling changes to the identified work products.
This chapter is to define a method for SMEs to use in providing configuration management of software system and/or software development projects.
Establish the infrastructure, repositories, tools, and access controls required to manage project configuration items.
Assign responsibilities: Designate the Configuration Controller (CC) and define repository administration responsibilities.
Set up repositories: Organize source code, requirements, architecture models, test cases, deployment scripts, and project documents.
Configure tools: Establish version control, work-item tracking, reporting, and collaboration facilities.
Define access controls: Configure user permissions according to roles and responsibilities.
Establish backups: Configure backup schedules and recovery mechanisms for repositories and supporting databases.
Verify readiness: Test repository operations, integrations, and environment functionality.
Output: An operational CM environment ready for project execution.
Define the policies, procedures, responsibilities, and controls governing configuration items throughout the project lifecycle.
Identify configuration items (CIs): Determine which deliverables require formal configuration control.
Define roles: Assign responsibilities to the Configuration Controller, developers, reviewers, and Configuration Control Board (CCB).
Establish conventions: Define naming standards, version numbering, repository structures, and access policies.
Define baselines: Specify baseline types, establishment criteria, approval requirements, and maintenance procedures.
Establish change control: Define how change requests are submitted, assessed, approved, implemented, and verified.
Define reporting and auditing: Establish configuration status reports, audit schedules, and compliance requirements.
Define retention and recovery: Specify backup, archival, retention, and restoration requirements.
Output: An approved Configuration Management Plan aligned with the Project Management Plan.
Baselining establishes an approved and controlled version of configuration items that serves as the reference point for subsequent development, testing, and releases.
Verify readiness: Confirm that configuration items are complete and required reviews have been performed.
Conduct configuration audits: Verify consistency, completeness, and compliance with requirements and standards.
Resolve findings: Record discrepancies, assign corrective actions, and verify their resolution.
Obtain approval: Secure the required CCB approval before establishing the baseline.
Create and archive the baseline: Preserve the approved configuration items and their versions.
Publish baseline records: Document the baseline contents, audit results, and approval decisions.
Output: An approved baseline with documented configuration items and versions.
Change Control governs modifications to baselined configuration items and ensures that changes are evaluated, authorized, implemented, and verified before closure.
Submit change requests: Record the requested modification, justification, and affected configuration items.
Perform impact analysis: Assess effects on requirements, architecture, code, testing, cost, schedule, quality, and dependencies.
Approve or reject changes: The authorized CCB evaluates the request against defined criteria.
Update project plans: Revise estimates, schedules, responsibilities, and delivery commitments when necessary.
Implement approved changes: Modify the relevant configuration items using the controlled development process.
Verify modifications: Review and test changes to confirm that requirements are met and regressions are controlled.
Update configuration records: Maintain version history, change status, approvals, and traceability.
Close the request: Close only after required verification and acceptance are complete.
Update the baseline: Establish a revised baseline when required by release or configuration-control rules.
Output: Verified changes with complete approval records, traceability, and updated configuration items.
Maintain the CM infrastructure to ensure continued availability, integrity, security, and compliance throughout the project lifecycle.
Monitor infrastructure: Check repositories, databases, tools, scheduled jobs, and system health.
Verify repository integrity: Confirm that configuration items and their associated records remain consistent and accessible.
Generate status reports: Report configuration versions, change requests, baseline status, and outstanding issues.
Manage backups and recovery: Execute scheduled backups and periodically verify restoration procedures.
Review logs and alerts: Investigate failed jobs, access issues, and operational errors.
Conduct periodic audits: Verify repository contents, access permissions, and compliance with CM procedures.
Manage archives and retention: Preserve required artifacts and records according to organizational policies.
Close the environment: At project completion, archive required configuration items and formally close the CM environment.
Output: A reliable and auditable CM environment with verified backups, reports, and preserved project records.
Admins
Configuration Rep
Team leads
Practitioners
Developers
Testers
UX
QA team
PO Team
Enterprise Architect