Et si nous options pour le SlowDev ?

23 octobre 2017
Commentaires 0
Catégorie Gestion de projets
23 octobre 2017, Commentaires 0

Avant que l’agilité explose en vol … place au SlowDev

 

Depuis quelques années grâce aux technologies du cloud, l’informatique se centralise. Se recentralise devrait-on plutôt écrire, car celles et ceux qui ont commencé leur carrière professionnelle dans les années 1980 ont connu à leurs débuts les ordinateurs dits centraux, alias mainframes, et autres minis répondant aux doux noms d’IBM 370, d’AS400, de Digital VAX… voire de Minitel.

Les bienfaits de l’informatique centralisée sont immenses : unicité, disponibilité, partage de l’information en temps réel au travers de réseaux synchrones ou asynchrones dédiés, accès sécurisé, sauvegarde facile, mises à jour immédiates, pas de coûts de déploiement sur des serveurs locaux et/ou via des disquettes, des patchs ou des services packs. Certes, les écrans verts sur fond noir avaient une attractivité toute relative mais faute de mieux, les utilisateurs s’en satisfaisaient.

De nos jours, le cloud offre à nouveau cette même puissance et ce même confort d’utilisation et il y a tout lieu de s’en réjouir. Bravo !

Avec le cloud, je dépanne à distance, et dans l’heure, un utilisateur dans le besoin puisque je peux prendre la main sur son application depuis n’importe où. Re-bravo ! « Hein quoi ? Tu faisais déjà ça dans les années 70 quand tu travaillais dans le time-sharing, depuis ton bureau ou ton domicile, avec un terminal pourri comme on en voit dans Back to the futur ? » « Oui, mais c’est sans importance, re-bravo quand même ! »

Côté utilisateur, la généralisation d’internet multiplie à l’infini les ressources disponibles, et l’affichage graphique fait des merveilles. Re-re-Bravo !

C’est alors que surgit la méthode agile. Au début, j’ai cru qu’il s’agissait d’une nouvelle façon de faire inventée par mon ami Gilles. Quiconque connait la façon dont Gilles manage ses troupes ou maitrise un barbecue sait à quoi je fais allusion. Mais non, j’avais tout faux. Un jeune homme moderne, en sandales et catogan, m’a expliqué à coups de spaghettis crus et de shamallows, que je commençais à être trop vieux pour savoir, et que la méthode agile apportait tout plein de bonnes choses, puisqu’il s’agit de favoriser :

  • Les individus et leurs interactions plus que les processus et les outils.
  • Un logiciel qui fonctionne plus qu’une documentation exhaustive.
  • La collaboration avec les clients plus que la négociation contractuelle.
  • L’adaptation au changement plus que le suivi d’un plan.

Le tout se déclinant en douze principes aussi vertueux que généreux : « Notre plus haute priorité est de satisfaire le client, Réalisez les projets avec des personnes motivées, La simplicité est essentielle etc. » Il était temps ! Parce qu’avant, au XX° siècle, on faisait exprès de mécontenter le client, pour cela on s’ingéniait à recruter des gens non-motivés et on se dépêchait de leur faire faire des choses complexes. C’est en procédant ainsi que Bill Gates a inventé Microsoft, Steve Jobs Apple, Larry Ellison Oracle ou Payre/Liautaud Business Objects, pour ne citer que quelques « échecs » retentissants.

Donc il s’agirait à tout instant de disposer d’un logiciel en bon ordre de marche, de le faire évoluer petit à petit, de rectifier le tir lorsqu’il a besoin de l’être, le tout en restant debout et en jouant avec des post-it lors des revues de projet, pardon, des « réunions de mêlées » comme disent nos amis québécois.

Il y a 25 ans on parlait de réactivité, d’éviter l’effet tunnel, de procéder par livraisons incrémentales et d’impliquer les utilisateurs tout au long du projet mais cela n’avait sûrement rien à voir avec l’agilité. Et pourtant, j’avais déjà à l’époque dans mes équipes des développeurs en sandales et catogans. Et barbus. Et qui parlaient un drôle de langage.

Mais bon, je suis au bord du troisième âge et il est bien connu que les vieux pensent que les jeunes travaillent n’importe comment, et que les jeunes expliquent au vieux que ça ne se passe plus comme avant. Il en allait déjà ainsi à l’époque de Sophocle parait-il (mais je ne l’ai pas connu personnellement).

Donc l’agilité permet de faire évoluer sans cesse le produit logiciel à réaliser. Très bien, et surtout ne confondons ni avec l’improvisation, ni avec la navigation à vue.

Conjuguée au cloud et au web, l’agilité donne une application ou un site web qui s’enrichit chaque mois, chaque semaine, chaque joue, chaque heure, de fonctions plus nouvelles et plus chatoyantes les unes que les autres. Magnifique, Re-re-re-Bravo !

J’allais oublier le petit dernier, dénommé « devops ». En gros, j’exagère à peine, « devops » c’est « Je développe et zou, je mets en prod ». « Et tu testes quand ? » « C’est quoi tester, c’est encore un truc des années 90 ça ? ». Gilles ! Qu’est-ce que tu nous a fait là ?

Au point que, dès qu’on commence à être familier d’un système et à ne pas trop tâtonner avec, une nouvelle version vient nous livrer son lot d’innovations et de déstabilisations. Le Facebook ou le Linkedin d’aujourd’hui n’ont plus grand-chose à voir avec leurs antiques prédécesseurs des années 2014/2015, déjà relégués dans un passé lointain. On râle et puis on s’y fait, et de toute façon on n’a pas le choix. Dans le même style, les versions de Windows, d’Office ou de l’iOS se succèdent, les constructeurs nous harcèlent de rappels tant que nous n’avons pas procédé aux mises-à-jour et ce n’est que quand on a craqué, à bout de résistance, que l’on découvre que c’est devenu bien plus compliqué de créer une table des matières sous Word (qui est le tordu qui a caché ça sous l’option « références » ?), qu’un format de présentation ne passe plus si facilement d’une présentation PPT à une autre, que  le wifi saute ou se remet en marche intempestivement, ou que la batterie de son Iphone ne tient plus que quelques heures. Sans parler du disque dur « 100% » qui se met à ramer aléatoirement ou de la fonction bien pratique (genre click-droit quelque-chose) qui soudainement a cessé d’exister. Au niveau de l’individu, combien de temps perdu ? Combien de points de productivité en moins ? Toujours bravo ?

Dans certaines entreprises, la CTO d’une ESN en témoignait récemment, on renonce à dérouler des programmes de formation aux grands logiciels (CRM, ERP…) car, le temps d’avoir formé des centaines ou des milliers utilisateurs, une nouvelle version sera arrivée et la moitié de ce qu’on a enseigné sera devenu obsolète. Moralité : il faut que chaque utilisateur apprenne à se débrouiller et à s’auto-former en permanence. Sans parler des versions qui ne sont pas compatibles « ascendantes » les unes avec les autres, et dont la mise en place demande un effort quasi intégral de reparamétrage et de réapprentissage. Pour le collectif, combien de temps gâché ? Combien d’énervement, de stress en plus ? Pour quels gains marginaux ? Et pour combien de points de productivité en moins ? Toujours bravo ?

Y’aura-t-il quelqu’un pour dire un jour aux équipes de développement « OK les gars c’est bon là, ne touchez plus à rien, contentez-vous de réparer les quelques bugs qui restent en souffrance, améliorez les temps de réponse mais sur le fond basta, stop, fini ! » ? Mais alors, que faire de ces esprits talentueux s’ils ne continuent pas sans cesse à enrichir, ou à se faire croire qu’ils enrichissent, cette application ou ce site web pour lequel ils ont tant donné ? On ne va toute de même pas procéder à leur euthanasie professionnelle et leur interdire de travailler. Et il y aura toujours un ou deux utilisateurs dans le monde qui réclame une nouveauté ou un petit gadget supplémentaire, pour légitimer à leurs yeux cette démarche autoproclamée d’amélioration continue. Flux de nouveautés qui justifient en b-to-b les juteux contrats de maintenance de certains éditeurs de logiciels. Bref, le système théorise son existence, auto-entretient sa propre subsistance, des équipes marketing aux développeurs, et le tour est joué.

Si on n’y prend pas garde, c’est ainsi que l’agilité, poussée à son extrême, deviendra paradoxalement facteur d’inertie, que le sens de la survie l’emportera sur celui du client et que l’espoir d’un progrès deviendra régression. Aussi est-il grand temps de modérer cette tendance à l’agilité frénétique, avant que le système  s’emballe, entre en fibrillation pour finalement se disperser (façon puzzle).

Cela passera par l’avènement d’une nouvelle mode qui, à l’instar des mouvements de Slow food (écogastronomie) ou de Cittàslow  (Cités du bien vivre), prônera le « SlowDev ». Avec le SlowDev, finies les dizaines de mises à jour quotidiennes, oubliée la frustration du réapprentissage permanent et improductif : une ou deux versions par an, pensées avec les utilisateurs, compatibles avec la précédente, plus rapides, fonctionnellement plus riches, testées, documentées, avec des petits correctifs au fil de l’eau, peu chères à déployer et sécurisées grâce au cloud, auxquelles on se forme entre collègues, ce qui permet de discuter du métier, de prendre un peu de recul, de déstresser …

Le SlowDev : On tente le coup ?

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *