Ce week-end j'ai experimenté une mise-à-jour agile rendue possible par l'utilisation de la méthodologie Extreme Programming sur le projet XWiki.

"Agile" est un terme utilisé pour caractériser les nouvelles méthodes de développements logiciels centrées entre autre sur la livraison continue de versions et les tests automatiques.

Donc ce week-end, j'avais 3h de TGV pour descendre dans le sud pour me plonger dans une superbe piscine ! Le TGV est toujours un endroit assez tranquille pour faire quelques modifications qu'on a jamais le temps de faire ! En l'occurence, pendant ce voyage j'ai fais des modifications améliorant la performance de l'hebergement de Wiki.

Après avoir fait mes modifications qui me semblaient avoir que peu d'impact fonctionnel (mais uniquement sur la performance) je lance mes tests qui me montrent évidement que je me trompais (au bout d'un moment un logiciel devient suffisement complexe pour qu'on oublie regulièrement des cas de figure), et après 15mn les modifications sont corrigées pour que les tests passent.

Je me connecte sur Internet par modem 56Kbit/sec et je sauve mes modifications dans CVS (relativement rapide puisqu'il n'y a que des fichiers source).

Le lendemain, je me reconnectes pour voir que sur le serveur d'intégration les tests n'étaient pas encore corrects. Je fais les modifs qui s'imposent, les sauve à nouveau dans CVS et part rejoindre les amis pour le brunch..

Une heure après, je reviens et cette fois, le rapport de tests que j'ai reçu par email est correct et, vu que les modifs étaient plutôt simples et que d'après mon évaluation les tests couvrent bien cette zone du programme, je décide de faire une mise en production (toujours par modem).

Je decide donc d'envoyer l'archive web (war) générée automatiquement par le serveur d'intégration vers le serveur de production et 15mn plus tard la mise-à-jour est en production. Bien sur en cas de problème je pouvais revenir à la version précédente.

En final, au travers d'une ligne modem à 56Kbits/sec j'ai pu faire une mise-à-jour de mon serveur de production (malgré les plus de 10Mo d'une archive web), et surtout cette mise-à-jour a été faite avec un maximum de sécurité car les tests ont permit de valider les modifications qui ont été faites.

En final depuis que j'ai commencé le projet XWiki en utilisant au maximum les tests automatiques je ne compte plus les gains de temps et de qualité de service obtenus grâce à ces tests.

Tags: