Software Configuration Management

Size: px
Start display at page:

Download "Software Configuration Management"

Transcription

1 Software Configuration Management Lecture: Configuration control Chapter: 8 Niels Veerman René Krikhaar

2 Lecture objectives Learn about configuration control processes Nothing is permanent but change - Heraclitus

3 A definition of configuration control IEEE: an element of configuration management, consisting of the evaluation, coordination, approval or disapproval, and implementation of changes to configuration items after formal establishment of their configuration identification. A way to enable controlled evolution of a product

4 Problems of uncontrolled changes Project failures Confusion and chaos Communications breakdown Shared data Multiple maintenance Simultaneous update

5 Baselines and configuration control Product maturity (quality level) Functional baseline Alpha Incremental builds Beta1 Beta2 Release candidate Formal release Changes Changes Changes Changes Changes Reviews & tests Reviews & tests Reviews & tests Reviews & tests Lifecycle phase

6 Concepts of configuration control During the lifecycle, events arise that affect configuration items: Problem/defect management Problems/bugs/errors/defects arise Change management New features are requested Release management Configuration items mature and must be released Changes To Config. Items

7 Change types/origins PR or problem report (defect) A nonconformance of a configuration item with its specified requirements CR or change request A request to change the specified requirements of a configuration item Release request A request to formally release a configuration item for a specific product maturity A CR can be the result of a PR

8 Change contents Unique identification Project name, date, requestor, and priority Description of the change Affected configuration items (release/baseline/version) Suggested fix and consequences (in case of PR) Severity and risks (in case of PR) Business case/financial impact (if required) Log files (if available)

9 Change request example

10 Change process steps CCB Analyst Developer Change approve request Analysis Evaluation Implementation Initiator reject inform Verification Tester CCB = configuration control board New baseline R 2.1

11 Configuration control board Reviews all proposed changes for impact on budget and schedule Prioritizes changes identifies changes that can be postponed for the future Limits Scope Creep Typical participants (depending on the project) Project manager Senior manager with funding responsibility (Software) Configuration manager Quality control manager Contractor s project manager Key user representatives

12 Change tracking Which changes are implemented in this baseline? Did we fix problem 12345? Is problem resolved in platform X? Can I merge fix of problem in my branch? Enables configuration status accounting

13 New and verified changes New Reeks1 Verified Reeks /7/2004 6/7/2004 7/7/2004 8/7/2004 9/7/ /7/ /7/ /7/2004

14 Integration of change and version management CR / PR may result in some actions to resolve it Resolution results in changes of files (doc s, source, test scripts, etc.) (by someone) New version of these files is committed; some reference to the CR/PR Change #Id Changed files

15 More tight integration Task (Synergy), Activity (UCM), Ticket (TRAC),.. Only changes possible in a Task Project Leader assigns Tasks Connection Project Management and Change Management Results in a Change Set Milestone (e.g. Release) = set of Tasks Project Task 1 Task n Changed files Changed files

16 Change set Set of CIs being modified for resolving PR or implementing CR In theory: Any (random) set of Change Sets is a new release providing the described features and fixed problems (given starting point: baseline)

17 UCM -1- UCM = Unified Change Management (IBM) Configuration is a composition of Workspace-specific changes (private) Accepted integrated changes (team) System baseline (public) Baseline Private Team System (baseline) Reproducible configuration with a known quality

18 UCM -2- Deliver Rebase Private Private Private Private Team Team System (baseline) Promotion criteria

19 Summary Configuration control enables controlled evolution of a product Changes have different origins (CR,PR,Release) have to be stored and managed must be carefully evaluated Change metrics provide insight in project status Enables configuration status accounting Implementation of configuration control consists of Clear description of content Flow in which a change exists Actors make transitions in the flow

20 Homework Book: Chapters 9, 10, 11, 16