De l’agilité aux usines logicielles

On connaît l’expression Software is eating the World (le logiciel dévore le monde), popularisée dans un article du Wall Street Journal du 20 août 2011 par Marc Andreessen, co-développeur du premier navigateur Web (Mosaic) au début des années 1990 et fondateur de Netscape. Cette tendance va aller jusqu’à modeler l’ADN de l’entreprise.

Otto Berkes, CTO de CA Technologies, explique dans son ouvrage comment intégrer le logiciel dans cet ADN business. Pourquoi aujourd’hui ? « Jusqu’à récemment, la première utilité des technologies était de supporter les métiers, plutôt que de les accompagner. Les métiers voyaient le logiciel comme un outil d’amélioration de la productivité, plutôt que comme un composant essentiel de leur ADN pour créer de la valeur et une différentiation par rapport aux concurrents », explique Otto Berkes.

Plusieurs éléments sont venus chambouler cette configuration : la mobilité, le temps réel, la transformation numérique, le comportement des consommateurs et leur degré d’engagement, beaucoup plus digital que physique.

183 biblio 2
  • LinkedIn
  • Twitter
  • Facebook
  • Gmail

Digitally remastered, building software into your business DNA, par Otto Berkes, CA Technologies, 2016, 76 pages.

« La technologie devient la première interface avec les consommateurs, même si les produits ne sont pas basés sur des technologies, la marque et la réputation d’une entreprise passe par des canaux numériques », résume Otto Berkes. Pour lui, les organisations IT actuelles ne sont pas équipées pour adresser ces problématiques : « N’importe quel métier est un métier de logiciels et services, on passe d’un modèle rigide et hiérarchique, avec un engagement limité des consommateurs, à un modèle ouvert et fluide, qui favorise les interactions avec les clients », affirme le CTO de CA Technologies.

Reste le plus difficile : concrétiser ce principe dans les organisations. « La mauvaise nouvelle est que cela paraît difficile, la bonne nouvelle est qu’il n’est pas nécessaire de tout bouleverser, car on ne vise pas la perfection, même si certains pans du système d’information doivent être (re)construits », rassure Otto Berkes. C’est évidemment une affaire de compétences autant que d’outils et de méthodologies.

« La mission du DSI est d’élaborer un framework pour accompagner ces changements, dans un monde où les projets linéaires avec un début et une fin laissent la place à d’autres tirés par les fonctionnalités. Le rôle du DSI n’est pas la transformation, qui se produira naturellement avec le temps, mais de clarifier la connaissance et la maîtrise des besoins des clients intégrés dans les applications qui sont développées. »

Pour réussir la transition, l’un des points clés, selon l’auteur, consiste à mettre en place une usine à logiciels. Une telle approche se justifie principalement pour plusieurs raisons : les infrastructures existantes sont peu agiles et exigent des efforts pour faire évoluer les environnements de développement ; la complexité d’aligner les tests logiciels lorsque ces derniers évoluent régulièrement pour intégrer de nouvelles fonctionnalités ; la difficulté d’intégrer différents éléments logiciels ; la multiplicité des silos dans les plateformes logicielles, les infrastructures et les middlewares.

Il suggère d’appliquer quatre principes : intégrer les équipes et les processus, au lieu de séparer le design, le développement, les tests, la sécurité et l’architecture ; intégrer la qualité, du design à la mise en production ; prioriser les besoins d’architecture, au-delà du court terme, pour éviter d’accroître la dette technique ; automatiser tout ce qui peut l’être : « Les processus manuels ne sont pas seulement lents, fragiles et sujets aux erreurs, ils entraînent des coûts qui seraient mieux investis pour créer de la valeur », souligne Otto Berkes.

L’approche usine logicielle reconfigure les compétences : « Les titres et les responsabilités de ceux qui sont en place peuvent donner une fausse impression de sécurité, souligne l’auteur, il peut être nécessaire d’intégrer des compétences externes, par exemple des designers, des architectes, dont vous n’aviez pas jusqu’à présent besoin et il faut être conscient que ces compétences peuvent se périmer rapidement, compte tenu des changements liées à l’évolution des besoins des clients. »


Usines logicielles : les difficultés les plus fréquentes

  • Le manque d’automatisation, d’autant qu’il faut délivrer vite avec un bon niveau de qualité.
  • Un manque d’intégration entre les outils et les fonc­tionnalités.
  • Des délais trop longs du fait d’une coordination trop lente ou inexistante et d’un manque fluidité des tâches…
  • Un manque de collaboration entre les équipes de développement et les métiers.
  • Des tests en silos qui conduisent à des différences d’appréciation et de priorisation des correctifs.