L'évolution de la livraison de logiciels, à considérer désormais comme un processus métier à part entière

Rares sont ceux qui pourraient affirmer que les équipes créant des logiciels sont plus respectées qu'auparavant dans l'entreprise. Pendant des années, le logiciel était une simple activité de production et/ou de maintenance qui se faisait discrètement, dissimulée au sein de l'entreprise. La livraison de logiciels était considérée comme un centre de coûts à contrôler plutôt que comme une ressource à exploiter afin de générer une réelle valeur stratégique.

Aujourd'hui, les entreprises s'appuient largement sur les logiciels qu'elles produisent pour mener des missions essentielles. Elles attendent donc des logiciels qu'ils transforment leurs opérations centrales, qu'ils favorisent un travail plus intelligent dans les différents services et qu'ils améliorent la productivité. Plus important encore, beaucoup investissent dans la création d'applications logicielles innovantes et impactantes pour attirer de nouveaux clients.

Il est clair que les logiciels jouent un rôle important dans la quasi-totalité des stratégies d'entreprise. Mais la livraison de logiciels est-elle vraiment au cœur de ces dernières ? Les entreprises respectent-elles suffisamment ce processus pour concevoir une stratégie personnalisée de bout en bout permettant de fournir le meilleur logiciel possible et de générer le maximum de valeur ?

Pour le moment, la réponse reste majoritairement "non". Si la livraison de logiciels a beaucoup évolué en peu de temps, elle demeure toutefois désordonnée et floue, ce qui frustre les différentes parties prenantes concernées. Bien trop souvent, les employés qui conçoivent, développent, testent, déploient, commercialisent et vendent les logiciels produits par les entreprises n'ont aucune idée de l'étape à laquelle une application est engagée dans le processus de livraison ou de la manière dont ils peuvent l'améliorer. En effet, l'information n'est pas partagée. Ce sont ces erreurs qui provoquent des retards, conduisent à des logiciels de mauvaise qualité et au mécontentement des clients.

La culture DevOps permet non seulement d'apaiser certaines tensions internes, mais aussi de mettre de l'ordre dans les processus opérationnels. Cependant, les logiciels demeurent encore largement isolés - respectés mais incompris, valorisés mais dissociés des objectifs globaux des entreprises.

Tout ce dont l'industrie a besoin, c'est d'un modèle qui permette d'élever la livraison de logiciels au rang de fonction métier essentielle, comme le sont la finance ou la vente. La livraison de logiciels ne doit pas être un accessoire dans la stratégie d'une entreprise. Elle doit avoir sa propre politique qui associe toutes les étapes du processus et s'assure qu'elles soient en phase avec la véritable mission de l'entreprise : générer des revenus et une forte valeur ajoutée.

Deux points de vue sur l'orchestration

En quoi la vision actuelle des logiciels est-elle mauvaise ? Imaginons deux orchestres dont l'un propose un alignement parfait de tous les rôles et responsabilités alors que l'autre présente un certain désordre.

L'orchestre parfaitement organisé définit une stratégie qui permet non seulement de créer une belle musique, mais aussi de pérenniser l'orchestre sur le long terme. Le chef d'orchestre dirige des dizaines de musiciens dans la salle de concert, en s'assurant que chacun apporte au groupe ce qu'on attend de lui. Les violons se mêlent aux cors, aux flûtes et aux claviers, les tambours gardent le rythme et, de temps en temps, une cloche ou un gong ajoute une touche particulière à la musique. En coulisses, le personnel se charge de réserver les salles de concert, de superviser la logistique, de promouvoir l'événement et de contrôler les finances afin de garantir que les prochaines manifestations se déroulent sans accroc. Tout le monde est synchronisé et le produit final est généralement impeccable.

Dans un orchestre désarticulé, l'ensemble pourrait très vite basculer dans le chaos. Les musiciens habitués à jouer d'une certaine manière ignoreraient le chef d'orchestre, les événements seraient mal gérés et les clients mécontents partiraient, peut-être pour ne jamais revenir.

La livraison de logiciels devrait fonctionner comme le premier groupe, même si ce n'est souvent pas le cas. Chaque élément essaie de fonctionner au mieux de ses capacités, en utilisant les meilleures informations dont il dispose, sur la base de sa propre interprétation des attentes de l'entreprise à son égard. Mais si les différents services ne peuvent pas partager les informations correctes entre eux et s'ils ont peu de visibilité sur la manière dont chacune de leurs contributions affecte l'autre, la symphonie qu'ils vont délivrer risque d'être entachée de fausses notes.

Voici donc un exemple concret où la création de fonctionnalités manquant d’une stratégie solide et globale peut compromettre la livraison d'un logiciel.

Les designers envoient aux développeurs des demandes de nouvelles fonctionnalités pour une application existante. Comme les entreprises commandent ces fonctionnalités à la hâte, les développeurs doivent respecter un délai très serré. Ces derniers n'ont toutefois pas accès aux témoignages des utilisateurs et font donc des hypothèses inexactes sur l'utilisation des fonctionnalités.

Lorsque le code produit est transféré aux équipes opérationnelles, celles-ci ne le voient pas venir. Elles constatent alors que ce dernier n'a pas été correctement scanné par la sécurité, et le renvoient pour qu'il soit retravaillé. Aucune des deux parties ne sait où les violations ont eu lieu et les retards s'accumulent, mettant le lancement en danger.

Pendant ce temps, le marketing, les ventes, le service clients et le support ne savent pas quand les nouvelles fonctionnalités arriveront, et ne peuvent par conséquent se préparer au lancement de l'application. La direction veut commercialiser les fonctionnalités, et les déploient donc sans documentation appropriée. Les utilisateurs ne sont pas informés des nouvelles fonctionnalités tant qu'ils ne sont pas connectés. Ils sont confus et soumettent des commentaires négatifs, ce qui nuit à la marque.

Personne ne partage l’information et ne sait ce que l’autre partie prenante fait en parallèle.

L’approche Software Delivery Management (SDM)

Une stratégie commune de livraison de logiciels pourrait aider cette équipe. Un modèle pour une telle stratégie est décrit dans une nouvelle approche appelée Software Delivery Management (SDM).

Le SDM répond à la nécessité de gérer la livraison de logiciels de manière globale en tant qu'élément différenciateur et essentiel de l'entreprise. Elle vise à mobiliser toutes les parties prenantes autour d'objectifs communs, à savoir accélérer le processus tout en améliorant la qualité, la prévisibilité et la valeur des logiciels.

Comment cela fonctionne-t-il ? En embrassant quatre piliers fondamentaux - un modèle de données commun pour exploiter des informations conjointes qui créent une visibilité et des insights dans l'ensemble du cycle de vie du logiciel. Cela permet de développer des processus connectés et unifiés et, par conséquent, de faire collaborer toutes les fonctions et les équipes.

La mise en relation des outils, des données, des équipes et des processus par le biais d'un modèle SDM peut résoudre quelques problèmes auxquels sont confrontées les équipes de livraison de logiciels.

En effet, les développeurs peuvent facilement accéder aux témoignages des utilisateurs, ce qui leur permet de comprendre comment la programmation de certaines fonctionnalités peut répondre à leurs besoins spécifiques. Les équipes opérationnelles savent quand un ensemble de fonctionnalités doit arriver et les spécialistes de la sécurité peuvent ainsi scanner le code plus tôt. Les services commerciaux savent quand les fonctionnalités seront mises à jour et peuvent planifier des déploiements plus stratégiques et plus complets. Les ventes et le support peuvent recueillir les commentaires des utilisateurs de manière plus transparente et se rapprocher des autres services pour améliorer le produit en permanence.

Chaque élément du processus peut être replacé dans son contexte. Les équipes comprennent ce qui se cache derrière les décisions qui orientent les logiciels tout au long de leur cycle de vie. Les différentes parties prenantes peuvent intervenir en formulant des recommandations. Elles s'investissent davantage dans le processus global et s'engagent à fournir des logiciels de la meilleure qualité possible et à un rythme approprié.

La livraison de logiciels à l’heure du COVID-19

De toute évidence, la demande de logiciels DevOps va exploser. Au fur et à mesure que cette pandémie évoluera vers une nouvelle norme dans laquelle le télétravail pour les entreprises de logiciels nécessitera une automatisation partielle ou totale, les conditions du travail à distance auront besoin non seulement de ce nouveau niveau d'automatisation, mais aussi de systèmes d'information et de visibilité communs. En outre, la nécessité de développer de nouveaux logiciels tout en modifiant ceux qui existent déjà pour prendre en charge la digitalisation des processus physiques et manuels dans tous les secteurs d'activité entraînera une forte demande d'innovation logicielle, ce qui se traduira par de nouveaux projets qui exigeront la création d'outils. Cependant, les équipes chargées des logiciels seront obligées de lancer ces nouveaux projets et de déployer ces nouveaux outils très rapidement et sans budgets supplémentaires.  Il sera essentiel pour les entreprises de considérer la livraison de logiciels comme un processus commercial essentiel, non seulement pour survivre à la situation actuelle, mais aussi pour exploiter le potentiel qu'offre la recherche de solutions pour s'adapter à la nouvelle norme.

Il est essentiel pour les entreprises de disposer d'une stratégie de livraison de logiciels bien définie pour prospérer dans le contexte économique actuel. Les consommateurs ont plus que jamais la possibilité de consommer des logiciels, mais aussi de les supprimer et de les remplacer s'ils ne sont pas satisfaits. Les entreprises axées sur les logiciels doivent être à la hauteur de la situation et fournir les bons produits, avec les bonnes fonctionnalités, au bon moment pour satisfaire les utilisateurs, que ce soit chez eux ou à l'extérieur. Elles peuvent y parvenir en s'appuyant sur l'approche SDM et en poussant les logiciels hors de la zone d'ombre.