Sources of software development task friction

✒️ Enzo Sandré · 📆 19/11/2024 · 🧮 Méthodes de développement · #️⃣ Façonnage de code

⌨️ Avez-vous déjà codé sur un PC qui n’est pas le vôtre ? L’inconfort naît de la friction, soit la part du temps de développement passé à gérer l’environnement au lieu de coder, plus grande sur un système qui n’est pas ajusté à nos habitudes. La friction a fortement diminué depuis l’époque des cartes perforées mais reste encore importante. Ce papier de 2022 fait le point.

🤖 Le problème fondamental est la médiation de multiples outils entre notre cerveau et notre code. Si nous pouvions simplement penser pour coder, nous éliminerions la friction de traduction. Si l’ensemble de l’information pertinente était directement dans notre tête, nous n’aurions aucune friction d’intégration. Sans la nécessité de coordonner un navigateur, des post-it, un IDE et un terminal, pas de friction d’accès. Sans friction, moins d’erreurs également, comme les commandes shell invalides ou les “solutions” stackoverflow fausses.

🐧 Les IDE promettent de tout faire à un seul endroit, mais c’est un pieux mensonge : il y a autant de manières de réaliser une tâche que de développeurs. Bienheureux celui qui trouve out-of-the-box le bon outil ! Beaucoup se tournent vers un assemblage hétéroclite d’outils simples, dans l’esprit GNU, ce qui augmente la friction d’accès mais améliore les autres formes de friction.

🪄 La solution miracle n’existe pas, Fred Brooks l’a démontré en 1986 dans “No Silver Bullet”, mais par petits incréments successifs, nous adaptons l’outil à notre cerveau. L’IA peut aider mais elle ne sera pas la panacée.

SOURCE

Bradley, N.C., Fritz, T. & Holmes, R. Sources of software development task friction. Empir Software Eng 27, 175 (2022). DOI:10.1007/s10664-022-10187-6

Enzo Sandré


📄 Lien public DOIs: 10.1007/s10664-022-10187-6