Agility and Software Configuration Management - the ASCM project
Software Configuration Management (SCM) is an essential part of any software project and its importance
is even greater on Agile projects because of the frequency of changes.
We argue that SCM needs to be done differently and also cover more aspects on Agile projects. We believe
that there are general SCM guidelines that can support and strengthen typical Agile activities, but
there are also requirements that an agile method must satisfy to benefit the most from SCM.
Since 2001 we have been interested in and researching the connections and releations between
agile development methods and software configuration management.
This interest first grew out of a new course/project
that was to start and where our students had to follow eXtreme Programming as development method
(the general setup of and experience with this course/project is described in
this paper).
We knew that our students had to use configuration management to survive on their project, but
we could not find any literature that explained what, why and how they should do configuration
management on an XP project.
In the beginning our research was very much focused on finding and teaching a minimal set of
configuration management process suited for XP projects. Later on we broadened our interest
to agile methods in general and to the effect agile thinking and philosophy has on the way
configuration management is (has to be) done.
We have been fortunate to have each year 10 student XP projects where we can carry out experiments
and measure results. The projects are set up to be as close to "real life" as possible - yet
being carried out by second-year students.
The results and experience from this have resulted in the following publications:
- Marcus Jacobsson:
Implementing Traceability in Agile Software Development,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, January 2009
- Andreas Bergström:
Software Configuration Management in Scrum projects,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, November 2008.
- Lars Bendix, Torbjörn Ekman:
Software Configuration Management in Agile Development,
in the book "Agile Software Development Quality Assurance", February 2007.
- Ulf Asklund, Lars Bendix, Torbjörn Ekman:
Software Configuration Management Practices for eXtreme Programming Teams,
in proceedings of the 11th Nordic Workshop on Programming and Software Development Tools and Techniques - NWPER'2004, Turku, Finland, August 17-19, 2004.
- Ulf Asklund, Lars Bendix, Torbjörn Ekman:
Configuration Management for eXtreme Programming,
in proceedings of the Third Conference on Software Engineering Research and Practise in Sweden, Lund, Sweden, October 23-24, 2003.
- Lars Bendix, Görel Hedin:
Summary of the Subworkshop on Extreme Programming,
in Nordic Journal of Computing, Volume 9 Number 3, fall 2002.
- Lars Bendix, Otto Vinter:
Configuration Management from a Developer's Perspective,
in Proceedings of the EuroSTAR 2001 Conference, Stockholm, Sweden, November 19-23, 2001.
The students on the XP projects are pair-coached by older students, who are following a special
Coaching course. As part of this coaching course, they
have to make an in-depth study and write a short report on an aspect of XP, where they study
literature and use the groups as study obejcts.
The following in-depth studies are related to software configuration management:
- Edward Linderoth-Olson, Oskar Präntare:
What, When, Why and How - Introducing Software Configuration Management in Agile Projects, Spring 2012.
- Kristofer Jacobson, Patrick Ivarsson:
GIT som alternativ till CVS/SVN i agile utvecklingsmiljöer, Spring 2012.
- Albin Rosberg:
Introducing SCM for a XP-team, Spring 2011.
- David Arve:
Branching Strategies with Distributed Version Control in Agile Projects, Spring 2010.
- Robert Andersson Haraldsson, Marie Li Korse:
Anvandbarheten av commit comments, Spring 2008.
- Mathias Bruce, André Johansson:
Team awareness tool support for concurrent development in XP, Spring 2007.
- Kalle Benéus, Johan Fänge:
Från CVS till SVN - en utvärdering av SVN, Spring 2007.
- Andreas Back, Ola Bodin:
Agile Software Configuration Management, Spring 2006.
- Marcus Eliasson:
Advantages of SubVersion over CVS when working with XP projects, Spring 2005.
- Love Johansson, Joakim Persson:
Förändringskontroll i XP-team, Spring 2005.
- Martin Malek, Anders Hellström:
Praktisk SCM-användning i XP-projekt, Spring 2005.
- Miguel Ewezon:
Using branches in Eclipse in unexperienced XP-teams, Spring 2004.
- Jon Malmquist:
Tools for Configuration Management, Spring 2004.
- Torbjörn Ekman & Sven Robertz:
A case for refactoring aware versioning, Spring 2002.
Brad Appleton, Steve Berczuk and Robert Cowham (and previously also Steve Konieczka) have published several
columns on agility and software configuration management in the
Configuration Management Journal.
Brad Appleton has also started a collection of:
Agile SCM articles.
Furthermore, we find the following resources interesting (if there is something
you believe should be on the list, then email:bendix@cs.lth.se):
- Martin Fowler:
Continuous Integration,
May 2006.
- Jens Norin, Daniel Karlstrom:
Lean Configuration Management - Supporting Increased Value Delivery from Agile Software Teams,
in proceedings of the
Sixth Conference on Software Engineering Research and Practice in Sweden,
Umeaa, Sweden, October 18-19, 2006.
- Juha Koskela:
Software configuration management in agile methods,
VTT Publication 514, Espoo, Finland, 2003.
Maintained by bendix@cs.lth.se