Data-Informed Agile Software Process Improvement
Modern software is built by collaborating teams. Team members need to practice and uphold an effective development process that enables project success. In popular Agile process frameworks, such as Scrum, work processes are maintained through iterative process improvement cycles and retrospection meetings. However, the details of how improvement steps can be implemented, tracked and evaluated are not specified. This requires teams to rely on their subjective perceptions and experiences. It is, therefore, challenging to assess the impact of applied improvement actions, such as switching project management software or trying a new development practice.
We tackle these challenges by supplementing existing Agile methods with improvement approaches based on software engineering team data. Our approach includes gathering empirical data on the perceptions of team members, as well as deriving insights from teams’ project data. This data, such as commits or work documentation, are already being produced during regular development work. By aggregating, linking and analyzing the available data, we enable teams to gain actionable insights into their own development processes.
This additional view of the executed process can be used proactively in Agile process improvement approaches. It paves the way for more data-informed Agile development processes based on self-organizing teams.
Keywords: Empirical Software Engineering, Agile Software Development, Software Process Improvement