J’avais déjà écrit un article à ce sujet il y a quelques années en rebondissant sur un sondage du site Code Project, dédié aux développeurs. Le sondage affichait en majorité une perception de maintien de la complexité (~55%), voire une tendance à la complexification (~30%), tandis que seulement 15% des développeurs voyaient les choses se simplifier.
En échangeant avec plusieurs clients et prospects, je me rends compte qu’encore beaucoup de décideurs entretiennent l’illusion, souvent alimentée par les discours marketing des commerciaux, que le développement serait plus facile aujourd’hui (comprendre moins coûteux) qu’hier.
Dans la réalité, il n’en est rien, et lorsque j’échange avec Simon Mourier, le Chief Technology Officer de SoftFluent, la tendance ne lui apparait pas non plus favorable, pour de multiples raisons comme la généralisation du passage au web, la variété des navigateurs, les complexités liées au Cloud et la multiplication des plates-formes notamment.
Ceci nous amène plutôt à prédire une explosion des coûts de développement dans les prochaines années. Nous synthétiserons les 10 raisons qui font que le développement est et sera de plus en plus complexe. Voici les 3 premières.
1. Des attentes fonctionnelles plus grandes
La popularisation des technologies et leur diffusion à grande échelle fait que des milliards d’utilisateurs accèdent aujourd’hui à des applications informatiques, des outils en lignes ou des sites Internet à vocation grand public.
Ces sites font l’objet d’investissements cohérents avec l’échelle de leur impact et proposent aux utilisateurs une expérience souvent riche et aboutie que chacun va explicitement attendre dans toute autre application.
Ainsi, le chef de produit d’un de mes clients, exprimait naïvement dans une réunion avoir des besoins “ simples ”, en précisant qu’il voulait juste une recherche “ à la Google ” et des comportements de grille “ à la Excel ”, en plus bien évidemment des scénarios d’usage et règles métiers spécifiques à son secteur d’activité, et sur lesquelles il capitalisait près de 20 ans d’expérience avec de multiples versions du logiciel métier en question.
2. Un niveau d’exigence qui augmente
De la même manière, ces utilisations auxquelles nous nous habituons dans la vie de tous les jours pour les outils diffusés massivement, augmentent notre exigence de qualité. Que ce soit en absence de bogue, en interactivité, en apparence graphique, ou en capacité de support des modes connectés et déconnectés, nous nous attendons à retrouver une grande qualité dans toutes nos applications.
Il est rare qu’une relation explicite soit faite entre ces attentes accrues et la réalité des budgets disponibles, qui ne vont pas forcément croissants, et certainement pas au même rythme.
Pour reprendre l’exemple précédent, le client n’avait nullement envisagé d’investir dans son application les budgets de R&D de Google et de Microsoft cumulés, même si je force un peu le trait pour permettre la compréhension !
3. Une dette qui croit mécaniquement
Une troisième raison importante, dans le cas des applications d‘entreprise particulièrement, est le poids de la dette. Le Gartner a développé il y a déjà quelques années le concept de dette informatique avec des estimations alarmistes qui s’avèrent proches de la réalité du terrain.
Dans le cas des applications, cette dette se traduit d’une part au travers de bogues présentes dans les applications, mais aussi par de nombreuses contraintes liées à l’existant. Il est souvent nécessaire d’assurer une compatibilité avec des versions précédentes de l’application, de certaines bases de données, voire d’interfaces avec d’autres applications ou progiciels.
Si on ne purge pas régulièrement cette dette, et l’expérience prouve que ce sont des chantiers rarement lancés car peu visibles, celle-ci ne fait que croître, alourdissant le fardeau des nouveaux développements.
Pour connaitre les 7 raisons suivantes, nous vous invitons à télécharger le livre blanc associé. Bonne lecture !