ITU

How Do Agile Practitioners Interpret and Foster "Technical Excellence"?

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

View graph of relations

"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 languageEnglish
Title of host publicationEvaluation and Assessment in Software Engineering (EASE 2021)
Number of pages10
PublisherAssociation for Computing Machinery
Publication date21 Jun 2021
DOIs
Publication statusPublished - 21 Jun 2021
Close

    Research areas

  • Agile, agile development, agile practices, software development method, Software Quality, agile adoption

Downloads

No data available

ID: 86022230