On the effects of programming and testing skills on external quality and productivity in a test-driven development context

✒ Enzo SandrĂ© · 📆 22/11/2021 · 🧼 MĂ©thodes de dĂ©veloppement · đŸ§Ș Tests · đŸ§‘â€đŸ’Œ Management

đŸ‘¶ « TDD c’est pour les devs chevronnĂ©s, j’ai une plĂątrĂ©e de juniors, je prĂ©fĂšre oublier. »
đŸ’Ș « Le seul moyen de faire de la qualitĂ© c’est d’avoir des vieux devs barbus. »
Si avec une seule étude on débunkait tout ça ?

📐L’introduction est peut-ĂȘtre un peu putaclic, mais d’aprĂšs les rĂ©sultats qu’ont obtenu 3 chercheurs finlandais, les compĂ©tences seules d’un dĂ©veloppeur n’ont pas de lien avec la qualitĂ© des logiciels qu’il produit. J’émets l’hypothĂšse que le contexte et les pratiques sont le facteur principal.

❓ Un junior peut donc produire un code de meilleure qualitĂ© qu’un senior, s’il est dans un bon environnement et respecte des pratiques reconnues. OĂč est le piĂšge ?

👮 L’étude montre Ă©galement que les compĂ©tences sont fortement corrĂ©lĂ©es avec la productivitĂ© d’un dĂ©veloppeur. A qualitĂ© Ă©gale, le senior est plus performant.

📈 Et TDD dans tout ça ? Les chercheurs montrent une hausse de productivitĂ© chez tous les dĂ©veloppeurs (ce qui vient ajouter un papier Ă  ce dĂ©bat trĂšs vif qui ne sera clos que par une mĂ©ta-Ă©tude solide). Cette hausse est plus importante chez les dĂ©veloppeurs ayant dĂ©jĂ  de la pratique.

✔ Cela colle avec mon expĂ©rience comme enseignant, TDD est compatible avec des Ă©tudiants. Cela ne signifie pas que ce soit simple Ă  apprendre, mais que la hausse de productivitĂ© pourrait intervenir plus tĂŽt que l’on ne croĂźt.

Note de fin : l’étude comporte des biais, comme tout ce que je prĂ©sente. Lisez pour vous faire votre propre idĂ©e.

SOURCE

Davide Fucci, Burak Turhan, and Markku Oivo. 2015. On the effects of programming and testing skills on external quality and productivity in a test-driven development context. In Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering (EASE ’15). Association for Computing Machinery, New York, NY, USA, Article 25, 1–6. DOI:10.1145/2745802.2745826

Enzo Sandré


DOIs: 10.1145/2745802.2745826