Aujourd’hui je vais vous parler de la neige, la glace, les voitures, les pneus et des processus agiles. Un thème adapté au printemps !

Paris, Décembre 2017, j’ai décidé de partir à l’aventure et faire du ski. Oui le ski pour moi c’est une aventure et en plus, c’était ma première fois ! Alors, plus décidé que jamais, je partais une semaine avant Noël et j’avais tout préparé, vêtements, location du matériel de ski et surtout la voiture pour affronter les routes des Alpes ! J’avais loué un bon SUV cylindré. J’avais tout prévu sauf un truc…les roues ! Figurez-vous qu’en France les pneus d’hiver ne sont pas obligatoires, de ce fait quand j’ai pris la voiture je n’avais pas en tête ce détail et Bim ! Bloqué sur un parking à côté de la route. C’était frustrant pour moi de voir les roues patiner sur la glace sans que la voiture ne bouge d’un pouce… et cela, peu importe la puissance du moteur ! j’ai même croisé un papy qui passant à côté de moi, me demandait, en rigolant, comment j’avais pu prendre la route des montagnes sans pneu d’hiver ! Jamais je ne l’oublierai, … JAMAIS !

Plus d’un an après, une idée m’est venue à l’esprit et pourquoi pas partir en Islande ? Allez hop, je ne réfléchis pas deux fois, je prends les billets, je réserve les hôtels en fonction de mon itinéraire et la voiture, bien-sûr, toujours ! Vous vous dites que je me suis transformé en blogueur et que je vais vous raconter mon voyage maintenant ? Peut être que je devrais le faire ? Mais non, ce n’est ni le lieu, ni le moment ! Retour à l’Islande, là-bas les voitures c’est une autre affaire. Équipées toutes de pneus pour la neige avec des crampons qui aident à s’accrocher à la glace, les voitures, peu importe la taille ou la puissance deviennent des bêtes de route ! Je suis passé par plusieurs tempêtes de neige, j’ai roulé sur le plus grand glacier d’Europe sans aucun problème. Et surtout ce genre d’équipement m’a permis de me concentrer sur les choses importantes, le paysage et la nature !

Fin des vacances, retour à Paris. Depuis quelques semaines, j’avais cette idée de rédiger un article qui met en évidence l’importance de l’automatisation dans les projets agiles, mais, je n’ai pas pu trouver l’image adéquate pour bien l’exprimer. En  balayant un peu mes photos de vacances, je suis tombé sur celle qui m’a donné des lumières ! C’est ça l’intérêt de l’automatisation !

Reprenons l’histoire depuis le début, celle de l’automatisation. L’automatisation est un aspect important des pratiques techniques agiles.

C’est vrai que l’automatisation n’est pas écrite noir sur blanc dans le manifeste agile, mais rappelez-vous, ce manifesto demande :

  • Que “Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée”.
  • De “Livrer fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois, avec une préférence pour les plus courts”.

Le fait qu’on nous demande de livrer fréquemment un produit et que la satisfaction du client passe forcément par une qualité irréprochable, ça sous-entend 3 choses :

  • Intégrer les fonctionnalités tout le temps -> Intégration Continue
  • Déployer les fonctionnalités tout le temps -> Déploiement Continu
  • Tester les fonctionnalités tout le temps -> Test Continu

Tout ça ne vient pas sans une lourde facture, c’est du boulot ! Et pour chaque travail, il faut des moyens et, par conséquent, élargir l’équipe n’est pas la solution, sinon on finirait par acheter le Parc des Princes au lieu d’un open space.

De surcroît, cette charge de travail augmente au fil des sprints, car les incréments se succèdent et, donc, il y’a plus de fonctionnalités à intégrer, à déployer et à tester dans le sprint qui suit par rapport à celui qui précède.

 

Mais, heureusement que les machines sont à notre service, enfin pour le moment, et que nous, les humains, pouvons leur déléguer plusieurs tâches et activités , surtout celles qui opèrent une récurrence dans le temps.

Les versions, les tests et le déploiement automatisés permettent aux développeurs d’implémenter des fonctionnalités et de re-factoriser, afin d’améliorer la qualité du code en toute confiance. L’automatisation des tâches de routine dans le processus de développement peut améliorer la qualité en réduisant la variabilité dans les processus de test et de déploiement, ce qui facilite la détection des problèmes. La fourniture de mécanismes automatisés de test, de création et de déploiement peut aider les développeurs à se concentrer sur le produit à construire, car ils n’ont pas besoin de dépenser de l’énergie pour la routine.

Il y a cette phrase qui dit : “L’agile sans l’automatisation, c’est comme conduire une voiture de sport dans la boue, vous ne pourrez pas profiter du plein potentiel et vous finirez par blâmer la voiture.”

Vous voyez l’image maintenant ? Les processus agiles sont formidables, mais une méthode à elle seule ne peut pas faire une révolution et a besoin de quelques pratiques pour la compléter et permettre à l’équipe qui l’adopte de profiter pleinement de son potentiel.

Voilà comment j’ai pu profiter des paysages en Islande, au lieu de galérer dans les virages ou au bord de la route.

Le mot de la fin, automatisez vos tâches de routine, changez vos pneus en hiver et surtout adaptez votre véhicule à la route que vous empruntez.

Nidhal Daghrir