SNESCM

Scandinavian Network of Excellence
in
Software Configuration Management


Scandinavian SCM day

Half-day tutorial: Branching strategies

Abstract:

Configuration Management is fairly well understood. What kind of problems it can help to eliminate and how it could/should be implemented. If someone wants to know more there exist lots of literature to buy and study.

Software Configuration Management, on the other hand, is much less understood and unfortunately there is very little literature that treats this speciality. Wayne Babich's classic book is one - and we digged into that at last year's tutorial. For this year's tutorial we will visit another classic:

Brad Appleton, Stephen P. Berczuk, Ralph Cabrera, Robert Orenstein: Streamed Lines - Branching Patterns for Parallel Software Development, http://www.enteract.com/~bradapp/acme/branching/, 1998.

The word "software" in Software Configuration Management means that we open up for new ways that people can work in parallel since we are not working on physical pieces of hardware but copies of digital information.

Wayne Babich identified the "Double Maintenance" problem, advicing people to avoid it by eliminating copies or synchronizing them as soon as possible. However, he did not give much practical advice since there was very little understanding of the problem at that time - and even less tool support.

Modern version control tools all support branching to allow for parallel streams of development. They also have - internally or externally - merge support for "pulling things together" when the different pieces of work have to be co-ordinated and synchronized.

Appleton and friends tried to make sense of the cowboy-style bonanza of branching and merging that this new-found freedom gave. They establish a terminology for problems and solutions related to branching and merging so we can talk about it without misunderstandings. They give general guidelines for what to look out for when applying branching and merging. They distinguish a great number of different situations (tasks/problems) that call for a branching and merging solution - and for each of these branching and merging patterns they discuss in which specific context they should be used and in which context they should be avoided.

Through a number of interactive sessions we will work our way through most of this little gem that Appleton and friends crafted more than 15 years ago - and also give a brief look at what has happened since.

Mentor:

Practical Information:

Date: Thursday, June 13, 2013
Time: 9:00 - 12:30

Place: Department of Computer Science, Lund, Sweden

Number of participants: min. 6 - max. 16 (first-come-first-served) - 3 people registered.

Registration deadline: Wednesday, May 30, 2013

Price: 2.000 SEK + vat (includes morning refreshments, coffee breaks and lunch)
cancellation is not possible after registration deadline

Payment: by invoice after the tutorial

To register contact: Lars Bendix at bendix@cs.lth.se

Detailed Biography:

Lars Bendix is an associate professor at Lund University (www.cs.lth.se/~bendix). He is a driving force in academia for research and teaching of SCM. For more than 15 years he has had close collaboration with industry, both on joint research projects and as a consultant giving courses and advice on practical application of SCM. In 2004, he initiated the Scandinavian Network of Excellence in SCM (SNESCM) and has since 2005 organized its yearly Scandinavian SCM day. He holds a MSc from Århus University and a PhD in SCM from Aalborg University.


Lund, the home of SCM in Scandinavia


Maintained by bendix@cs.lth.se