SOFTWARE CONFIGURATION MANAGEMENT COURSE 2007

Dr. René L. Krikhaar
Dr. Niels Veerman

Lecture: Tuesday 10.00-12.00h room S2.03
Practical work: Tuesday 12.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.

STUDENT GROUPS

Paper presentation groups

Company simulation groups

Final assignment groups

COURSE OUTLINE AND MATERIAL

You are expected to study the material before each lesson to stimulate interaction and discussion. An SCM reader with bookchapters and articles can be obtained from the main building's bookshop, which costs about 30 euros.

From lesson 4, each week one or two presentations are held by groups of students. The presentation is prepared by the group and then presented by one or two students in about 15 minutes. Afterwards, a paper game will be played: one student of the presenting group attacks the paper and one student defends the paper; weak and strong points of the paper shall be used. Another student takes notes of the arguments, which will be published on the SCM website. Then, by voting, the winning group shall be determined by all students in the room.

Week Date Lesson Topic Lecture slides Practical work
14 3 April 1 Introduction SCM Part 1 Part 2 Lego exercise Photos
15 10 April 2 Version management Slides Hand-out
16 17 April 3 Build management Part 1 Part 2 Hand-out
17 24 April 4 Branching strategies Slides Hand-out
18 1 May 5 Baselining/Release Management Slides Hand-out
19 8 May --- Continue practical work of week 18 Requests A-C
20 15 May 6 Change and Defect Management Slides Requests D-F
21 22 May 7 Guest lecture Oce Technologies Slides
22 29 May --- No lecture
23 5 Jun 8 SCM/PDM Integration Slides
24 12 Jun 9 Distributed Configuration Management
25 19 Jun 10 Final assignment feedback session
26 26 Jun Deadline Final Assignment @ 12.00h 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 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

+ Material from Week 14

Practical work: Subversion book 
Study Chapters 1 & 2 (20 pages)

Week 16, lesson 3: Build management

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

+ Material from Week 15

Optional: 
7 Version Models for Software Configuration Management
  Reidar Conradi and Bernard Westfechtel

SoftFab article

Practical work: Subversion book 
Study Chapter 4 (25 pages)

Week 17, lesson 4: Branching strategies

Paper presentation by Xi Luo, Jaap ter Woerds and Jordy Noom:
  Process Model and Awareness in SCM
  Jacky Estublier and Sergio Garcia
  16 pages
Discussion notes 

More about branching strategies:
Branching Pattens for Parallel Software Development Local copy

Practical work: 
Re-read Chapter 2 & 4 of the Subversion book!

Week 18, lesson 5: Baselining/Release Management

Paper presentation by Sherwood Pengel, Petter Höglund and Daan van Dijk:
  A state-of-the-art survey on software merging
  Tom Mens
  14 pages
Discussion notes 

More about branching strategies:
Branching Pattens for Parallel Software Development Local copy

Practical work: 
Re-read Chapter 4 of the Subversion book!

Week 20, lesson 6: Change and Defect Management

Software Release Methodology
Michael E. Bays
Chapter 5: Defect Tracking
pages 51-85

Paper presentation by Wessel Heringa, Peter van der Meer and Daan Zonneveld:
  A case study of the Release Management of a Health Care Information System
  Gerco Ballintijn et al.
  10 pages

Week 21, lesson 7: Guest lecture

Paper presentation by Elefelious Belay, Johan Piet, and Jorge Lopez Figuerola
   ArchEvol: Versioning Architectural-Implementation Relationships
   Eugen C. Nistor, Justin R. Erenkrantz, Scott A. Hendrickson and Andre van der Hoek
   13 pages
Discussion notes 

Week 23, lesson 8: SCM/PDM Integration

Complex Systems Development Requirements - PDM and SCM Integration
Ivica Cnrkovic, Annita Persson Dahlkvist, Daniel Svensson 

Week 24, lesson 9: Distributed Configuration Management

Workshop Telelogic/Synergy