Les méthodes agiles sont parfois
qualifiées, par leurs détracteurs, de méthodes artisanales
ou de « bricolage », ce qui
revient à dire que la qualité n’y est pas une préoccupation
essentielle.
Si l’on considère que le niveau
de qualité minimal d’un produit est sa capacité à satisfaire
le client, tant sur le plan
fonctionnel que sur celui des exigences de performance, de facilité
d’utilisation ou d’évolutivité, c’est
précisément là une autre des idées fondamentales
de l’approche agile : satisfaire
le client et lui apporter de la valeur.
• Grâce, tout d’abord, à la
sélection des fonctionnalités à implémenter en priorité, basée
sur la livraison de valeur en
continu ; en effet, on s’attachera à développer et livrer rapidement
celles qui ont une importance
capitale pour le client. On évitera ainsi de
vouloir satisfaire l’exhaustivité
des besoins exprimés initialement qui ne sont pas
toujours utiles ni porteurs de
valeur à l’arrivée.
• Grâce notamment au feedback
permanent recueilli auprès du client en lui montrant une
version intermédiaire aboutie du
produit – celui-ci est aligné en permanence sur les
attentes qui peuvent évoluer. Le
résultat est visible et non décrit théoriquement dans
une documentation.
• Grâce à des campagnes de tests
et au contrôle qualité au cours de chaque itération, tout
défaut peut être détecté et
corrigé immédiatement.
• Grâce au refactoring –
micro-évolutions ou « nettoyages » quotidiens du code, intégrés
dans les activités de
développement –, on évite toute dégradation progressive du
code en améliorant sa lisibilité
et en améliorant sa maintenabilité. En effet, le refactoring,
en éliminant les duplications
anarchiques dans le code, assure que le code fait une
seule chose à un seul endroit. C’est
là le signe d’un code bien conçu.
• Grâce à l’adoption d’une
approche adaptative, la qualité du processus – qui conditionne
la qualité du produit – est
également régulièrement mesurée au cours de revues :
tout écart constaté fait l’objet
d’une discussion et d’une modification éventuelle.
• Grâce, également, au respect de
normes de codage partagées par tous les membres de
l’équipe, l’évolutivité de l’application
est garantie.
Au final, on a du mal à penser
que les méthodes agiles ne placent pas au centre de leur
démarche la qualité et la
satisfaction du client ! Dans la pratique, elles se révèlent plus
disciplinées et offrent un meilleur pilotage.
0 commentaires:
Enregistrer un commentaire