Promoting reflection in agile software development teams using GitHub data
Abstract
Agile software development teams work with several different artifacts ona daily basis, and by interacting with these artifacts users are involvedin work related experiences. By revisiting these experiences and reflectingupon them, users can evaluate and improve how they solve everyday workingtasks. Boud et.al defines reflection as a process where the experience is revis-ited, feelings are re-attended and the experience is re-evaluated[Boud et al.,1985]. Furthermore work and reflection on work are shown to be stronglyconnected[Schön, 1983][Chaiklin and Lave, 1993]. Reflecting on work ex-periences give a better understanding of the experience itself, allowing forconclusions and lessons learned to be made. Reflection transforms experi-ence into knowledge which can be applied to solve challenges in the everydayworking environment.The main focus of this thesis was to develop a technological tool to collectproject artifacts and connect these to work experiences, in order to enhancereflection both individually and collaboratively in agile software developmentteams. The tool was developed using a daily delivery cycle. Design choiceswere made on the basis of available theory, literature and related tools con-cerning reflection and agile development. Three evaluations were conducted;A usability study, an expert review with an expert in the field of agile soft-ware development and a focus group evaluation consisting of eight softwaredevelopers working in an agile team.The work conducted resulted in a Grails web-application, where usersconnect their daily experiences with project artifacts collected from a Version-control system. These daily reflection notes can be used both individuallyand collaboratively in a team as preparation for agile retrospective sessions.The tool continuously collects work-related project artifacts and presentsthese in order for users to revisit their work that day. The application aimsto trigger reflection on user experiences and storing the outcome in notes forlater use and sharing.This thesis, the developed tool and its evaluation contributes with an in-creased understanding of how reflection in agile software development teamscan be improved, by connecting experiences with work related project arti-facts.