What Makes Agile Software Development Agile

2021-07-01
Kuhrmann, Marco
Tell, Paolo
Hebig, Regina
Klunder, Jil Ann-Christin
Munch, Jurgen
Linssen, Oliver
Pfahl, Dietmar
Felderer, Michael
Prause, Christian
Macdonell, Steve
Nakatumba-Nabende, Joyce
Raffo, David
Beecham, Sarah
Tüzün, Eray
Lopez, Gustavo
Paez, Nicolas
Fontdevila, Diego
Licorish, Sherlock
Kupper, Steffen
Ruhe, Guenther
Knauss, Eric
Özcan Top, Özden
Clarke, Pau
Mccaffery, Fergal
Genero, Marcela
Vizcaino, Aurora
Piattini, Mario
Kalinowski, Marcos
Conte, Tayana
Prikladnicki, Rafael
Krusche, Stephan
Coşkunçay, Ahmet
Scott, Ezequiel
Calefato, Fabio
Pimonova, Svetlana
Pfeiffer, Rolf-Helge
Schultz, Ulrik Pagh
Heldal, Rogardt
Fazal-Baqaie, Masud
Anslow, Craig
Nayebi, Maleknaz
Schneider, Kurt
Sauer, Stefan
Winkler, Dietmar
Biffl, Stefan
Bastarrica, Cecilia
Richardson, Ita
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challenge the adoption of agile methods as prescribed by their creator(s), software processes in practice mutate into hybrids over time. Are these still agile In this article, we investigate the question: what makes a software development method agile We present an empirical study grounded in a large-scale international survey that aims to identify software development methods and practices that improve or tame agility. Based on 556 data points, we analyze the perceived degree of agility in the implementation of standard project disciplines and its relation to used development methods and practices. Our findings suggest that only a small number of participants operate their projects in a purely traditional or agile manner (under 15%). That said, most project disciplines and most practices show a clear trend towards increasing degrees of agility. Compared to the methods used to develop software, the selection of practices has a stronger effect on the degree of agility of a given discipline. Finally, there are no methods or practices that explicitly guarantee or prevent agility. We conclude that agility cannot be defined solely at the process level. Additional factors need to be taken into account when trying to implement or improve agility in a software company. Finally, we discuss the field of software process-related research in the light of our findings and present a roadmap for future research.
IEEE Transactions On Software Engineering

Suggestions

Using feature models for reusability in agile methods
Jedyk, Marcin; Doğru, Ali Hikmet; Department of Computer Engineering (2011)
The approach proposed in this thesis contributes to implementing source code reuse and re-engineering techniques for agile software development. This work includes an introduction to feature models and some of the Feature Oriented Software Development (FOSD) practices to achieve a lightweight way of retrieving source code. A Feature model created during the course of following FOSD practices serves as an additional layer of documentation which represents the problem space for the developed application. This...
An Automated defect detection approach for cosmic functional size measurement
Yılmaz, Gökçen; Demirörs, Onur; Department of Information Systems (2012)
Software size measurement provides a basis for software project management and plays an important role for its activities such as project management estimations, process benchmarking, and quality control. As size can be measured with functional size measurement (FSM) methods in the early phases of the software projects, functionality is one of the most frequently used metric. On the other hand, FSMs are being criticized by being subjective. The main aim of this thesis is increasing the accuracy of the measu...
An Agile business process software development methodology
Çulha, Davut; Doğru, Ali Hikmet; Department of Computer Engineering (2014)
An agile business process software development methodology is proposed, developed and tested in this research. To speed up the business process software development practices in the organization and to address the requirements more efficiently, an agile approach was adapted. Two new processes were developed using the new methodology. The improvement was assessed by utilizing nine older developments: A formula was developed in this research that estimates the development efforts for old business process soft...
The Tool Coverage of Software Process Improvement Frameworks for Small and Medium Sized Enterprises
Yesildoruk, Filiz Celik; Bozlu, Banu; Demiroers, Onur (2009-06-17)
Software Process Improvement (SPI) awareness is increasing among Small and Medium Sized Enterprises (SMEs). Conventional SPI frameworks are not appealing for SMEs since they are complex and costly. There are a number of frameworks, which address the problems of SMEs for SPI. This paper presents a comparative study of the most frequently referenced SPI frameworks established for SMEs from a SPI Tool coverage perspective.
Assessing Software Processes over a New Generic Software Process Assessment Tool
YÜRÜM, OZAN RAŞİT; Özcan Top, Özden; DEMİRÖRS, ONUR (2017-08-01)
Performing process improvement to deliver qualified products with the expected cost on time has been a requirement for organizations targeting to be successful in the software market. Software organizations usually perform process improvement based on well-known process assessment frameworks such as CMMI and ISO/IEC 15504. A number of derivatives of CMMI and ISO/IEC 15504 have been developed and they are being updated. As a result of this, the software process assessment tool based on them needs to be updat...
Citation Formats
M. Kuhrmann et al., “What Makes Agile Software Development Agile,” IEEE Transactions On Software Engineering, pp. 1–1, 2021, Accessed: 00, 2021. [Online]. Available: https://ieeexplore.ieee.org/document/9496156.