EN / FR

Manifeste pour du développement de haute-couture

Le développement est une chose trop grave pour être confié à des développeurs. Ce manifeste pour du développement de haute-couture est un appel pour que les entreprises mesurent la nécessité d’un développement maîtrisé et de qualité. enioka Haute Couture est une maison de développement logiciel qui s’est donné comme mission d’accompagner ses clients dans cette démarche.

La transformation numérique des entreprises révolutionne la façon de travailler dans tous les secteurs, même de ceux à priori éloignés de l’informatique. La plupart des processus métier sont désormais outillés informatiquement, voire ne pourraient exister sans. Cela a une conséquence : la valeur ajoutée d’une entreprise, ce qui la différencie de ses concurrents, est de plus en plus souvent liée à un élément informatique. Tel distributeur aura une chaîne d’approvisionnement plus efficace grâce à des algorithmes de réapprovisionnement innovants, telle banque sera plus rapide sur les ordres à faible latence grâce à des processeurs dédiés, tel constructeur aéronautique pourra éviter de coûteux prototypes grâce à des modélisations plus avancées…

Est-il alors souhaitable de confier les logiciels de l’entreprise, cette pièce critique de la valeur de l’entreprise, à un tiers ? C’est pourtant le mouvement qui a eu lieu depuis les années 90, où les développements ont été massivement externalisés et délocalisés. Et les entreprises ont perdu beaucoup de connaissances sur leurs propres logiciels, y compris les plus critiques d’entre eux.

Notre vision est qu’une entreprise qui innove doit maîtriser ses développements. Pour cela, il lui faut acquérir, ou ré-acquérir, un certain nombre de compétences : techniques évidemment, organisationnelles, méthodologiques, de recrutement…

Cette reprise en main des développements peut se faire progressivement, en commençant par mettre en place organisation, architecture, outillage et équipe de développement pour leur donner les clefs pour créer les solutions nécessaires et répondre aux demandes des clients et utilisateurs.

Le développement logiciel est devenu un enjeu trop important pour qu’une entreprise soit dépendante de ses fournisseurs. Cette indépendance se manifeste à la fois par la propriété intellectuelle sur le code produit, par la capacité à faire évoluer le code source qui doit donc être livré documenté, avec tous les outils nécessaires à le faire vivre (chaîne de compilation, outillage de déploiement, suite de tests, outils de suivi projet) et un transfert des compétences nécessaires assuré. Ces éléments doivent être envisagés dès le lancement d’un projet sous-traité pour s’assurer de la bonne transmission du logiciel.

Si cette mise en place initiale est faite par une équipe tierce, il est alors essentiel qu’elle soit réalisée sur mesure pour les objectifs et contraintes de l’usage par l’équipe finale. Il faut alors, plus encore que d’habitude, insister sur la qualité du développement et de l’outillage instaurés, qui en faciliteront l’utilisation, la reprise et l’extension. La trajectoire permettant de s’assurer que toutes les parties impliquées (utilisateurs, chefs de projet, exploitants, développeurs, architectes, testeurs…) maîtrisent leurs (nouveaux) outils de travail est également essentielle.

Passé ces premières étapes, nos équipes partagent une vision de ce que doit être un projet informatique bien mené. Nous sommes convaincus que les projets informatiques modernes doivent être réalisés en contact direct avec les utilisateurs, sur des cycles de release rapides. Nous apportons en conséquence un savoir-faire pragmatique sur les méthodes agiles : sans les considérer comme sacrées, nous les utilisons comme des boîtes à outils pour en retenir des éléments en fonction du contexte client. Nous voyons l’organisation, les processus, comme une trajectoire menant vers une cible revue régulièrement plutôt que comme une destination fixée trop longtemps à l’avance. On doit se fixer des objectifs à court terme, puis continuer à améliorer de façon continue, et faire en sorte que cela continue de s’améliorer bien après le départ de nos équipes.

Il faut commencer petit pour amorcer un cycle vertueux : une démarche d’internalisation doit commencer petit, et doit faire ses preuves, que ce soit par un petit projet sélectionné ou par un prototype. Nous sommes capables de prendre complètement cette amorce en charge, en la réalisant complètement ou en encadrant les équipes en place.

Ce qu’il faut au bon endroit. Nous sommes également certains qu’il n’y a pas de technologie miracle, quel que soit le domaine. Ce mythe a fait trop de dégâts par le passé. Les langages, les frameworks, les middlewares… ne sont que des briques dont il faut systématiquement évaluer l’adéquation au contexte.

Nous sommes aussi persuadés que des améliorations sensibles de la qualité des développements sont à la portée de toute organisation qui s’en donne les moyens. En partie grâce au contact métier permanent mentionné plus haut, qui permet d’opérer au plus près du besoin réel. Ensuite, en s’appuyant sur une organisation efficace et adaptée ainsi qu’à un bon outillage des cycles de développement pour assurer la qualité du produit (tests automatiques, processus de revue de code…). Enfin et surtout grâce à des développeurs compétents et responsabilisés sur leurs rôles dans les projets et dans l’entreprise.

C’est pour proposer du développement en accord à ces principes qu’enioka Haute Couture a été créé. Ceci nous permet de proposer à des sociétés, de toute taille et de tout secteur d’activité, de commencer immédiatement à travailler comme si elles avaient internalisé leurs développements tout en progressant vers l’autonomie complète. Tout cela est porté par une équipe désireuse de partager sa vision et son expérience du développement, avec comme objectif d’aider nos clients à (re) devenir maître de leurs développements.