L'amélioration de la création de logiciels : clé du succès des entreprises

Utiliser des outils numériques permet aux équipes de gestion opérationnelle et informatique de capturer visuellement et plus rapidement les éléments les plus importants dont elles ont besoin pour créer une application.

Il y a quelques années déjà, la création d'applications logicielles était fastidieuse, désuète, onéreuse et entraînait à la fois une perte de temps et un mauvais usage de compétences. Je regrettais que la puissance intrinsèque de l'informatique ne soit pas exploitée pour la faciliter et la rendre plus rapide. Il est vrai que nous avons fait de réels progrès, pourtant la route est encore longue.

A une époque, les demandes métiers passaient par de lourds cahiers des charges - qui sont comme de longues listes de souhaits de fonctionnalités pour une application logicielle - transmis à une équipe de programmeurs qui les traduisaient dans un langage énigmatique et permettaient finalement de créer une application. La plupart du temps, une fois l’application terminée, les exigences étaient déjà désuètes. Selon moi, cette façon de travailler était fastidieuse, déconnectée et donc inefficace. La puissance informatique actuelle nous permet plus d’efficacité, de collaboration et la création d’applications plus intuitives, rapides et accessibles à tous. Alors pourquoi ne pas en profiter ?

Au cours des dernières années, les méthodologies de développement Agile ont été de plus en plus adoptées par l’informatique. Celles-ci permettent de répartir efficacement les grands projets et les longs cahiers des charges en une série d’étapes et de livrables tangibles. Une approche Agile accélère la création des composants des applications, sans avoir nécessairement à mettre de côté les listes d’exigences. Le problème est que le processus est resté inchangé : une liste de fonctionnalités est dressée (et encore souvent à la main !) et un groupe de programmeurs traduisent ces fonctionnalités en code logiciel. Ayant peu évolué en 50 ans, nous freinons le potentiel de collaboration, de co-création, d'innovation et de génération de valeur et ainsi les résultats financiers.

Les 4 difficultés liées à la création d’un logiciel

La rédaction systématique d’un cahier des charges énumérant les exigences logicielles engendre de nombreuses difficultés et ne nous permet pas de gagner en efficacité et de créer une meilleure expérience tant pour ceux qui développent les applications que pour ceux qui les utilisent.

  1. Les « exigences » créent une faille entre les équipes de gestion opérationnelle et les équipes techniques, et in fine entre le client et l'entreprise. Chaque équipe rédige le cahier des charges selon ses propres contraintes et prérogatives, sans se préoccuper de celles des autres équipes (temps, complexité, capacité à créer et déployer…). D’un autre côté, les équipes informatiques doivent mettre en place les exigences requises tout en tenant compte des contraintes liées aux systèmes et réseaux informatiques existants de l’entreprise, ce qui peut entraîner la création de fonctionnalités complètement différentes de celles demandées au départ par l’entreprise. Les résultats qui en découlent sont donc rarement en phase avec la vision de toutes les parties prenantes ou ne correspondent pas aux attentes du client.
  2. Les « exigences » nous éloignent de la réalité. Actuellement, les exigences portent sur la traduction, et non sur la communication. De ce fait, cela contraint les équipes de gestion opérationnelle et informatique à parler en langage codé. Nous devrions plutôt nous demander comment un client se sent à l'issue de chaque interaction et quelle image de marque nous voulons véhiculer. Une approche transversale, collaborative et holistique de la mission, de la vision et des opérations d'une entreprise offre les réponses les plus pertinentes à ces questions.
  3. Les longues listes d’« exigences » sont obsolètes avant même la fin de leur élaboration. Le développement d'un nouveau logiciel et son intégration à une architecture d'entreprise existante sont chronophages. Pendant ce temps, l’entreprise continue d’améliorer forcément les composantes du système technologique existant dans l’entreprise. Ainsi, à peine mis en application ce nouveau logiciel a déjà besoin d’être optimisé. Le célèbre adage « Le temps, c'est de l'argent » n'a jamais été autant d'actualité. Toute opération manuelle, longue et entraînant un cloisonnement des groupes de travail se révèle inefficace et coûteuse.
  4. La rédaction des « exigences » entraîne une volonté de déresponsabilisation des parties prenantes. Les opérationnels redoutent que quelque chose ne soit pas dans le cahier des charges et se lancent alors dans une sur-conception massive. Quant aux ingénieurs, ils peuvent se servir du cahier des charges comme excuse pour éviter une plus grande collaboration avec les équipes opérationnelles.

Transformer la façon de travailler pour gagner en efficacité

Nous devons changer le mode de collaboration entre les équipes de gestion opérationnelle et informatique et tirer parti des avancées technologiques actuelles.

Pour cela, utiliser ces outils numériques permet aux équipes de gestion opérationnelle et informatique de capturer visuellement et plus rapidement les éléments les plus importants dont ils ont besoins pour créer l’application directement dans l'environnement de développement. Ces outils peuvent également leur permettre de générer automatiquement la documentation de ces activités.

Ce type de plateforme doit se baser sur de véritables capacités, tels que le low-code, pour favoriser une approche plus collaborative. La collaboration des équipes autour de la conception permet de visualiser la progression d'une application et de la modifier immédiatement lorsqu'un axe d'amélioration est identifié. L’accès à la plateforme est sécurisé et basé sur les rôles de chaque équipe, permettant ainsi à l’informatique d’inclure de nombreux types d’employés et d’expériences logicielles. Ainsi, toutes les équipes ont le même niveau d’informations et peuvent partager des objectifs communs. Finalement, la puissance de la plateforme low-code est exploitée pour rédiger le code machine sous-jacent qui permet à l'application de fonctionner.

Il est donc primordial que les entreprises adoptent à une approche low-code collaborative dans le développement d'applications. Elles n’ont pas le choix. En effet, la pénurie de programmeurs de logiciels les oblige à améliorer les outils numériques dont elles disposent aujourd'hui pour rendre le développement d'applications plus inclusif, collaboratif, accessible et automatisé.