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.