Vous n'en aurez pas besoin
J'ai la chance de travailler dans l'informatique tout en venant d'un parcours d'ingénierie logicielle, ce qui me donne un point de vue un peu différent sur le monde de l'informatique, à la fois pour comprendre une grande partie de ce qui se passe en coulisses avec les cycles de publication et les fonctionnalités, et aussi pour appliquer à ce domaine les connaissances acquises dans cette industrie.
Dans la communauté de l'ingénierie logicielle, le concept de « You Aren't Gonna Need It » (« Vous n'en aurez pas besoin »), ou YAGNI, est devenu populaire ces dernières années. Le YAGNI est né du groupe Extreme Programming (XP) des développeurs Agile et s'énonce sous la forme de cette règle : « Implémentez toujours les choses lorsque vous en avez réellement besoin, jamais lorsque vous vous contentez de prévoir que vous en aurez besoin. »
J'aime reformuler le YAGNI dans le développement par « N'investissez pas dans quelque chose tant que vous ne savez pas que vous en avez besoin. » Mais le concept est le même : si vous consacrez du temps et de l'argent à construire des éléments dont vous n'êtes pas certain d'avoir un jour besoin, vous prenez des risques, comme celui de ne pas créer de valeur le plus tôt possible (en vous concentrant sur les choses qui n'ont pas encore d'importance tout en négligeant celles qui en ont) et d'investir dans une technologie qui ne sera jamais utilisée (parce que les besoins changent, que le projet est annulé, etc.)
Ce concept se transpose extrêmement bien à l'informatique. La conception et les achats sont tous deux fortement influencés, ou devraient l'être, par le YAGNI. Le stockage en est un excellent exemple. N'investissez pas aujourd'hui dans du stockage que vous pensez utiliser demain. Nous pouvons énumérer de nombreuses raisons pour lesquelles un investissement précoce dans le stockage est néfaste : l'entreprise n'a que peu ou pas de capacité à prédire avec précision sa propre croissance, l'informatique est peu douée pour prédire la croissance du stockage à partir de la croissance de l'entreprise, la valeur temps de l'argent, et acheter du stockage aujourd'hui coûte plus cher qu'acheter le même stockage demain. Chaque fois que nous achetons sur la base de prédictions, nous prenons un risque. Les prédictions se réalisent rarement.
Si nous achetons aujourd'hui trop de stockage, nous payons ce stockage à prix fort, car les coûts du stockage chutent considérablement avec le temps. Si nous achetons avec 100 % de marge et qu'il faut trois ans ou plus avant d'utiliser cette marge, nous payons le stockage trop cher et obtenons une technologie plus ancienne, alors qu'un achat ultérieur nous donnerait une meilleure visibilité sur ce dont nous avons réellement besoin à ce moment-là (non seulement en capacité, mais aussi en vitesse, en fiabilité, en fonctionnalités, etc.), un coût plus faible et davantage d'options.
Le suréquipement est un risque, le sous-équipement en est un autre. Le sous-équipement représente, à l'évidence, un risque moindre, mais reste une préoccupation. Si vous achetez aujourd'hui pour des besoins à trois ans et qu'au bout de deux ans vous connaissez soudainement une explosion de la demande, vous risquez d'avoir surinvesti dans une plateforme ou une technologie incapable de répondre à vos besoins.
Le stockage n'est qu'un exemple, mais cela peut s'appliquer à tout, des licences logicielles à la capacité de calcul, en passant par la mémoire, les technologies de haute disponibilité et même les postes de travail. Peu d'entreprises achèteraient des postes de travail en surnombre de cent pour cent juste pour être prêtes à une augmentation prévue des effectifs dans trois ans, et pourtant, curieusement, elles n'hésitent pas à le faire ailleurs.
En achetant ce qui est nécessaire pour le besoin immédiat et en différant les décisions d'achat, il existe une occasion importante de réaliser des économies et de bénéficier d'améliorations technologiques. Dans certains cas, il se peut que le besoin futur ne se présente jamais, que ce soit en raison de mauvaises prédictions, d'évolutions du marché ou de la stratégie, ou d'un changement d'orientation technologique, qu'il soit interne ou externe.
Au-delà des achats, le YAGNI peut s'appliquer à la conception réseau. Il n'est pas rare que des architectures vastes et complexes soient proposées et mises en œuvre sur la base d'une croissance anticipée, souvent à plusieurs années d'échéance et, soyons honnêtes, rarement très probable dans un monde réaliste. Construire, par exemple, un environnement complexe de haute disponibilité, avec des licences coûteuses, une mise en réseau complexe et un stockage abondant, en prévision d'une croissance future de l'entreprise, alors que seuls deux serveurs et un bon plan de sauvegarde sont justifiés financièrement aujourd'hui, est dangereux. Non seulement la croissance nécessaire doit se produire pour justifier la dépense informatique, mais elle doit se produire si rapidement que la valeur temps de l'argent soit justifiée et que le coût de la technologie ne baisse pas au point d'avoir rendu plus rentable la mise en place de deux systèmes. Il est surprenant de constater à quel point il peut facilement arriver que la mise en place d'un système plus petit, en guise de solution provisoire, puis la mise en œuvre d'un système à plus grande échelle le moment venu, revienne bien moins cher, simplement parce que le coût de construction du système plus grand et plus complexe a tellement baissé depuis la mise en place du premier système, et cela avant même de tenir compte du risque de mauvaises prédictions.
Dépenser tôt comporte un risque supplémentaire : cela immobilise les finances de l'entreprise dans une architecture inutilisée. Cet argent pourrait être investi dans d'autres parties de l'entreprise afin de la faire croître. Dans les cas extrêmes, un surinvestissement dans l'infrastructure pourrait contribuer à l'échec complet d'une entreprise, une situation auto-réalisatrice où le fait de ne pas appliquer le YAGNI crée précisément la situation où le YAGNI s'appliquait le plus. La solution architecturée n'a jamais été nécessaire, puisque l'entreprise a fait faillite.
Le YAGNI est un processus d'atténuation des risques. Il s'agit de travailler avec les besoins que vous connaissez plutôt qu'avec ceux que vous anticipez.
Peut-être que les services informatiques achètent en excès aujourd'hui parce qu'on leur attribue des budgets précis. Il est compréhensible que l'informatique se retrouve dans une course à la technologie, cherchant à mettre en œuvre tout ce qu'elle peut lorsque les caprices de l'entreprise lui sont favorables. Il s'agit cependant d'une très mauvaise pratique de gestion. Les entreprises doivent prendre conscience que d'importantes sommes d'argent sont gaspillées dans l'informatique, parce que l'informatique est contrainte de mettre en œuvre des systèmes en présumant d'un don de voyance, sur la base de budgets arbitraires fixés par l'entreprise sans aucun fondement dans le monde réel. L'informatique est contrainte d'acheter ce qu'elle peut « vendre » à l'entreprise sur la base de facteurs souvent très flous, et l'entreprise finance souvent l'informatique de manière tout à fait capricieuse. Cela crée une relation très malsaine entre l'entreprise et l'informatique, où l'informatique gaspille de l'argent parce qu'elle n'a guère le choix, et où l'entreprise considère l'informatique comme un gaspillage parce qu'on ne lui permet pas de fonctionner efficacement.
Pour remédier à cette situation, l'entreprise et l'informatique doivent travailler ensemble. L'informatique doit se comporter davantage comme une unité dotée d'un sens des affaires, et l'entreprise doit s'appuyer sur l'informatique pour obtenir des conseils, sans recourir à une budgétisation fondée sur des prédictions ni s'enliser dans le choix d'approches technologiques sans comprendre techniquement les conséquences de ces choix. L'informatique doit pouvoir faire confiance à l'entreprise pour prendre des décisions financières logiques, et l'entreprise doit pouvoir faire confiance à l'informatique pour prendre des décisions technologiques logiques dans l'intérêt de l'entreprise. L'entreprise oriente l'informatique, l'informatique rend l'entreprise possible. C'est une relation symbiotique. Si l'entreprise insiste pour que l'informatique fasse des prédictions et fonctionne avec des budgets fixes, l'informatique continuera d'être contrainte de trop dépenser et de surdimensionner les architectures chaque fois que possible, dans l'espoir d'être préparée pour demain, lorsque le budget pourrait ne pas être approuvé. Si l'on faisait confiance à l'informatique pour demander ce dont elle a besoin, et à l'entreprise pour financer les besoins technologiques au moment opportun, les deux pourraient fonctionner plus efficacement pour le bien commun.
À retenir : n'investissez pas trop tôt, vous ne savez pas ce que la technologie ou l'entreprise fera demain.
