How Do Agile Practitioners Interpret and Foster "Technical Excellence"?
Research output: Conference Article in Proceeding or Book/Report chapter › Article in proceedings › Research › peer-review
Standard
How Do Agile Practitioners Interpret and Foster "Technical Excellence"? / Alami, Adam; Paasivaara, Maria.
Evaluation and Assessment in Software Engineering (EASE 2021). Association for Computing Machinery, 2021.Research output: Conference Article in Proceeding or Book/Report chapter › Article in proceedings › Research › peer-review
Harvard
APA
Vancouver
Author
Bibtex
}
RIS
TY - GEN
T1 - How Do Agile Practitioners Interpret and Foster "Technical Excellence"?
AU - Alami, Adam
AU - Paasivaara, Maria
PY - 2021/6/21
Y1 - 2021/6/21
N2 - "Technical excellence" is a nebulous term in agile software development. This vagueness is risky, as it creates a gap in the understanding of agile that may have consequences on how software development practitioners operate. Technical excellence is the only reference to quality in the agile manifesto. Hence, it is fundamental to understand how agile software development practitioners both interpret and implement it. We conducted interviews with twenty agile practitioners about their understanding of the term ``technical excellence'' and how they approach the task of fostering it. To validate the findings, two focus group meetings were conducted after the interviews and the analysis of the data were completed. We found that the configuration of technical excellence is made of four traits: (1) software craftsmanship; (2) software quality (3) mindset for excellence; and (4) consistency with good software engineering practices. Fostering technical excellence is a continuous endeavor. Further, we identified three key principles that were commonly cited as essential to implementing technical excellence, namely: 1) continuous learning; 2) continuous improvement; and 3) control of excellence. Based on our findings, we present several recommendations for software development teams seeking to better realize the goal of technical excellence in their agile implementation.
AB - "Technical excellence" is a nebulous term in agile software development. This vagueness is risky, as it creates a gap in the understanding of agile that may have consequences on how software development practitioners operate. Technical excellence is the only reference to quality in the agile manifesto. Hence, it is fundamental to understand how agile software development practitioners both interpret and implement it. We conducted interviews with twenty agile practitioners about their understanding of the term ``technical excellence'' and how they approach the task of fostering it. To validate the findings, two focus group meetings were conducted after the interviews and the analysis of the data were completed. We found that the configuration of technical excellence is made of four traits: (1) software craftsmanship; (2) software quality (3) mindset for excellence; and (4) consistency with good software engineering practices. Fostering technical excellence is a continuous endeavor. Further, we identified three key principles that were commonly cited as essential to implementing technical excellence, namely: 1) continuous learning; 2) continuous improvement; and 3) control of excellence. Based on our findings, we present several recommendations for software development teams seeking to better realize the goal of technical excellence in their agile implementation.
KW - Agile
KW - agile development
KW - agile practices
KW - software development method
KW - Software Quality
KW - agile adoption
U2 - 10.1145/3463274.3463322
DO - 10.1145/3463274.3463322
M3 - Article in proceedings
BT - Evaluation and Assessment in Software Engineering (EASE 2021)
PB - Association for Computing Machinery
ER -
ID: 86022230