« Le plus grand des talents est de ne jamais employer deux mots lorsqu’un seul suffit » : cette remarque de Thomas Jefferson apparaît en exergue de l’ouvrage de trois développeurs américains qui proposent une approche alliant les principes du Lean Management au développement de logiciels. Qu’est-ce que le Lean Management ? « Une volonté de livrer plus rapidement une valeur au client en déterminant et en supprimant le gaspillage, obstacle à la qualité et à la productivité. »
Pour les auteurs, « les principes et la mentalité du Lean ont prouvé leur capacité à améliorer la productivité et la qualité dans pratiquement n’importe quel domaine ».
Et aussi donc dans le domaine du développement logiciel. « Avez-vous déjà travaillé pour un projet qui n’a pas respecté les échéances, n’a pas respecté le budget, n’a pas répondu aux besoins du client ou a été annulé » interpellent les auteurs pour qui « les statistiques sont consternantes ».
La réponse est facile tant il est délicat de mener des projets respectant ces conditions de bon sens. Les auteurs détaillent les cinq pratiques essentielles qui conduisent à améliorer la qualité des développements logiciels. La première concerne la gestion du code source et la construction par scripts, ce qui est un préalable pour appliquer les autres bonnes pratiques.
Deuxième principe : automatiser les tests. « Lorsqu’ils sont employés consciencieusement, l’amélioration de la productivité et de la qualité du logiciel obtenue est supérieure à celle que permet n’importe quelle autre pratique seule », assurent les auteurs.
La troisième bonne pratique : l’intégration continue, pour intégrer des petites modifications à intervalles réguliers. Afin de réduire, voire de supprimer, la phase d’intégration en fin de développement.
La quatrième bonne pratique consiste à écrire moins de codes, ce qui diminue les coûts, donc les gaspillages de budgets. « Tous les aspects du développement de logiciels, de la définition des spécifications à la conception, l’implémentation et les tests, contribuent à la taille de la base de code, expliquent les auteurs.
Pour qu’elle puisse être réduite, les développeurs doivent être conscients de l’impact de tous ces aspects et examiner de manière critique tout ce qui peut augmenter la quantité de code. »
La cinquième bonne pratique consiste à privilégier les itérations courtes afin de fournir au client « régulièrement et fréquemment un logiciel opérationnel ». Enfin, il convient de privilégier la participation du client : « Les clients maîtrisent le domaine métier, les développeurs maîtrisent la technologie : associer les connaissances du client et les compétences des développeurs constitue la recette du succès », assurent les auteurs qui conseillent de ne jamais oublier que « le Lean est un voyage, pas une destination ».
La volonté de faire plus avec les mêmes ressources et les mêmes personnes est également le thème de l’ouvrage de Pierre Pezziardi, directeur technique d’Octo Technology, qui met en scène, sous forme romancée, plusieurs personnes, collaborateurs de la Générale de banque.
Cette « fiction-réalité » nous conte les aventures de Paul Boulier, ci-devant DSI de ce groupe bancaire de 7 000 personnes, dans ses difficiles relations avec sa direction générale et ses collègues des directions métiers (qui n’ont pas l’air de bien saisir les aspects stratégiques du système d’information, on s’en doute).
Les situations imaginées par Pierre Pezziardi sont vraiment criantes de vérité et les DSI devraient facilement s’identifier au personnage principal qui ne manque pas de courage, d’opiniâtreté, de discernement et de bons sens. Il en faut notamment lorsque l’auteur nous raconte les interminables séances de travail pour identifier « le but de la DSI »…
Lean management, mieux, plus vite, avec les mêmes personnes, Eyrolles Éditions d’Organisation, 180 pages.
L’art du Lean software development, par Curt Hibbs, Steve Jewett, Mike Sullivan, Dunod, 175 pages.