TY - JOUR
T1 - The journey to technical excellence in agile software development
AU - Alami, Adam
AU - Krancher, Oliver
AU - Paasivaara, Maria
N1 - Funding Information:
We would like to thank our interviewees and the focus group participants for their time and effort in making this study possible. We would also like to thank two anonymous reviewers for their excellent and highly constructive comments.
Publisher Copyright:
© 2022 The Author(s)
PY - 2022/10
Y1 - 2022/10
N2 - Context: Technical excellence is a nebulous term in agile software development. This vagueness is risky because it may lead to misunderstandings and to agile implementations that may overlook a key principle of agile development. Objective: This study investigates how agile practitioners interpret the concept of technical excellence brought up in Principle 9 of the Agile manifesto. Moreover, we investigate how agile practitioners put the concept into practice and what conditions facilitate putting technical excellence into practice. Methods: We conducted semi-structured interviews with twenty agile practitioners, coded the data inductively, and performed two sessions to validate the emerging findings. Results: We find that technical excellence is first and foremost a mindset that is underpinned by continuous attention to sustainable code, continuous learning, and teamwork. Fostering technical excellence requires the adoption of design and development practices, such as continuous architecting, and is supported by continuous learning. We also identify three enabling conditions for technical excellence: Leadership support, customer buy-in, and psychological safety. These enablers provide teams with leeway to nurture their pursuit of technical excellence. Conclusion: Our findings highlight the key role of people-based strategies in promoting technical excellence in agile software development. They show that the attainment of technical excellence does not only involve technical practices. On the contrary, it relies on social and organizational support and, most importantly, a mindset.
AB - Context: Technical excellence is a nebulous term in agile software development. This vagueness is risky because it may lead to misunderstandings and to agile implementations that may overlook a key principle of agile development. Objective: This study investigates how agile practitioners interpret the concept of technical excellence brought up in Principle 9 of the Agile manifesto. Moreover, we investigate how agile practitioners put the concept into practice and what conditions facilitate putting technical excellence into practice. Methods: We conducted semi-structured interviews with twenty agile practitioners, coded the data inductively, and performed two sessions to validate the emerging findings. Results: We find that technical excellence is first and foremost a mindset that is underpinned by continuous attention to sustainable code, continuous learning, and teamwork. Fostering technical excellence requires the adoption of design and development practices, such as continuous architecting, and is supported by continuous learning. We also identify three enabling conditions for technical excellence: Leadership support, customer buy-in, and psychological safety. These enablers provide teams with leeway to nurture their pursuit of technical excellence. Conclusion: Our findings highlight the key role of people-based strategies in promoting technical excellence in agile software development. They show that the attainment of technical excellence does not only involve technical practices. On the contrary, it relies on social and organizational support and, most importantly, a mindset.
KW - Agile principles
KW - Agile software development
KW - Software development methods
KW - Technical excellence
UR - http://www.scopus.com/inward/record.url?scp=85131396715&partnerID=8YFLogxK
U2 - 10.1016/j.infsof.2022.106959
DO - 10.1016/j.infsof.2022.106959
M3 - Article
AN - SCOPUS:85131396715
SN - 0950-5849
VL - 150
SP - 1
EP - 14
JO - Information and Software Technology
JF - Information and Software Technology
M1 - 106959
ER -