NivaarExam PrepOfficial exam papers ↗

19-Soft-A7 Software Development Process · December 2013

Question 7 of 8: Software Configuration and the Change-Management Process

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

National Exams, December 2013 — 04-Soft-A7, Software Process (open book, 3 hours). Notes on the paper: FIVE of the eight questions constitute a complete paper (the first five as answered in the answer book are marked, each of equal value); this solution answers all eight as a full study resource. Most questions call for essay-format answers; Question 4 introduces a hypothetical information search-and-delivery tool (delivering electronic documents from a repository to a user by keyword/preference — e.g. a product catalog or classified-ads listing) that Question 5 and parts of Questions 7 build on.

Reference texts. Sommerville, Software Engineering, 10th ed., Ch. 2 (Software Processes), Ch. 3 (Agile Software Development), Ch. 5 (System Modeling), Ch. 8–9 (Testing), Ch. 22–23 (Project Management, Configuration Management), Ch. 9 (Software Evolution/Maintenance); Pressman, Software Engineering: A Practitioner's Approach, 9th ed., Ch. 2–3 (Process Models, Agile), Ch. 23–24 (Project Management, Risk Management), Ch. 29 (Function-Point sizing), Ch. 22 (SQA), Ch. 24 (Software Configuration Management); SWEBOK v4 (Software Engineering Process, Software Configuration Management, Software Maintenance KAs).

Question 7: Software Configuration and the Change-Management Process (9 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Part a) — software configuration, illustrated on the Question-4 system. The configuration of a software system is the specific, consistent combination of versioned work products — source code modules, design documents, test cases, build/deployment scripts, and data schemas — that together constitute one identifiable, buildable and traceable version of the system at a point in time (Sommerville Ch. 25, "software configuration management"). Each individual versioned item is a configuration item (CI). For the Question-4 search & delivery tool, a representative configuration is:

Configuration itemExample version
Requirements/use-case model (Question 4a use cases)v1.2
UML design models (use-case + sequence diagrams, Figures 1–2)v1.0
Source module: PreferenceManagerv2.1
Source module: SearchEnginev1.4
Source module: DeliveryServicev1.0
Unit/integration test suitev1.3
Deployment/build scriptsv1.0

A given release of the tool is a specific, recorded combination of exact versions of every one of these CIs; changing any one CI (e.g. bumping SearchEngine to v1.5) produces a new configuration, which is precisely why every CI must be independently version-controlled and why a release is only reproducible if the full set of CI versions it was built from is recorded.

Part b) — main activities of the change process. Change request (CR) submission — a stakeholder formally records a proposed change with its rationale. Impact analysis — the team assesses which CIs the change touches and what it costs/risks to make. Evaluation and approval — a change control authority (an individual PM on a small team, or a Change Control Board on a larger one) accepts, rejects, or defers the CR based on the impact analysis. Implementation — the approved change is made to the affected CIs. Verification and re-baselining — the changed CIs are re-tested and, once accepted, the configuration baseline is updated to reflect the new, current set of CI versions, with the change communicated to affected stakeholders.

Part c) — the change process under Waterfall vs. agile. Under Waterfall, the change process is deliberately heavyweight: a formal CR is submitted against a frozen baseline, a Change Control Board conducts a rigorous impact analysis (often touching multiple already-signed-off phase documents), and approval can take days to weeks — change is treated as an exception to be controlled and minimised, because it threatens a plan built on the assumption of stability. Under agile, the same five activities still occur, but far more lightly: a proposed change is simply a new or re-worded backlog item, "impact analysis" is a quick estimate/re-prioritisation conversation with the product owner during backlog refinement, "approval" is the product owner accepting it into a future sprint, and "re-baselining" happens automatically as the next sprint's increment supersedes the old one — change is treated as the expected, welcomed norm rather than an exception, consistent with the Agile Manifesto value of "responding to change over following a plan" already invoked in Question 2(b).