A SOFTWARE AGILITY TESTBED

The software agility testbed is a set of 10 repositories implementing mutiple version of a toy banking system. Each repository uses a different approach to implement the system. Each version of the system is a fixed set of functionality requirements. The result is a set of repositories that can be used to compare different approaches towards implementing a software system that deals with a high number of changing requirements.

This website contains the information required to use this free to use dataset. The setup page describes how the project was setup and what requirements where implemented. The results page describes the resulting repositories and links towards the different version of each repository. The about page gives an overview of everyone involved in creating this testbed.

The goal

The goal of this project was to create a dataset of comparable software repositories that can be used to better study software agility. The purpose of studying software agility is to better understand how different approaches towards implementing software deal with the changing requirements of real-world software. This is often difficult to study as real-world software is hard to compare to each other. In order to aid such study, this project aimed at developing a set of software repositories that use different approaches towards implementing the same requirements and should therefore be comperable to each other.

To this purpose a group of developers where tasked with implementing software. Over the period of a year a group of 12 developers worked part-time on this project. They developed software with similar functionality but they used different approaches to implement this software. The software was also developed in a manner that aims to simulates the real-world development of software through changing functionality requirements that where not know beforehand.