0% found this document useful (0 votes)
3 views155 pages

Chapter One SCM

The Software Configuration Management (SCM) course provides an in-depth understanding of managing software changes throughout the software life cycle, emphasizing the importance of configuration identification, control, and auditing. It aims to equip students with tools and techniques to enhance productivity and quality in software projects. The course covers the evolution of configuration management, its necessity in software development, and the core SCM process activities.

Uploaded by

AM
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views155 pages

Chapter One SCM

The Software Configuration Management (SCM) course provides an in-depth understanding of managing software changes throughout the software life cycle, emphasizing the importance of configuration identification, control, and auditing. It aims to equip students with tools and techniques to enhance productivity and quality in software projects. The course covers the evolution of configuration management, its necessity in software development, and the core SCM process activities.

Uploaded by

AM
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Course: Software Configuration

Management
Lecture 1: Introduction to SCM

Lecturer: Yimer Amedie (MSc.)


Addis Ababa Science and Technology University, Ethiopia

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.

Figure 1: Concepts of SCM


(Source: OpenAI, 2025)
Lecture - One

Introduction to
Software Configuration Management (SCM)

Figure 2: Concepts of SCM(Source: OpenAI, 2025)


Contents
 Introduction
 The Evolution of Configuration Management (CM)
 Definition & Components
 Necessity & Consequences
 Summary

Figure 3: Concepts of SCM


(Source: OpenAI, 2025)
Learning Outcomes
After completing this lesson, you will be able to:
● Define configuration management and its core principles.
● Trace the high-level history of CM from its origins to modern software
● Identify key Software Objects and explain their importance.
● Describe the SCM Process and differentiate between Version
Control and Change Control.
● Articulate the critical necessity of SCM in software
development.
.
Introduction
Now a days, software is a life blood of any organizations.
● As software plays a big role in critical systems, development is
becoming increasingly complex.
○ Size, sophistication, technology used
● Modern software must be reliable, scalable, and support diverse
users, languages, and platforms
○ Where even minor errors can have serious
consequences
The Evolution of CM
CM has Its origin in the manufacturing industry (Leon, 2025)
● To manage design change and production
○ Due to the challenges for more complex and critical
products.
■ Development spanned for many years,
■ Handled by more than one person
■ When control transferred from one person to another
● Associated information lost
The Evolution of CM … (2)
Configuration Management
● Aircraft
● Tank
● Spacecraft
● weapons systems.

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

Figure 5: Timeline of SCM (Source: OpenAI, 2025)


The Evolution of CM … (7)
Integration with
Early Days of Software Development of CM
DevOps & CI/CD
Development Systems
2010s-Present
1950s-1960s 1980s

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.

Documentation & Design Models


Specifications, architectural diagrams, user manuals, and technical guides.

Data Files & Test Suites


Configuration files, databases, and comprehensive sets of tests to
validate functionality.
Challenges Without SCM
● Code overwrites and conflicts
● Loss of earlier versions
● Difficult bug tracking
● Unclear ownership of changes
● Chaos in large teams
The Cost of Not Having SCM
● Integration Hell:
○ The nightmare of merging weeks of divergent work.
● Lost Work:
○ Accidental deletions or overwrites with no backup.
● Endless Debugging:
○ Inability to isolate which change caused a bug.
The Cost of Not Having SCM … (2)
● Team Conflict:
○ Developers constantly breaking each other's code.
● Business Risk:
○ Inability to deliver stable software, losing customer trust.
Necessity & Consequences
Why we need SCM?
Uncontrolled Changes
Lead to confusion, errors, and project delays, undermining
productivity.
Increased Mistakes
Uncoordinated alterations can introduce bugs and inconsistencies.
Productivity Loss
Time wasted on rework and debugging due to poor
change management.
Necessity & Consequences … (2)
Why we need SCM?
SCM's Solution
Maximises productivity by minimising mistakes, fostering a
streamlined workflow.
■ Manages complexity of modern systems
■ Protects from accidental loss
■ Enables controlled evolution
■ Helps meet compliance and standards
Benefits of SCM
Some of the benefits of SCM are (Leon, 2025)
● Improved organizational competitiveness;
● Better customer service and improved customer goodwill;
● Better return on investment;
● Improved management control over software development activities;
Benefits of SCM … (2)
● Improved software development productivity;
● Easier handling of software complexity;
● Improved security;
● Higher software reuse;
● Lower software maintenance costs;
Benefits of SCM … (3)
● Better quality assurance;
● Reduction of defects and bugs;
● Faster problem identification and bug fixes;
● Process-dependent development rather than person-dependent
development;
● Assurance that the correct system was built.
The Role of SCM in Software Engineering
● Ensures project stability and control
● Supports teamwork and collaboration
● Provides audit trail for accountability
● Improves quality and reliability
Goals and Objectives of SCM
● Version control
● Change control
● Configuration identification
● Auditing
● Status accounting
Goals and Objectives of SCM … (2)
Activity:
● Imagine a team working without a SCM Process:
○ Version Control is absent: Developers overwrite each other's changes to
shared Software Objects

○ Change Control is absent: No one knows why a change was made, leading
to bugs and instability.

○ Result: Chaos, wasted time, and an unreliable product.


This highlights the direct need for Configuration
Management.
Scope of SCM in the Software Lifecycle
● Requirements management
● Source code control
● Documentation control
● Build and release management
● Maintenance and support
The SCM Process Overview
Artifacts we want to control

Ensuring that any change request is analyzed,


approved, and implemented correctly

Records what has changed

Verify compliance

Ensures that lessons learned


improve the next cycle
Key Roles in SCM

Figure 6: key participants in SCM (Source: Bennett, 2024)


Key Roles in SCM … (2)
Project Manager
 Oversees development progress, monitors status, and
ensures all deadlines are met.

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

Core SCM Process


Activities
Course: Software Configuration
Management
Lecture 2: Core SCM Process Activities

Lecturer: Yimer Amedie (MSc.)


Addis Ababa Science and Technology University, Ethiopia

September, 2025
Contents
 Introduction
 Core Concepts
 SCM Process Activities
 SCM Activities: Unified View
 Summary

Figure 1: Concepts of SCM


(Source: OpenAI, 2025)
Learning Outcomes
After completing this lesson, you will be able to:
● Identify and differentiate between key SCM concepts
● Explain the core SCM process activities and their relationships
● Articulate the complete SCM workflow
○ From Planning (Input), through the Core Activities (Process) 
○ To Build & Release (Output).
.
Introduction
● SCM is the set of activities that are performed throughout the
project life cycle (Leon, 2015)
○ from requirements analysis  maintenance
● SCM is important because software is subject to constant
change
○ software systems undergo changes when designed, when
built, and even after being built.
Introduction … (2)
● Uncontrolled and unmanaged change can create
○ confusion and lead to communications breakdown problems
○ shared data problems
○ multiple maintenance problems
○ simultaneous update problems
Introduction … (3)
● SCM is a critical aspect of software development, as it helps to
ensure that
○ Software components are properly controlled, tracked, and stored
○ Changes made to a software system are properly coordinated
○ The system is always in a known and stable state.

SCM  Deal with change

Ensure items released satisfy requirements


through review & Audits
Core Concepts in SCM Process
Activities
Core Concepts
The SCM process is a structured
These activities are
set of activities designed to
interconnected and form the
manage and control the evolution
backbone of any robust software
of software systems.
engineering practice.
Configuration Items
(CIs)
The building blocks that make
software control possible
Configuration Item (CI)
● A configuration item is any identifiable
component of a software project that
What is Configuration Item? needs to be managed and controlled.
● Each CI is treated as a distinct entity with
its own version history.
Configuration Item (CI)
● Examples:

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.

Placed under formal change


control; Frozen State
not to be modified arbitrarily.

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

● How it’s Done?


1. Identify & Select
■ The correct versions of all components.
2. Build & Test
■ The integrated set to ensure it works.
3. Formal Review
■ The team and Change Control Board
(CCB)
Baselines – The Process … (2)

● How it’s Done?


4. Approve and Tag
■ In the version control system
5. Communicate
■ The new baseline for the entire team
Baselines: Example
Imagine the team is building a new Learning Management System

● Key Modules:

○ user-auth/ (Login, Registration)

○ course-content/ (Upload, View Materials)

○ assignments/ (Create, Submit, Grade)

○ discussion-forum/ (Threads, Posts)

Goal: Establish Version 1.0 (V1.0) Product Baseline.


Baselines: Example – Create Baseline
● V1.0 Baseline
○ Step 1: All modules are developed and unit tested.
○ Step 2: We integrate and perform end-to-end testing.
○ Step 3: The build is successful and stable!
○ Step 4: We formally tag this state as the baseline.
# This command captures the exact state of the codebase
git tag -a "v1.0-baseline" -m "LMS Product Baseline for first release."

The code is now FROZEN. This is our official reference point.


Baselines: Example – Change Requested
After the Baseline: A Change Request
● Post-Baseline Change Request:

○ Title: "Add Due Date Reminder for Assignments"


After V1.0 is released, users request an email reminder 24
○ Request:
hours before an assignment is due.

This is a NEW feature. It was NOT in the V1.0


baseline.

How do we handle this change without breaking our stable baseline?


Baselines: Example – Managing the Change
Branching from Baseline: The Process:
1. Branch from the Baseline

git checkout v1.0-baseline # Go to the frozen baseline


git checkout -b hotfix/add-reminders # Create a new branch from it

2. Develop the new feature (add-reminders module).

3. Test rigorously in isolation.

4. Merge back through a formal review process.


Baselines – Final Remark
● A Baseline is a formally approved, frozen snapshot.
● It provides Stability, Reproducibility, and Control.
● It is created at key milestones (Functional, Design, Product).
● The process involves Selection, Testing, Approval, and Tagging.
● It is enabled by Version Control tools like Git.
Baselines – Final Remark … (2)

Stable ⮚ Without baselines, you have history.


⮚ With baselines, you have a managed
project.
Baseline
Reproducible Controlled

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.

Request Analyze  Reject


 Approve

Implement  Verify  Integrate


Versioning
● Versioning refers to the systematic process of assigning unique
identifiers to different states or revisions of software artifacts to
track changes over time.
● It ensures that developers can
○ manage multiple iterations of a software item
○ compare changes
○ retrieve previous versions
○ coordinate work among team members.
Versioning – Key points
Assign distinct identifiers to
1 each version
Unique
Identification

Revert to previous Monitor and document


versions if needed modifications
2
4
Change
Rollback Tracking
Capability Figure 2: Versioning Cycle (Source:
NapkinAI, 2025)
3
Parallel
Development

Enable simultaneous work


on features
Variants
What are software variants?

They are versions of the software


developed in parallel.

Why use them?

They allow us to work on multiple lines


of development without interfering with
each other.
Variants – Common Types
Main/Master
Branch
The power of variants comes from
Feature
Branches the ability to merge changes from
Release one branch into another
Branches

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

Lecturer: Yimer Amedie (MSc.)


Addis Ababa Science and Technology University, Ethiopia

September, 2025
Contents
 Introduction
 The Role of Audits and Status Reporting
 Tasks, Reviews and Processes
 Summary

Figure 1: Concepts of SCM


(Source: OpenAI, 2025)
Learning Outcomes
After completing this lesson, you will be able to:
● Define audits and status reporting in SCM
● Explain their importance for traceability and visibility
● Identify tasks, reviews, and processes
.
Introduction
● In SCM, maintaining control over the project's assets and
providing clear communication about their status are two
critical, complementary functions.
● This lecture introduces the concepts that fulfill these needs:
○ Configuration Audit
■ The mechanism for control and verification.
○ Status Reporting
■ The mechanism for communication and visibility.
Key Concepts in Audit & Status Reporting

Configuration Status Configuration Reviews &


Audit Reporting Status Tasks
Communicates the Accounting Supports daily
Verifies conformity
current state of the practices.
. Records CI data
project.
What is Configuration Audit?

Formal review of configuration items (CIs)

Ensures conformance to requirements & standards

Provides objective evidence of integrity


Audit Focus
● Completeness
○ Are all required items present?
● Correctness
○ Does the item match requirements?
● Consistency
○ Are items aligned with each other?
Audit Process
Plan Plan Define scope & criteria

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

Both complement each other


Audit Deliverables
Audit Report
Summarizes audit findings and insights (Leon,
2025)

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

Structured communication of project state

Provides information on CIs, changes, and baselines

Keeps all stakeholders aligned


Purpose of Status Reporting
Ensure visibility of progress

Track bottlenecks and delays

Support management decisions

Provide evidence for audits


Key Contents of Status Reports
● CI status
○ versions, approvals, locations
● Change request status
○ open, approved, implemented
● Baseline state
○ current baseline, pending changes
● Outstanding issues
○ unresolved risks or actions
Status Report Format Example
CI ID Version Status Approver Baseline

 Clear and concise format


 Easy to update regularly
Benefits of Status Reporting
Promotes
transparency
Enables
early risk detection

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

 Offer assurance of compliance

 Support decision-making

 Strengthen overall control


Why Are Audits & Reporting Needed?

● Prevent chaos and rework


● Maintain accuracy of versions and baselines
● Reduce frustration and wasted time
● Avoid broken or noncompliant products
Configuration Status Accounting (CSA)

● Process of recording and reporting


configuration data
● Tracks the history and current state of Cis
● Supports decision-making and control
Role of CSA in SCM

● Provides traceability across versions and


changes
● Ensures visibility of baseline states
● Supplies evidence for audits and reviews
CSA vs. Status Reporting

 CSA
systematic record keeping
 Status Reporting
communication of current state
CSA feeds data into status reports
CSA Outputs

 Version histories of Cis


 Change logs with approvals
 Baseline records
 Reports for audits and reviews
Reviews in SCM

● Peer or management evaluation of


work products
● Focus on quality and correctness
● Less formal than audits
Objectives of Reviews

Detect errors early

Ensure compliance with


standards

Promote team learning


and alignment

Reduce rework costs


Participants in Reviews
● Author
○ Presents the work product
● Reviewers
○ Peers or experts providing feedback
● Moderator/Facilitator
○ Guides the process
● Recorder
○ Captures issues and decisions
Review Deliverables

● 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

 Update CI version and status


 Record change request approvals
Example
 Prepare status reports
 Document review findings
Task Assignments and Ownership

Figure 2: Task Assignment and


Ownership (Source: OpenAI,
2025)
Tools for Task Management
● Automated tools
○ JIRA, Trello, MS Planner
● Manual tools
○ Spreadsheets, task boards
● Ensure visibility and accountability
Importance of Task Management
Supports audit and reporting processes

Ensures consistency and accuracy

Reduces errors and rework

Improves team efficiency


Summary

● Audits provide assurance of integrity


● Status reports provide visibility
● CSA maintains records and history
● Reviews and tasks support quality and control
Summary … (2)

● Visibility, assurance, and control are central


● Early detection of issues saves time and cost
● Structured processes reduce errors
● Documentation supports audits and decisions
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. OpenAI. (2025, September 22). SCM Task Assignment and Ownership [AI-
generated image]. ChatGPT (Sora). [Link]
Thank You! L
E
N C
E T
X U
T R
E

Organizational
Context and Planning
Course: Software Configuration
Management
Lecture 4: Organizational Context and Planning

Lecturer: Yimer Amedie (MSc.)


Addis Ababa Science and Technology University, Ethiopia

September, 2025
Contents
 Introduction
 Organizational Context
 SCM Constraints
 High-Level SCM Planning
 Governance and Compliance in SCM
 Summary

Figure 1: Concepts of SCM


(Source: OpenAI, 2025)
Learning Outcomes
After completing this lesson, you will be able to:
● Explain how organizational structure, culture, and management
influence SCM implementation.
● Identify common constraints that affect SCM processes
● Describe the purpose and components of high-level SCM planning
● Discuss the role of governance in SCM
● Evaluate the importance of compliance in SCM environments
Introduction
● Like other management, CM needs people to perform the
various activities and to produce results (Leon, 2015)
● Among the activities that have be performed for the SCM system
to function properly are:
○ Configuration identification
○ Change management, disposition and implementation
○ Configuration control
○ Status accounting, CA, etc.
Organizational Context
● Context
Decision
○ Environment where SCM is practiced. Making Resources

● Includes
Organizational
○ Culture, structure, and leadership Culture Context Structure

● Defines how decisions are made


Leadership
● Affects resource allocation and priorities
● Shapes SCM effectiveness and adoption
Organizational Context … (2)
● Cultural Influences on SCM
○ Organizational culture
■ Shared values and beliefs
○ Determines acceptance of rules and procedures
○ Impacts willingness to adopt SCM tools
○ Resistance or support depends on culture
○ Strong quality culture
■ Strong SCM practices
Where SCM fits into
the organizational
structure?
Organizational Structure and SCM
● Structure defines reporting lines and authority
● Centralized Vs Decentralized decision-making
○ Strong hierarchy  Centralized
■ Stricter SCM enforcement
○ Flexible structure  Decentralized
■ Quicker but riskier SCMSCM roles depend on
organizational design
Organizational Structure and SCM … (2)

Figure 2: Organizational structure in which a


central SCM team deals with the different
Projects. (Source: Leon, 2015)
Organizational Structure and SCM … (3)

Figure 3: Organizational structure when a central


SCM team and individual SCM teams are used.
(Source: Leon, 2015)
Organizational Structure and SCM … (4)

Figure 4: Organizational structure in which there


are independent SCM teams for each project.
(Source: Leon, 2015)
Leadership and SCM Commitment
● Leadership sets tone for SCM importance
● Managers allocate resources for SCM
● Strong leadership
○ Compliance and adoption
● Weak leadership
○ Neglect of SCM activities
● Commitment at top ensures long-term success
SCM Constraints
● Constraints
○ Limits on SCM effectiveness
● Can be internal or external to the organization
● Often unavoidable, must be managed
● Define what is realistic in SCM planning
SCM Constraints … (2)
Technical
Constraints

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

Transparency Accountability Consistency Compliance Continuous


Improvement

Ensures visibility Clearly defines Maintains uniform Adheres to


internal & external Adapts and
of all Roles and application of
standards evolves over time
SCM activities responsibilities rules
Governance Structures
● Defined roles: managers, auditors, engineers
● Configuration Control Board (CCB) as key body
● Review and approval processes
● Escalation paths for decision-making
● Governance integrated with project management
Roles of CCB
● Configuration Control Board (CCB) roles are:
○ Reviews proposed changes to baselines
○ Approves, rejects, or defers changes
○ Ensures changes align with goals and policies
○ Balances technical, cost, and schedule factors
○ Provides formal record of decisions
Governance and Decision-Making
● Governance defines who can decide
● Prevents unauthorized changes
● Promotes fair and balanced choices
● Uses documented approval processes
● Supports accountability and traceability
Benefits of Strong Governance
● Ensures consistency across projects
● Builds trust with stakeholders
● Improves compliance with standards
● Reduces risk of errors or conflicts
● Strengthens long-term SCM discipline
Challenges in Governance
● Risk of excessive bureaucracy
● Possible delays in approvals
● Resistance from staff and teams
● Difficulty balancing flexibility and control
● Requires ongoing leadership support
Overview of SCM Compliance
● Compliance
○ Following established rules
● Covers laws, standards, and internal policies
● Ensures reliability and accountability
● Protects against legal or contractual risks
● Supports certification and audits
Types of Compliance in SCM
Contractual
Compliance
Fulfillment of customer agreements

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

● Organizational context shapes SCM effectiveness


● Constraints define realistic SCM practices
● High-level planning provides direction and alignment
● Governance ensures accountability and proper
oversight
● Compliance maintains quality, safety, and trust
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]
Thank You! L
E
N C
E T
X U
T R
E

SCM Plan and


Tools

You might also like