Forges logicielles : bonnes pratiques et premiers bilans
Par Olivier Léal, directeur de projets, Bull France
PAROLE D'EXPERT
![]() |
Diplômé d'un DESS en électronique et traitement de l'image, Olivier Léal est directeur technique et directeur de projets au sein de Bull France.
|
Pionnier des forges logicielles avec NovaForge™, son usine de développement Open Source, Bull possède à la fois l’expérience de son utilisation en interne, par ses équipes de service, et de l’accompagnement de ses clients dans sa mise en œuvre. Bull est ainsi en mesure d’établir un premier bilan du paramétrage et de l’usage des forges. Où il apparaît que leur paramètrage nécessite méthode et expertise, et que la dimension culturelle de leur impact ne doit pas être sous-estimée.
Avec l’évolution très rapide des besoins métier et des technologies, et le renforcement des contraintes économiques dans un contexte de crise, le développement logiciel est sous pression. Les organisations informatiques doivent toujours faire mieux, plus vite, moins cher, et cela passe inéluctablement par une industrialisation de leurs processus. Or toute industrialisation nécessite de se doter d’un outillage adéquat, et c’est la raison pour laquelle on constate actuellement un intérêt grandissant pour les forges logicielles, qui répondent à ce besoin de structuration, d’optimisation et de systématisation des processus de développement.
Alors que l’environnement de développement se concentre sur les outils nécessaires au développeur, la forge logicielle est destinée à l’ensemble de l’équipe projet. Elle offre de façon intégrée et centralisée les outils collaboratifs et de gestion (forum, wiki, reporting…) qui vont permettre de piloter et documenter le projet. Bull s’est positionné très tôt sur ce besoin émergent d’un outil de travail de groupe spécifiquement adapté aux projets logiciels et à l’industrialisation des méthodes de développement. Bull élabore, maintient et utilise pour ses propres besoins NovaForge, une usine de développement Open Source qui permet d’appréhender de façon globale le cycle de création du logiciel, de l’expression des exigences jusqu’aux vérifications de conformité.
En capitalisant sur ses nombreux projets, Bull bénéficie d’un retour d’expérience unique et peut d’ores et déjà tirer une somme d’enseignements précieux sur le paramétrage et le déploiement des forges. Ces retours d’expérience permettent d’enrichir la solution et les services professionnels associés de telle sorte que NovaForge apporte véritablement, et rapidement, tous les bénéfices escomptés en matière de conduite de projet, de productivité individuelle, de qualité des livrables, de réutilisation de l’existant et de maîtrise des risques.

Quelques bonnes pratiques
1 - Ne pas se précipiter
Depuis son lancement, NovaForge rencontre un succès spectaculaire, notamment en raison de son ouverture : capable de s’adapter à toutes les méthodologies de développement et de s’interfacer aux outils existants (intégration continue, configuration, tests, bugs, gestion de projet, GED…), NovaForge est rapide à mettre en œuvre et s’intègre naturellement dans l’environnement de travail de l’équipe projet, sans remise en cause des méthodes existantes. Cette apparence de facilité constitue cependant un écueil : les équipes ont tendance à se lancer tête baissée dans la mise en œuvre de la forge et tentent d’en fixer les paramètres a priori, de façon absolue, sans se soucier des spécificités du projet sur lequel elle sera utilisée. Suivant leur taille, leur nature ou la composition de l’équipe, tous les projets n’ont pas les mêmes besoins. Certains développements critiques, ou risqués, devront être suivis à la loupe. D’autres, portés par des équipes restreintes, pourront se contenter de fonctionnalités basiques. La forge est un outil très souple qui sait s’adapter à chaque type de projet et qui se révèle d’autant plus puissant qu’il est bien adapté au contexte. Après un premier contact pour se familiariser avec les fonctionnalités et l’ergonomie de la forge, il convient donc de procéder avec méthode, et par étapes, pour optimiser son paramétrage.
2- Les étapes du réglage initial
Le réglage de la forge va se faire progressivement, au cours des premières itérations du projet, en parallèle de la définition du cadre du chantier.
- Sur la base des exigences techniques du cahier des charges, on alimente le référentiel des composants techniques nécessaires à l’élaboration de l’architecture du projet. Simultanément, on constitue le référentiel des exigences métiers.
- En sélectionnant les outils ad hoc, on constitue un environnement de travail type pour les développeurs. Sa standardisation et sa mise à disposition via la forge facilitera ensuite l’arrivée de nouveaux intervenants sur le projet.
- Le plan d’assurance qualité du projet permet de fixer la liste des indicateurs qui vont servir au reporting : tolérance dans l’application des normes de développement, taux de commentaires exigés, taux de couverture du code par les tests unitaires, taux d’anomalies nécessaire à l’acceptation et délais de correction…
- On construit les spécifications fonctionnelles et les spécifications d’architecture sur la base des exigences.
- À ce stade, tout est prêt pour alimenter le référentiel d’exigences pour l’utilisation de l’outillage de tests et la constitution des cahiers de test.
- Tous les éléments sont alors réunis pour construire le script de ‘build’ et d’analyse du code. L’outillage d’intégration continue est prêt pour le démarrage des développements. Enfin, on initialise les bases de faits techniques pour les futures phases de vérification d’aptitude (VA), vérification de service régulier (VSR) et de garantie.
3. Une aide à la gestion de projet
Une fois l’environnement préparé, les développements commencent. La forge apporte aussitôt des bénéfices concrets et directs sur deux points essentiels : le pilotage du projet et la communication au sein de l’équipe.
- À l’aide de l’historisation des captures de métriques lors du passage de l’intégration continue, la forge est en mesure de constituer automatiquement un rapport contenant les principaux indicateurs de l’assurance qualité du projet. Un outil permet de mesurer la couverture des exigences techniques et fonctionnelles par le code et les tests. Le contrôle est automatisé et centralisé, et on obtient une traçabilité du besoin jusqu’à la ligne de code. Le reporting s’effectue au jour le jour, ce qui permet de piloter le projet en toute transparence et de prévenir toute dérive.
- Parallèlement, la forge a un impact considérable sur la communication au sein de l’équipe projet. Les échanges de documents sont exclusivement réalisés via la forge. Un espace pour la gestion de configuration est initialisé au démarrage du projet. Bull recommande que toutes les questions techniques ou fonctionnelles soient posées via les forums, car c’est le meilleur moyen de conserver le savoir du projet. Dans une perspective de partage de la connaissance, il faut à tout prix lutter contre la communication point à point. De la même façon, il faut utiliser les listes de diffusion pour communiquer auprès des différentes instances du projet, capitaliser les bonnes pratiques dans le wiki projet, voire, si elles sont généralisables, dans le wiki du référentiel commun à tous les projets de la forge.
4. Regarder au-delà
Au sein de l’organisation, la forge peut être bien plus qu’un outil de réalisation, que l’on reconfigure à chaque projet. Ses capacités de capitalisation, de partage et d’analyse de l’information offrent des perspectives très intéressantes en matière d’identification et de diffusion de bonnes pratiques de développement et de gestion de projet, mais aussi de gouvernance du portefeuille de projets. Grâce à une vision historique, consolidée et transversale des projets passés et en cours, l’organisation est à même d’évaluer les risques et d’établir des priorités, notamment pour l’affectation de ressources. La forge permet ainsi d’établir un lien direct de la stratégie de l’entreprise à la ligne de code, et donc d’optimiser globalement l’activité de développement. La constitution de forges et de méta-référentiels est aujourd’hui l’un des axes d’évolution les plus prometteurs.
Les premiers bilans
Tant en interne que chez ses clients, Bull a pu observer les bénéfices tangibles qu’apporte la mise en œuvre de ces bonnes pratiques de paramétrage et d’utilisation d’une usine logicielle, notamment en termes de disponibilité, de partage et d’exactitude de l’information. Mais parce qu’elle touche directement aux habitudes et aux méthodes de travail, la forge a d’autres conséquences dont on peut commencer à dresser un premier bilan.
1- Gérer la transparence
Grâce à la forge, les indicateurs clés du projet (traçabilité, taux de couverture, qualité du code…) sont suivis et remontés quasiment en temps réel. Les chefs de projet apprécient cette automatisation car elle leur donne une visibilité parfaite sur l’avancement du projet et leur libère du temps à consacrer à des tâches plus opérationnelles. Cependant, les équipes comme les managers doivent être préparés à une telle transparence. Car on verra tout autant ce qui ira bien que ce qui ira moins bien, et il ne sera plus possible de masquer certaines dérives ou certains arrangements. Par exemple, on ne peut plus procéder à de discrets transferts de ressources entre tâches sous- et surestimées. Désormais, ces ajustements, qui demeurent bien sûr inévitables, seront forcément explicites et actés.
2 - Un pas décisif vers la capitalisation
Pouvoir réutiliser des éléments de code développés à l’occasion d’un projet précédent et simplement procéder par assemblage de modules existants est un vieux rêve des responsables informatiques. Grâce aux forges, il est plus accessible que jamais. Car le plus souvent, l’écueil principal de la capitalisation, c’est l’absence de documentation et d’éléments de contexte permettant de retrouver rapidement les éléments et de comprendre les choix de façon à pouvoir les transposer. En permettant de centraliser, de structurer et de conserver l’information projet, tant technique que fonctionnelle, la forge apporte une réponse décisive. Reste qu’il va être important de sensibiliser parallèlement les acteurs aux pratiques du knowledge management, tant en amont, pour la préservation de l’information, qu’en aval, pour sa réutilisation.
3 - Le Virtual Shore, une réalité
La forge constitue un espace de travail virtuel standardisé et centralisé. Où que l’on se trouve géographiquement, il est facile d’entrer dans le projet (la forge fournit un point d’accès unique vers les différents outils) et de communiquer avec les autres intervenants. Cette facilité d’usage et de déploiement permet par conséquent de constituer son équipe avec une liberté inédite. Cette possibilité nouvelle de panacher les origines, les domaines d’intervention et les niveaux de compétence pour optimiser le rendement collectif constitue ce que Bull appelle le Virtual Shore. Cependant, même s’il facilite la communication et l’adhésion au projet, l’outillage ne fait pas tout. Tout au contraire, le management est d’autant plus important dans un cadre virtualisé et il appartient plus que jamais aux responsables d’animer et de mobiliser la communauté projet.
4 - Le développement d’un esprit communautaire
On constate que l’utilisation de la forge développe au sein des équipes et des entreprises utilisatrices un véritable esprit communautaire. Très naturellement, les organisations souhaitent se rapprocher de la communauté NovaForge pour s’enrichir mutuellement de leurs développements et de leurs expériences. Les relations entre les équipes de Bull et leurs clients autour de cet outil sont marquées par une profonde volonté d’échange et de progrès. Et des chefs de projet aux développeurs, les utilisateurs prennent eux aussi très rapidement le réflexe du communautaire, inventant à leur tour de nouvelles bonnes pratiques d’utilisation des forges logicielles.
Conclusion : plus qu’un outil, une culture
Nées du besoin d’industrialiser le processus de développement logiciel et s’appuyant sur les possibilités offertes par les réseaux, les forges logicielles démontrent leur pertinence en apportant très rapidement des bénéfices substantiels sur chacun des grands axes d’évaluation des projets informatiques : coûts, qualité, délais. Cependant, les premiers retours d’expérience démontrent que l’impact d’une forge dépasse ces premiers gains. Plus qu’un outil, la forge apporte une culture. La culture de la transparence, la culture de la capitalisation, la culture du collectif. Au-delà du paramétrage, l’outil ne portera pleinement ses fruits que si cette dimension culturelle est suffisamment prise en compte et le changement accompagné. Bull s’appuie sur ses compétences et son expérience pour aider ses clients à appréhender ces enjeux.


