The journey to technical excellence in agile software development

被引:10
作者
Alami, Adam [1 ]
Krancher, Oliver [2 ]
Paasivaara, Maria [2 ,3 ,4 ]
机构
[1] Aalborg Univ, Aalborg, Denmark
[2] IT Univ Copenhagen, Copenhagen, Denmark
[3] LUT Univ, Lappeenranta, Finland
[4] Aalto Univ, Espoo, Finland
关键词
Agile software development; Software development methods; Technical excellence; Agile principles; PROCESS IMPROVEMENT; ARCHITECTURE; EVOLUTION; QUALITY;
D O I
10.1016/j.infsof.2022.106959
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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 buyin, 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.
引用
收藏
页数:14
相关论文
共 70 条
[1]   How Do Agile Practitioners Interpret and Foster "Technical Excellence"? [J].
Alami, Adam ;
Paasivaara, Maria .
PROCEEDINGS OF EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING (EASE 2021), 2021, :10-19
[2]   Software process improvement as emergent change: A structurational analysis [J].
Allison, I. ;
Merali, Y. .
INFORMATION AND SOFTWARE TECHNOLOGY, 2007, 49 (06) :668-681
[3]   Reflection in Agile Retrospectives [J].
Andriyani, Yanti ;
Hoda, Rashina ;
Amor, Robert .
AGILE PROCESSES IN SOFTWARE ENGINEERING AND EXTREME PROGRAMMING (XP 2017): 18TH INTERNATIONAL CONFERENCE, XP 2017, 2017, 283 :3-19
[4]   Aspects of software quality applied to the process of agile software development: a systematic literature review [J].
Arcos-Medina, Gloria ;
Mauricio, David .
INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2019, 10 (05) :867-897
[5]  
Beck K., 2004, EXTREME PROGRAMMING
[6]   Responsibility-Driven Architecture [J].
Blair, Stuart ;
Watt, Richard ;
Cull, Tim .
IEEE SOFTWARE, 2010, 27 (02) :26-32
[7]   Using risk to balance agile and plan-driven methods [J].
Boehm, B ;
Turner, R .
COMPUTER, 2003, 36 (06) :57-+
[8]   Get ready for agile methods, with care [J].
Boehm, B .
COMPUTER, 2002, 35 (01) :64-+
[9]  
Cobb C.G., 2015, The Project Manager's Guide to Mastering Agile: Principles and Practices for an Adaptive Approach
[10]  
Cockburn A., 2002, Cutter IT Journal, V15, P6