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:
- Jakob Svemar:
Showstoppers for Continuous Delivery in Small Scale Projects,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, December 2015.
- Jonathan Klingberg:
Piping for Continuous Delivery,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, August 2015.
- Richard Simko:
Automating Traceability in Agile Software Development,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, June 2015.
- Viktor Ekholm, Fredrik Stål:
Reaching Software Development Maturity with Continuous Delivery,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, August 2013.
- Lars Bendix, Christian Pendleton:
Configuration Management - Mother's little helper for Global Agile Projects?,
in proceedings of the workshop on Global Software Engineering for Agile Teams, Porto Alegre, Brazil, August 27, 2012.
- David Arve:
Collaboration Patterns for Software Development,
Master's Thesis, Department of Computer Science, Lund Institute of Technology, August 2010.
- 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:
- Anders Buhl, Mikael Jarfors:
Continuous Delivery: How hard can it be?, Spring 2017.
- Mattias Gustafsson, Jesper Olsson:
Continuous Delivery - effects of iterative implementation, Spring 2017.
- Viktor Englund, Niklas Lindvall, Karl Nilsson:
Identifying project warning signs - Jenkins in an agile environment, Spring 2016.
- Malcolm Eriksson, Erik Gärtner:
Coaching an inexperienced agile team towards a continuous delivery methodology, Spring 2016.
- Per-Victor Persson, Joacim Åström:
Code review with Git, Spring 2016.
- Paul Steneram Bibby, Fredrik Palmquist:
Visualizing Software Metrics for increased Refactoring, Spring 2016.
- Oscar Axelsson, Daniel Olsson:
Introducing Perforce Visual Client as version control tool in an XP environment, Spring 2015.
- Sebastian Nyberg, Christian Olsson:
Evaluation Framework for Workspace Awareness Tools, Spring 2015.
- Jakob Berglund, Filip Lindqvist:
Fail Fast Feedback, Spring 2014.
- Fredrik Gullstrand, Rickard Simko:
Workspace awareness in an eXtreme Programming context, Spring 2014.
- Max Åberg, Jacob Burenstam Linder:
Simplifying and unifying SCM for novices, Spring 2014.
- Erik Jansson:
An investigation of Git in an XP project, Spring 2013.
- David Larsson, Lars Gustafson:
Automatiserad release som en del av var story, Spring 2013.
- Adam Nilsson, Marie Versland:
Git as introduction to configuration management for students, Spring 2013.
- Joakim Hembrink, Per-Gustaf Stenberg:
Continuous Integration with Jenkins, Spring 2013.
- 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