SOFTWARE CONFIGURATION MANAGEMENT COURSE 2006

Dr. René L. Krikhaar
Drs. Niels Veerman

Lecture: Tuesday 11.00-12.45h room S2.03
Practical work (week 20-21): Tuesday 9.00-13.00h room S3.29

AIM

The goal of the course is to learn the basic concepts and principles of Software Configuration Management and to learn how to select and apply them in a real-world context.

CONTENT

Software Configuration Management (SCM) is required to control evolving software systems. This course introduces the basic concepts and principles underlying software configuration management, a.o. change control, version management, build management and release management. Tools are inevitable for SCM, therefore a number of SCM tools are compared to the discussed concepts and one or two of them are practiced. New research areas of SCM are discussed: multi-disciplined configuration management, multi-sites CM and CM for multiple products (product families). In addition, the lectures will also cover SCM experiences in industry.

ASSESSMENT

Notify us in advance if you cannot attend a lecture.

PARTICIPANTS GROUPS

Participants groups

COURSE OUTLINE AND MATERIAL

You are expected to study the material before each lesson to stimulate interaction and discussion. A reader has been prepared and is available in the main building's bookshop. You can find the contents of the reader here: reader contents.
From lesson 3, each week two or three presentations are held by groups of students. The presentation is prepared by the group and then presented by one or more students in 15 minutes (this used to be 20-25 minutes, but has been reduced due to the busy schedule). Afterwards, the rest of the group sets up and leads a discussion on the topic with all SCM students, and takes notes. The notes will be put on the SCM website. See Participants groups for the schedule.

Week Lesson Topic Lecture slides
14 1 Introduction SCM Part 1 Part 2
15 2 Version and Build management Part 1 Part 2
16 3 Merging and Awareness All
17 4 Branching strategies All
18 5 Release management All
19 6 Industrial change management Invited speaker
20 7 Practical work Evaluation
21 8 Workshop - Telelogic/Synergy Synergy DCM Evaluation
22 -- no lecture
23 9 Preparation for Industrial Assigment Feedback
24 10 Preparation for Industrial Assigment
25 11 Industrial Assignment
26 Deadline Industrial Assignment

Week 14, lesson 1: Introduction SCM

Software Configuration Management (Coordination for Team Productivity)
Wayne A.Babich
page 2-31

1 Elements of Software Configuration Management
  Edward H. Bersoff
  9 pages

2 Concepts in Configuration Management Systems
  Susan Dart
  18 pages

Week 15, lesson 2: Version and Build management

Implementing and Integrating PDM and SCM
Ivica Crnkovic, Ulf Asklund, Annita Persson Dahlqvist
page 59-87

3 Pragmatic Software Configuration Management
  Steve Berczuk
  3 pages

4 Make A program for Maintaining Computer Programs
  S.I. Feldman
  9 pages

Week 16, lesson 3: Merging and Awareness

PR1:
5 A State of the Art Survey on Software Merging
  Tom Mens
  14 pages
PR2:
6 Process Model and Awareness in SCM
  Jacky Estublier and Sergio Garcia
  16 pages

Week 17, lesson 4: Branching strategies

Software Configuration Management patterns 
Reference Card (www.scmpatterns.com)

Steven Berczuk & Brad Appleton
http://www.berczuk.com/pubs/ 
Branching Pattens for Parallel Software Development Local copy

Perforce
Advanced SCM Branching Strategies

ClearCase
The Not-So-Official ClearCase Page

UCM
UCM:Configuration Management Branching Strategy

PR3:
7 Version Models for Software Configuration Management
  Reidar Conradi and Bernard Westfechtel
  22 pages, section 1-4, page 232-253, study rest as context
PR9:
10 Towards a suite of software configuration management metrics
   Lars Bendix and Lorenzi Borraci
   8 pages

Week 18, lesson 5: Release management

PR4:
13 Software Configuration Management: A roadmap
   Jacky Estublier
   9 pages
PR5:
9 A case study of the Release Management of a Health Care Information Systems
  Gerco Ballintijn
  10 pages
PR6:
8 Representing variability in a family of MRI scanners
  M. Jaring, R. Krikhaar, J. Bosch
  32 pages

Week 19, lesson 6: Industrial change management

Invited speaker: Frank Schophuizen -
TOPIC
Title: Industrial unified change management
Software Release Methodology
Michael E. Bays
page 51-85

Change Management Needs Integrated Process and Configuration Management
Gregor Joeris
17 pages
(this paper is not included in the reader but can be found here and will be handed out during lesson 3)
PR7:
11 ArchEvol: Versioning Architectural-Implementation Relationships
   Eugen C. Nistor, Justin R. Erenkrantz, Scott A. Hendrickson and Andre van der Hoek
   13 pages
PR8:
12 On Product Versioning for Hypertexts
   Tien N. Nguyen, Cheng Thao, Ethan V. Munson
   20 pages

Week 20, lesson 7: Practical work

SCM Practical work guide

Feature Requests and Practice Schedule

CVS manual by Per Cederqvist local copy

Week 21, lesson 8: Telelogic/Synergy 23 May

SYNERGY practice/workshop organised by Telelogic

Week 22, no lecture

Week 23, lesson 9: Presentation of approaches for Industrial Assignment

Final Assignment version 1.0
Configuration Management Principles and Practice
Anne Mette Jonassen Hass
page 343-349

Week 24, lesson 10: Second round of presentation of approaches

Use the
Feedback from Week 23 to improve your approach.

Week 25, lesson 11: Interviews at the companies

Week 26, Deadline Industrial Assignment

Deadline: Friday 30th June 2006 at 12:00h
Submission: sent your report by email in Word or PDF