Chapter One SCM
Chapter One SCM
Management
Lecture 1: Introduction to SCM
September, 2025
Course Description
● This course provides a comprehensive understanding of Software
Configuration Management (SCM) as a discipline that supports all
phases of the software life cycle.
● The course covers
○ Software configuration management fundamentals
○ Configuration Identification and status accounting
○ Configuration Control and Auditing
○ Release Management and Delivery
Course Goal
● To equip students and learners with knowledge,
tools, techniques, and practices
○ to manage, organize, and control software
changes ensuring higher productivity,
traceability, and quality in software projects
with minimal mistakes.
Introduction to
Software Configuration Management (SCM)
Figure 4: Complex systems like aircraft, tank and weapons(Source: OpenAI, 2025)
The Evolution of CM … (3)
● The Core CM Principles (From Hardware)
○ Configuration Identification:
■ What are the parts?
● Naming, numbering.
○ Configuration Control:
■ How do we manage changes to the parts?
● Formal change requests, boards.
The Evolution of CM … (4)
● The Core CM Principles (From Hardware)
○ Configuration Status Accounting:
■ What is the state of the parts?
● Tracking, reporting.
○ Configuration Audits:
■ Does the built product match the design?
● Functional and Physical audits.
● These principles are directly transferable to software.
The Evolution of CM … (5)
The Software Crisis (1960s-1970s)
● The Shift: Software projects grew in size and complexity.
● Problem: Projects were chronically over budget, late, and buggy.
● Realization: Building software was like building a complex machine.
○ It needed the same disciplined processes used in engineering.
● The Bridge: The principles of hardware Configuration Management
were applied to software.
The Evolution of CM … (6)
Configuration management
from
hardware to Software
DVCS, Git
2000s
1970s
Popularity of
Emergence of
Distributed VCS
VCS
The Evolution of CM … (8)
Therefore, the Birth of SCM is
• 1970s-1980s: The term SCM emerges.
• Goal: Adapt traditional CM principles to the unique challenges of
software.
Key Difference:
• Software "parts" (Software Objects) are digital and much easier
to change, making control both harder and more critical.
Definition and Components
What is Software Configuration management (SCM)?
● SCM is the discipline of
○ identifying, organizing, controlling, tracking, and auditing the
evolution of software artifacts throughout the development
lifecycle to ensure integrity and traceability.
Definition and Components … (2)
What are the "Software Objects" we manage?
● CM doesn’t just manage source code.
○ It manages all software objects (configuration items – CIs) that
comprises software system.
○ Example:
■ Documentations (Requirements, Design Docs, User Manuals)
■ Source code files (.java, .js, etc.)
■ Configuration files (.json, .properties, etc.)
Definition and Components … (3)
Components of SCM
Source Code & Executables
The core of the software, including all programming files and compiled applications.
○ Change Control is absent: No one knows why a change was made, leading
to bugs and instability.
Verify compliance
Configuration Manager
Enforces SCM policies, manages change requests, and
meticulously controls code versions.
Key Roles in SCM … (3)
Developer/Software Engineers
Collaborate efficiently, merge their changes, and diligently
maintain comprehensive documentation.
User/Customers
Formally request changes and report any bugs or issues
through established channels.
Summary
● Configuration Management is the structured SCM Process for
managing the evolution of software.
● The need for SCM is
○ To manage complexity and change in order to reduce confusion,
eliminate redundancy, and enforce discipline, thereby significantly
increasing productivity and product quality.
Summary
● The SCM Process is implemented through interconnected activities.
Two of the most fundamental are:
○ Version Control: The foundation. The practice of tracking and managing
changes to Software Objects over time.
■ The "What" and "When".
○ Change Control: The governance layer. The formal process for
requesting, reviewing, approving, and implementing changes to Software
Objects.
■ The "Why" and "Who approved it".
References
1. Bennett, L. (2024, August 13). Software Configuration Management in
Software Engineering. Retrieved September 4, 2025, from [Link]:
[Link]
2. Leon, A. (2015). Software Configuration Management Handbook (3rd ed.).
Norwood: Artechhouse. Retrieved September 4, 2025.
3. OpenAI. (2025, September 4). SCM history and concepts [AI-generated
image]. ChatGPT (Sora). [Link]
4. OpenAI. (2025, September 6). Complex systems in defense and aerospace
[AI-generated image]. ChatGPT (Sora). [Link]
Thank You! L
E
N C
E T
X U
T R
E
September, 2025
Contents
Introduction
Core Concepts
SCM Process Activities
SCM Activities: Unified View
Summary
A functional baseline is
established for each CI, which can
breakdown into allocated
baselines for subsystems
Baselines
The Foundation of Control
Baselines
⮚ A milestone that marks a known, good, and stable state of the project.
An agreed-upon version
Formally Approved of software artifacts.
Serves as a stable
Reference Point foundation for all future
development.
Baselines – Importance
Stability
Provides a solid foundation for
developers.
Reproducibility
Allows rebuilding past versions
for testing.
Change Management
Shows the impact of changes
clearly
Progress Measurement
Defines major project milestones
clearly.
Baselines – Key Types
● Milestones in the Lifecycle
Product
1. Functional Baseline:
■ Approved system requirements (what
Code
the system will do).
2. Allocated/Design Baseline:
Design
■ Approved system architecture (how it
will be done).
Requirements
Baselines – Key Types … (2)
● Milestones in the Lifecycle
Product
3. Product Baseline:
■ The final released software +
Code
documentation (the final product).
4. Other common types:
Design
■ Development Baseline, Alpha/Beta
Release Baselines.
Requirements
Baselines – The Process
● Key Modules:
Measurable
Change Control
○ The formal process for managing changes to the software's
components.
○ Its main job is to prevent chaos and ensure that every change is
justified, reviewed, and documented.
○ The process for requesting, approving, and implementing changes.
Hotfix
Branches
Variants/Branches
The Core SCM Process
Activities
The Core Four and Their Enablers
● Configuration Planning
○ The Input, foundation
○ Defines the rules for how you will perform each of the core activities.
○ It answers:
■ What tools will we use for Identification?
■ What is the process for Control?
The Core Four and Their Enablers
● The four core activities are the process.
○ Configuration Identification
■ What to control?
○ Configuration Control
■ How to change it
○ Configuration Status Accounting
■ How to track it
○ Configuration Auditing
■ Is it correct?
The Core Four and Their Enablers
● Version Control
○ The Toolbox
■ Enables the cycle
○ Managing different versions of files
■ Code
■ docs
■ configs
The Core Four and Their Enablers
● Build & Release Management
○ The Output
■ Creating the product
○ Managing the delivery of software to users.
The SCM Framework: A Unified View
Configuration
Planning
Configuration
Identification
Version
Version
Configuration Version
Control Configuration Build & Release
Control
Control
Control Auditing Management
Configuration
Status Accounting
Summary
● In SCM, the core concepts are the Building Blocks:
● Configuration Item (CI): Any important artifact
● code, docs, models.
● Baseline: A frozen snapshot of CIs at a point in time;
● a milestone.
● Version: An iteration in time
● v1.0 v1.1 v2.0.
● Variant: A parallel fork for a different purpose
● Mobile vs. Web app.
Summary … (2)
● The four SCM core activities:-
1. Configuration Identification: where we decide which
items need control and assign them identifiers.
2. Configuration Control: which manages change requests
and approvals.
3. Configuration Status Accounting: which records and
reports the status of all items.
4. Configuration Auditing: which ensures that items are
correct and consistent.
Summary … (3)
● The enablers:-
● Configuration Planning
■ which defines how SCM will be implemented in a project.
○ Release management
■ Which manages the deliver of the software to users.
○ Version Control System
■ The technology that automates and enables the entire
process.
References
1. Leon, A. (2015). Software Configuration Management Handbook (3rd ed.).
Norwood: Artechhouse. Retrieved September 4, 2025.
2. OpenAI. (2025, September 4). SCM history and concepts [AI-generated
image]. ChatGPT (Sora). [Link]
3. Napkin AI. (2025, September 19). Versioning Cycle in Software
development [AI-generated image]. Retrieved from [Link]
Thank You! L
E
N C
E T
X U
T R
E
Audit and
Status Reporting
Course: Software Configuration
Management
Lecture 3: Audit and Status Reporting
September, 2025
Contents
Introduction
The Role of Audits and Status Reporting
Tasks, Reviews and Processes
Summary
Execute
Execute Review items & records
Document
Document findings
findings Record issues, gaps
Report
Report results
results Communicate conclusions
Difference from Quality Assurance
● Quality Assurance
How work is done
○ process quality
● Audit
What is delivered
○ product integrity
Non-conformance List
Outlines issues needing correction (Leon,
2025)
Corrective Actions
Details tasks for issue resolution (Leon,
2025)
Types of Audits: Preview
● Functional Audit
○ Does it meet requirements?
● Physical Audit
○ Does it match documentation?
● Baseline Audit
○ Is the baseline complete & consistent?
Details in Lecture 10
Definition of Status Accounting
Improves
decision-making
Builds
stakeholder confidence
Tools Supporting Status Reporting
● Automated tools
○ JIRA, Git, CMDB systems
● Manual tools
○ spreadsheets, documents
● Dashboards for real-time visibility
Frequency of Reporting
● Daily
○ For agile or fast-moving projects
● Weekly
○ Standard time for many teams
● Milestone-based
○ Tied to releases or phases
Challenges in Reporting
● Incomplete data
○ Missing updates or records
● Overload
○ Too much irrelevant detail
● Engagement
○ Lack of interest from stakeholders
● Consistency
○ Irregular reporting
The Role of Audits & Reporting in SCM
Provide visibility to stakeholders
Support decision-making
CSA
systematic record keeping
Status Reporting
communication of current state
CSA feeds data into status reports
CSA Outputs
● Review report
○ Summary of findings
● Defect/action list
○ Issues to resolve
● Approval or rejection decision
Tasks in SCM
● Specific activities to manage configuration items
● Include tracking, updating, and reporting
● Support audits, reviews, and reporting
Organizational
Context and Planning
Course: Software Configuration
Management
Lecture 4: Organizational Context and Planning
September, 2025
Contents
Introduction
Organizational Context
SCM Constraints
High-Level SCM Planning
Governance and Compliance in SCM
Summary
● Includes
Organizational
○ Culture, structure, and leadership Culture Context Structure
Organizational
Constraints
SCM Constraints
Constraints impacting
SCM effectiveness. Resource
Constraints
External
Constraints
SCM Constraints … (3)
● Technical/Technology Constraints
○ Dependence on legacy systems
○ Incompatibility between tools
○ Integration challenges with other software
○ High cost of advanced tools
○ Security limitations in some environments
SCM Constraints … (4)
● Organizational/Process Constraints
○ Overly rigid standards slow SCM activities
○ Bureaucracy creates unnecessary steps
○ Resistance to process change by staff
○ Inconsistent process adoption across teams
○ Delays in approvals and reviews
SCM Constraints … (5)
● Resource Constraints
○ Limited budget for tools and training
○ Shortage of skilled personnel
○ Competing project priorities
○ Insufficient time for documentation
○ Risk of overloading existing staff
SCM Constraints … (6)
● External Constraints
○ Government regulations and standards
○ Customer contract requirements
○ Industry-specific compliance needs
○ Market-driven release deadlines
○ Legal or certification restrictions
SCM Constraints … (7)
● Balancing Constraints
○ Constraints cannot be eliminated completely
○ They guide realistic SCM design
○ Balance control, cost, and speed
○ Adapt processes to fit context
○ Goal:
■ optimize SCM, not perfect it
SCM Constraints … (8)
Pros Cons
Incomplete elimination
Realistic design
Suboptimal performance
Balanced approach
Inflexibility
Contextual adaptation
Optimization focus
Overview on SCM Plan
● Planning
○ Strategic direction for SCM
● Defines scope and objectives
● Aligns with organizational goals
● Guides resource allocation
● Provides structure for consistent practices
Purpose of High-level SCM Planning
● Provides big-picture direction for SCM
● Ensures all teams follow common standards
● Supports communication across departments
● Anticipates challenges and risks
● Establishes foundation for detailed planning
Elements of High-level Planning
● Define what SCM will cover (scope)
● Identify stakeholders and roles
● Establish major milestones or phases
● Allocate initial resources
● Connect SCM goals to project goals
Strategic Alignment with Organization
● SCM must support business objectives
● Adapt practices to organizational strategy
● Agile firms lightweight SCM
● Regulated industries formal SCM
● Alignment improves acceptance and success
SCM Governance
● Governance
○ Oversight and control framework
● Defines accountability for SCM activities
● Ensures compliance with policies and standards
● Provides authority for decision-making
● Links SCM with organizational leadership
Principles of SCM Governance
Standards
Regulatory Compliance
Compliance
Alignment with ISO, IEEE,CMMI standards
Adherence to
legal and industry rules
Internal
Compliance
Following company policies and processes
Ethical
Compliance
Upholding responsibility and transparency
Compliance and Audits
● Audits check if SCM rules are followed
● Internal and external audits possible
● Focus on processes, records, and traceability
● Findings may lead to improvements or penalties
● Audits prove compliance to stakeholders
Benefits of Compliance in SCM
● Ensures product quality and safety
● Builds customer and regulator trust
● Reduces legal and financial risks
● Improves organizational reputation
● Supports continuous process improvement
Challenges in Achieving Compliance
● Complex and changing regulations
● High cost of compliance activities
● Resistance from staff to extra procedures
● Risk of compliance becoming a formality
● Balancing compliance with agility
Ensuring Effective Compliance
● Clear policies and training programs
● Use of automated tools for tracking
● Regular internal audits and reviews
● Leadership commitment and support
● Culture of responsibility and integrity
Summary