Abstract
"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.
Original language | English |
---|---|
Title of host publication | Evaluation and Assessment in Software Engineering (EASE 2021) |
Number of pages | 10 |
Publisher | Association for Computing Machinery |
Publication date | 21 Jun 2021 |
DOIs | |
Publication status | Published - 21 Jun 2021 |
Keywords
- Agile
- agile development
- agile practices
- software development method
- Software Quality
- agile adoption