Pourquoi les retards de projets logiciels ne doivent pas être ignorés

( 23 octobre 2020)

Un aperçu des défis les plus importants auxquels les équipes sont confrontées dans la livraison de logiciels – et des suggestions sur la façon dont elles peuvent gérer ces problèmes pour maintenir les projets sur la bonne voie.

Alors que les entreprises daujourdhui se précipitent vers la numérisation, les équipes de développement de logiciels subissent une pression croissante pour fournir de nouvelles fonctionnalités à grande vitesse . En conséquence, les retards des projets logiciels deviennent inévitables. Cela devient un problème lorsque ces retards sont traités comme une partie «normale» du cycle de vie du développement logiciel. Bien quun seul retard ne soit pas nécessairement une cause de plus grande préoccupation, les retards qui se produisent encore et encore doivent être pris au sérieux, car ils sont souvent le symptôme dune cause première plus importante et plus dangereuse.

Produit logiciel le développement est un système complexe et dynamique. Dans un système bien équilibré, au fur et à mesure que de nouvelles demandes sont ajoutées au carnet de commandes, au même rythme, les demandes existantes sont transformées en fonctionnalités disponibles pour le client. Lorsque le rythme des demandes entrantes est supérieur au rythme des fonctions sortantes, le système se déséquilibre. Si nous lignorons, ce déséquilibre progressera davantage et conduira éventuellement à une défaillance du système.

Voici quelques causes courantes que je vois souvent dans la pratique:

Une planification trop optimiste

Nous sommes généralement trop optimistes par nature et surestimons ce que nous pouvons faire dans une certaine période. Ce n’est pas nécessairement une mauvaise chose. Cependant, si cela arrive souvent, cela montre que le respect des délais nest pas pris au sérieux. Un principe agile important est que seuls les développeurs de logiciels sont responsables et redevables de lestimation de leffort. De plus, cest une bonne pratique pour chaque équipe agile de suivre la différence entre le travail engagé à faire dans un sprint et le travail réel effectué après le sprint. L’objectif est d’observer les progrès accomplis en ce qui concerne la précision des prévisions de l’équipe au fil du temps.

Surplombant la complexité de la mise en œuvre

Lors de la planification des nouvelles fonctionnalités de sprint, il est facile doublier les complexités qui surviennent lors de limplémentation. Très souvent, cependant, la complexité négligée est le résultat direct dune conception de logiciel complexe. Lorsque le logiciel a une structure complexe et qu’il n’existe pas de modèle clair sur la façon dont les modules logiciels dépendent les uns des autres, il est impossible d’avoir une bonne compréhension mentale du fonctionnement du logiciel. Cela rend impossible une planification réaliste. Malheureusement, cela nest souvent pas facile à résoudre; cependant, il faut certainement rechercher des moyens viables de rénover et daméliorer le logiciel.

Défauts inattendus de haute priorité

Un défaut de production (bogue de fonctionnalité, problème de performances ou de sécurité) a certainement une priorité élevée et doit être corrigé immédiatement. Mais lorsque ce type de problèmes entrave trop souvent la création de nouvelles fonctionnalités, cest un signe alarmant que quelque chose doit être amélioré. Cest le symptôme dune dette technique importante (cest-à-dire des problèmes de qualité du code) accumulés au fil du temps. La réduction de cette dette technique doit être une priorité élevée; sinon, il est fort probable que le comportement du système et la productivité du développement se détériorent davantage.

En attente des commentaires dune autre équipe

Les produits logiciels sont généralement créés par plusieurs équipes, une équipe produisant les contributions requises par une autre. Le travail doit être réparti entre les équipes de manière à permettre un flux constant dinformations dans le système. Les retards causés par lattente dautres équipes indiquent quune meilleure organisation de léquipe est nécessaire pour minimiser les dépendances entre elles. Avoir un bon chef de produit est essentiel ici, quelquun qui supervise lavancement de lensemble du produit et définit efficacement les priorités.

Cette liste nest certainement pas exhaustive, et il peut y avoir de nombreuses autres raisons de retards dans la livraison du logiciel. Néanmoins, des retards fréquents sont un signe pour vous de ralentir un peu, de trouver la cause profonde du problème et de rétablir léquilibre du système.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *