Skip to content
doubtly

1 answer

Answer: Software Configuration Management (SCM) is the set of activities that identify, organise and control changes to software work products throughout the life cycle. Its process has five main tasks: identification, version control, change control, configuration audit and status reporting.

Why SCM is part of quality management: software changes constantly; without control, wrong versions get released, fixes are lost and teams overwrite each other's work. SCM keeps every change recorded, approved and traceable, so the product stays consistent and of known quality.

Key terms:

  • Software Configuration Item (SCI): any work product placed under control, e.g. SRS, design document, source file, test plan, manual.
  • Baseline: a formally reviewed and approved version of one or more SCIs; it can be changed only through the formal change control procedure.
  • Repository: the controlled store where all SCIs and their versions are kept.

SCM process tasks:

  1. Identification of objects: Each SCI is named uniquely and described (type, project, version). Relationships between items are recorded so the effect of a change can be traced.
  2. Version control: Manages different versions of each item. Diagram (in words): an evolution graph where object 1.0 becomes 1.1, small fixes branch into 1.1.1 and 1.1.2, development continues as 1.2, 1.3, and a major change starts a new branch 2.0, with both branches maintained. Tools: Git, SVN.
  3. Change control:
    • A user/developer submits a change request.
    • Developers evaluate it: technical merit, side effects, impact on other items and cost; a change report is produced.
    • The Change Control Board (CCB) approves or rejects it. If rejected, the requester is informed with the reason.
    • If approved, an Engineering Change Order (ECO) is issued; the item is checked out of the repository, changed, reviewed/tested (SQA), and checked in as a new version; a new baseline is formed and the change is distributed.
  4. Configuration audit: Checks that the approved change was actually made correctly: technical reviews (was the change correct and complete?) and audits (were SCM procedures followed, are records updated, are related items also changed?).
  5. Status reporting (status accounting): Records and reports what changed, who changed it, when, and what else is affected, so all team members stay informed.

Benefits: controlled and traceable changes, ability to roll back to an earlier version, parallel development, fewer integration errors and higher product quality.

Doubtly · 19 May 2024 Report
Was this answer helpful?

Your answer

Log in or create a free account to answer this question.