DSTO colleague, Shannon Felhmann has had the results of his Masters coursework thesis work accepted for publication at the ASWEC conference. Shannon’s work explores a case study at DSTO of agile software development techniques and applies data analysis to software repositories to understand how software development practices have changed over time.
A case study in agility and evolving the long-lived software system, Shannon Fehlmann and Katrina Falkner. In Proceedings of ASWEC’2015, September 2015.
Understanding how to effectively evolve long-lived software systems is of ongoing interest. Agile development methods are regarded as best practice by industry for software teams, and empiricists regard studying long-lived agile projects and Scrum teams as priorities. A successful, long-lived software project team recently implementing Scrum is empirically explored in this paper. Questionnaire survey of 24 profession- als and measurements taken from the project source code repository were considered. Relevant organisational context was also explored. Phenomenographic analysis of survey responses was used for categorisation of open-ended responses and triangulation for validation.
Survey respondents felt agile process led to desirable project outcomes, and promoted effective communication, with some cautions around agile’s reactive focus. A diverse, integrated, webified software development toolset was useful for agile participants. Sentiment towards Scrum was positive. Agile respondents valued architectural webification where it aligned with project’s needs. Respondents did not find agile of particular use for software architecting.
Evolution observed in measurements of the project’s source repository included increasing software language type fragmentation and the increasing prevalence of languages supporting the web solution stack. Continued codebase growth was measured after a transition to Scrum. Emergent innovation frontiers were: to explore development toolsets with integration as an agile enabler, automating agile and business process interfaces and, strategic evolution of language fragmented architectures, in the agile context.