Projets

Les défis des projets logiciels et comment les relever

Les défis des projets logiciels et comment les relever
L'adoption de l'agile dans le développement logiciel doit s'accompagner d'une adaptation des méthodes de gestion de projet. (Photo : ThisisEngineering RAEng / Unsplash)

L'accélération des besoins en services numériques exige des projets logiciels efficaces et axés sur la valeur. L'adoption d'une méthode agile n'en est que la première étape.

PublicitéAlors que les entreprises mettent sur le marché de plus en plus de services numériques et améliorent leurs processus métier grâce à l'automatisation, rendre le développement logiciel plus efficace est devenu un impératif. Même si la gestion des projets logiciels ne figure pas en tête des priorités des DSI, les responsables IT doivent apprendre à maîtriser cet exercice. Or la gestion de projets logiciels comporte de nombreux défis et les responsables IT qui s'y attaquent peuvent aider leur entreprise à créer de meilleures applications, à même de stimuler la croissance et améliorer l'expérience client.

Voici quelques-uns des défis auxquels les responsables IT et leurs équipes sont fréquemment confrontés dans le cadre de leurs projets logiciels. Et, surtout, comment dépasser ces obstacles.

Respecter délais et budget : encore et toujours

Dans le développement logiciel, achever les projets dans les temps, tout en respectant le budget, apparaît comme le défi n°1. Et depuis longtemps déjà ! L'une des solutions pour éviter les retards et l'inflation des coûts consiste à adopter une méthode de développement agile. En clair, il s'agit de favoriser la collaboration entre les équipes opérationnelles et les utilisateurs finaux, d'être ouvert à la planification adaptative et au développement évolutif, d'apporter des améliorations en continu, de faire preuve de souplesse dans la réponse à des exigences fluctuantes et de livrer rapidement les produits. « Les projets de développement agile suivent le cycle suivant : planifier, réaliser, vérifier, ajuster - et l'utilisateur final ou le représentant qui supervise le projet joue un rôle clé à toutes ces étapes », explique Ola Chowning, partenaire associée d'ISG, un cabinet d'études et de conseil.

Selon Ola Chowning, le classique cycle en V, qui consiste à recueillir toutes les exigences, à concevoir l'ensemble des capacités logicielles pour répondre à celles-ci, à construire toutes les capacités nécessaires, à les examiner et à obtenir l'adhésion des utilisateurs finaux, est rarement utilisé aujourd'hui. « C'est d'ailleurs dans le cadre de cet ancien modèle que les problèmes de respect des délais et des budgets étaient les plus manifestes, parce que l'équipe logicielle devait planifier à la louche la quantité de travail à accomplir en supposant un certain niveau d'acceptation par les utilisateurs couplé à la correction de certains aspects en fonction des premiers feedbacks », reprend l'associée d'ISG. Les approches agiles permettent à l'équipe logicielle et aux utilisateurs finaux « d'apprendre collectivement à mieux planifier, à mieux travailler et à s'adapter plus rapidement, et les résultats deviennent beaucoup plus prévisibles à mesure que le travail de l'équipe devient plus prévisible, reprend Ola Chowning. Le respect des délais et du budget est beaucoup plus facile à maîtriser lorsque l'on connaît à la fois les attentes des utilisateurs et celles des développeurs.

PublicitéCréer et maintenir une culture agile

Si, dans de nombreuses entreprises, l'adoption des approches agiles a fait ses preuves, elle n'évite pas tous les écueils. Par ailleurs, de nombreux responsables IT qui pensent que leur entreprise a mis en place des pratiques agiles, ne comprennent pas que le mode de fonctionnement de leurs équipes en est, en fait, très éloigné. « Le croisement des pratiques de développement agile avec la gestion de projet traditionnelle reste un défi pour de nombreuses entreprises, souligne Ola Chowning. On pourrait penser qu'aujourd'hui, une solution à ce problème a été trouvé, mais il semble que beaucoup de nos clients sont toujours dans l'impasse en raison de cette problématique ».

Si la partie développement de logiciels est abordée selon des modalités strictement agiles - sprints répétés, stories et versions multiples qui construisent le produit logiciel final de manière itérative -, de nombreuses entreprises se retrouvent en difficulté quand elles tentent de gérer le projet dans son ensemble avec un cycle en V, observe l'associée d'ISG. « Cela arrive souvent au moment de l'analyse de rentabilité du projet, où l'on nous demande d'estimer la dépense totale à comptabiliser dans un cadre traditionnel : cahier des charges, conception, construction, test et déploiement », remarque-t-elle.

« Les entreprises plus matures optent pour une approche de gestion de projet qui cherche plutôt à estimer le coût global par rapport à la valeur globale, selon une approche plus régulière dans le temps, poursuit Ola Chowning. Ceux qui optent pour cette approche de gestion de projet agile peuvent tirer de véritables avantages de l'agilité, mais cela nécessite parfois d'ajuster les décisions d'investissement, voire les pratiques financières en termes de dépenses dans les projets ».

« Etendre le modèle agile à toute l'entreprise est un énorme défi pour les départements IT », ajoute Christian Kelly, managing director au sein de la société de conseil et de services Accenture. « L'agilité au niveau de l'équipe est désormais une pratique courante, mais des données récentes suggèrent que celle-ci ne se diffuse pas aussi bien au niveau de l'entreprise, car la plupart des organisations ont du mal à connecter leurs stratégies au travail de leurs équipes. Ce qui limite la capacité des entreprises à hiérarchiser les portefeuilles de projets, à planifier leurs capacités, à gérer les dépendances et à relier les objectifs aux résultats, analyse Christian Kelly. Pour tenir les promesses de l'agilité, les entreprises doivent mettre en oeuvre la culture agile, mais aussi les systèmes et outils qui permettront de relier la stratégie aux résultats ».

Aligner les projets sur les objectifs organisationnels

« Les projets IT ne peuvent être réalisés dans une bulle », explique Chetna Mahajan, responsable de la transformation digitale chez le fournisseur de plateformes analytiques Amplitude. « Si l'initiative n'est pas alignée sur les priorités stratégiques, les chances de réussir sont moins bonnes et il faudra nager en permanence à contre-courant, observe la Chief Digital and Information Officer (CDIO) d'Amplitude. Pour assurer l'alignement et l'adhésion des entreprises, tous les projets logiciels devraient avoir pour sponsor un dirigeant métier ». Dans l'entreprise où elle travaillait précédemment, elle-même et le directeur financier faisaient partie des sponsors à chaque fois qu'était mis en oeuvre un logiciel de configuration, de prix et de devis (Configure, Price, Quote, CPQ). « Cela nous a permis de disposer d'un canal d'accès rapide aux échelons supérieurs pour les décisions et les livrables, tant métiers que techniques, explique encore Mme Mahajan. Le projet n'était plus perçu comme une initiative technologique, ce qui lui a permis d'obtenir la visibilité et l'attention dont il avait besoin dans toute l'entreprise. Non seulement nous avons respecté le budget et les délais, mais nous avons également pu augmenter l'automatisation de 30 % et réduire le cycle de vente de quelques semaines. »

« La plupart des projets technologiques échouent parce qu'ils ne disposent pas d'indicateurs clés de performance (KPI) concrets, ajoute Chetna Mahajan. Pour ma part, je classe les métriques en deux catégories : l'une qui surveille l'exécution du projet et l'autre qui mesure les bénéfices pour l'activité. Ce que nous ne pouvons pas mesurer, nous ne pouvons pas l'améliorer. S'il est important de maintenir le cap sur le budget, le périmètre et le calendrier, nous devons aussi garder un oeil constant sur les indicateurs clés de performance de l'entreprise ». Selon Chetna Mahajan, les KPI d'un projet doivent être spécifiques et liés aux objectifs de l'entreprise. Ce qui contribue non seulement à créer une culture de la responsabilité, mais permet aussi aux entreprises de valider leur analyse de rentabilité afin d'éclairer les futures décisions d'investissement.

Convaincre les parties prenantes et les sponsors

« La culture est souvent un défi majeur pour parvenir à gérer des projets logiciels de manière agile », selon Ola Chowning, partenaire associée d'ISG. Car les sponsors et les principales parties prenantes du projet doivent être à l'aise avec ces approches et disposés à travailler conformément au modèle agile. « Il arrive que beaucoup d'entre eux aient encore envie de travailler d'une manière plus traditionnelle - établir toutes les exigences, concevoir l'état final complet, et seulement ensuite, construire et déployer le service numérique complet, relève Ola Chowning. Ce qui peut créer un dilemme, car la pratique du développement logiciel et la pratique de la gestion de projet sont alors deux approches complètement différentes et déconnectées ».

« Sensibiliser les sponsors et les principales parties prenantes à une approche de la gestion de projet agile, et les aider à ajuster leurs comportements, est essentiel pour gérer les attentes et permettre au développement logiciel d'être le plus efficace possible, reprend Ola Chowning. Sans oublier d'impliquer l'utilisateur dès le départ, puis de manière continue tout au long des itérations du développement logiciel, quelle que soit la méthodologie utilisée. Le temps où il suffisait de parler aux utilisateurs au tout début d'un projet, puis de ne plus les consulter jusqu'au test d'acceptation positionné vers la fin du projet, est révolu. » Aujourd'hui, les bonnes pratiques passent par une implication des utilisateurs, ou de leurs représentants, dans tous les aspects du développement et de la conception du logiciel. Les développements de fonctionnalités annexes, les prototypes, les essais et les démonstrations permettent tout à la fois de s'assurer que les utilisateurs restent engagés dans le projet et de recueillir très fréquemment des feedbacks.

Maintenir les compétences, fournir les bons outils

« L'un de nos plus grands défis consiste à nous assurer que nous offrons en permanence une expérience solide aux développeurs et que nous gérons la formation continue de nos employés à mesure que les technologies évoluent », explique Amit Sharma, directeur technique de l'entreprise de technologies financières Broadridge Financial Solutions et ancien DSI du fournisseur de services financiers Western Union. « Cela signifie qu'il faut créer des solutions automatisées, fournir un environnement sûr et stable pour développer et tester, équiper nos développeurs d'une suite d'outils simplifiant leur expérience, et alléger autant que possible les tâches administratives », ajoute Amit Sharma. Compte tenu de l'évolution rapide du développement logiciel, les entreprises doivent former les ingénieurs logiciels et autres personnes concernées pour qu'ils puissent s'adapter aux nouvelles technologies, aux nouveaux langages et aux nouveaux processus de développement.

« Les responsables IT et de produits doivent admettre que les projets peuvent être interrompus le temps de former les personnes à de nouvelles compétences », prévient Amit Sharma. Et ils doivent également valoriser les personnes impliquées dans le développement de logiciels. « Il est essentiel de reconnaître que, pendant de nombreuses années, nos équipes technologiques ont élaboré des solutions et qu'elles sont ainsi devenues expertes non seulement de systèmes technologiques, mais aussi du produit dans son ensemble, rappelle le directeur technique. Il est capital que ces équipes nous accompagnent pour créer la prochaine génération de notre produit, quelle que soit la technologie sur laquelle il repose ».

Outre le besoin de nouvelles compétences en matière de développement, de nombreux responsables IT doivent aussi affiner leur propre compréhension des sujets. « Le déficit de compétences ne permet pas toujours de comprendre les besoins des utilisateurs, de créer des feuilles de route logicielles qui répondent à ces besoins, de faire les bons compromis par rapport à ces feuilles de route et de passer d'une réflexion basée sur les processus à une réflexion basée sur la valeur et le parcours du client, explique Christian Kelly d'Accenture. C'est la raison pour laquelle des concepts comme la Cartographie des chaînes de valeur (Value stream mapping), le canevas de proposition de valeur (Value proposition canvas) ou le design thinking ont autant gagné en importance ».

Partager cet article

Commentaire

Avatar
Envoyer
Ecrire un commentaire...

INFORMATION

Vous devez être connecté à votre compte CIO pour poster un commentaire.

Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire

    Publicité

    Abonnez-vous à la newsletter CIO

    Recevez notre newsletter tous les lundis et jeudis