Je n'ai pas accès à des données ou faits concrets, je ne peux donc que vous proposer des observations anecdotiques glanées au cours de mes 20 dernières années en informatique.
Je pense qu'il y a une grande différence entre la façon dont la plupart des développeurs créent des logiciels aujourd'hui par rapport à il y a 20 ans. Avec le mouvement Agile ayant pris tellement d'élan, en particulier au cours des 5 à 6 dernières années, j'ai vu un réel changement d'attitude sur le lieu de travail. À tel point que la qualité de ce que nous faisons semble croître à pas de géant chaque année, et à chaque projet lorsque nous appliquons les leçons que nous avons apprises de projet en projet. Les processus plus légers combinés à l'accent mis sur le développement test-first sont passés de très controversés à banals. À tel point que pour entrer dans de nombreuses entreprises aujourd'hui, si vous n'êtes pas à l'aise avec Agile, vous aurez de la chance s'ils ne vous montrent pas la porte.
Quel impact cela a-t-il donc eu? Tout d'abord, j'ai remarqué que les problèmes sont souvent identifiés bien plus tôt. Il arrive souvent que si le problème ne semble pas trop important, il peut parfois être suspendu indéfiniment. Dans quelques rares cas, j'ai vu des bogues qui étaient considérés comme insignifiants devenir de sérieux problèmes lorsqu'ils sont résolus plus tard, car un problème fondamental devient évident qui n'a pas été pris en compte à l'époque. Parfois, cela peut conduire à un cycle de réparation prolongé, et cela peut être coûteux dans une certaine mesure, mais ce coût est souvent mesuré moins en termes de ressources, et plus souvent en termes d'impact sur la relation entre le client et le développeur. Les clients sont de plus en plus habitués à cette façon de penser agile, qui leur donne des résultats beaucoup plus rapidement qu'auparavant, avec des sprints de développement hautement itératifs et un délai d'exécution rapide entre les demandes et la mise en œuvre, ils attendent donc beaucoup de nous. Et en ce qui concerne les bogues réels, le temps de correction d'un bogue est le plus souvent considérablement réduit du fait de disposer d'une suite solide de tests pour prendre en charge les modifications et de la possibilité de créer de nouveaux tests à partir desquels fournir des informations et des solutions. aux problèmes signalés.
Donc, dans l'ensemble, il semble que l'effort global pour corriger les bogues ait été dans la plupart des cas réduit s'il y a une suite robuste de tests en place, et des procédures pour s'assurer que les tests restent au centre de ce que fait le développeur, mais le coût réel à certains égards, s'est déplacé en partie au moins de la mise en œuvre vers d'autres secteurs de l'entreprise, car à certains égards, l'accent est également passé de l'offre et de la demande pures à la gestion des relations.
Une autre chose qui est devenue évidente, c'est que nos instincts intestinaux d'il y a quelques années, qui suggéraient qu'être Agile réduirait nos cycles de maintenance, ont été prouvés dans une certaine mesure à la fois bien et mal. Juste en ce sens que des tests solides ont facilité le débogage et la correction de notre code dans une large mesure, et de réduire globalement le nombre de bogues publiés dans le code de production, et faux en ce sens que nous travaillons maintenant plus dur pour éviter d'avoir à maintenir le code hérité, en refactorisant constamment le code et en améliorant l'architecture de sorte qu'il devient de plus en plus rare que nous devions développer de nouveaux produits complètement à partir de zéro.
Donc au final, qu'est-ce que cela signifie par rapport à la question du PO? Eh bien, cela signifie que la réponse n'est vraiment pas aussi simple que nous l'aurions cru une fois. Il y a 15 ans, j'aurais probablement répondu à la question par Oui, mais maintenant je pense qu'il est plus réaliste de dire qu'il est vraiment trop difficile de mesurer empiriquement, car la nature de ce que nous faisons pour développer des logiciels a beaucoup changé depuis que nous avons commencé à nous poser la question du PO à l'époque. À certains égards, plus nous faisons progresser nos techniques et nos compétences en tant qu'industrie, plus la question passe d'un oui définitif à un point où je soupçonne que dans un court nombre d'années, nous dirons que cela n'a pas d'importance lorsque nous corrigeons des bogues, parce que nos tests et processus seront tellement plus robustes, que le timing des corrections de bogues sera moins motivé par les efforts pour économiser nos budgets, et plus par les priorités pour satisfaire les besoins de nos clients, et le coût relatif sera devenir pratiquement sans signification contextuellement.
Mais comme je l'ai dit, ce ne sont pas des preuves solides appuyées par des données, juste mes observations des dernières années, et mes tripes me disent qu'il y aura plus de sagesse révolutionnaire à venir qui améliorera la façon dont nous faisons les choses.