12.0 Waterfall vs. Gestion de projet cyclique (Partie 5) – Conditions de gestion de projets cycliques

Les utilisateurs/clients participent activement #

Chaque cycle de gestion de projet cyclique implique le développement des exigences, la conception, l’exécution et les tests. Cela implique que de nombreux choix doivent être faits au cours d’un cycle. Si le programme doit représenter avec précision les désirs du client, le client doit être un membre actif de l’équipe de projet.

Les clients doivent communiquer leurs exigences aux programmeurs et aux concepteurs aussi clairement que possible. Cela implique souvent une participation hebdomadaire (ou au moins bihebdomadaire) à l’équipe de projet.

Au sein d’un projet, les consommateurs contribuent à la définition des fonctionnalités requises et à la planification du cycle. Ils coopèrent aux tests d’acceptation, approuvent ou rejettent les conclusions intermédiaires et contribuent à l’orientation globale du projet. De plus, la participation active des clients améliore les résultats lors de l’utilisation de la méthode en cascade.

L’équipe est investie du pouvoir de faire des choix. #

Dans un cycle, l’équipe de projet doit être habilitée à prendre ses propres décisions. Si l’équipe de projet n’a pas cette autorité, le modèle cyclique de gestion de projet ne fonctionnera pas. Si l’approbation constante des supérieurs est requise tout au long d’un cycle, cela peut entraîner une stagnation. De plus, les personnes extérieures ne sont souvent pas au courant de ce qui se passe parce qu’elles ne sont pas activement impliquées dans l’équipe du projet ; il leur est donc difficile de prendre des décisions rationnelles.

La sortie du projet (logiciel) peut être décomposée en composants plus petits. #

La gestion de projet cyclique est une méthode de gestion de projets dans laquelle des parties du projet sont achevées en une série de cycles. Ceci n’est possible que si le logiciel en cours de développement est décomposable en un certain nombre de composants plus ou moins distincts.

Les exigences de la direction pour les logiciels de gestion de projet sont principalement mondiales; la gestion n’impose pas d’exigences directes, concrètes ou spécifiques. L’un des avantages de la gestion de projet cyclique est l’étroite collaboration entre le client, les concepteurs, les programmeurs et les éventuels testeurs pendant les cycles. Si des exigences spécifiques et concrètes sont établies au début d’un projet, cela limite la capacité de l’équipe de projet à utiliser son meilleur jugement lors des choix de conception. De nombreuses exigences sur un projet s’avèrent devoir être adaptées au cours du processus et ne doivent donc pas être (trop) solidement établies au départ.

Le client comprend les activités. #

Si un travail technique important et difficile à appréhender pour le client doit se produire au cours d’un cycle, il existe un risque que le client ne soit pas en mesure de contribuer efficacement à l’équipe. Dans une telle situation, le client a très peu son mot à dire dans les décisions de conception qui doivent être prises.

Un risque similaire existe lorsque le client n’est pas au courant des progrès. Par exemple, une grande partie du travail peut être consacrée au codage, avec peu d’attention portée à l’interface utilisateur. Il est essentiel que les clients aient une connaissance suffisante de la substance et de la progression d’un cycle afin d’éviter d’être mis de côté.

Il doit être possible de revenir sur ses pas. #

Même dans la gestion de projet cyclique, les équipes suivent parfois des chemins qui s’avèrent erronés. Il devrait être possible de faire un pas en arrière dans un tel cas. Si un nouveau module créé au cours d’un cycle s’avère insuffisant, il doit être possible de reprendre le travail avec le module précédent. Cela impose des exigences, notamment pour l’archivage et la documentation des matériaux du projet. CVS et Subversion sont deux outils utiles pour ces tâches (voir l’annexe 3 pour une liste complète des outils).

En plus des compétences en programmation, les programmeurs doivent être capables d’interagir efficacement avec les clients et vice versa. Les membres de l’équipe doivent être des penseurs intellectuels. La discipline est nécessaire pour continuer le travail.

L’organisation dans laquelle le projet est mené doit également apporter un soutien suffisant à ce mode de fonctionnement. Des systèmes de suivi du temps, d’archivage et de planification sont nécessaires pour soutenir les projets. Ces systèmes d’enregistrement offrent l’ouverture essentielle pour garantir une répartition équitable des ressources entre les projets et les périodes.

Priorisation #

Les projets doivent recevoir une importance adéquate et les membres de l’équipe doivent être mis à leur disposition. Exiger des membres de l’équipe qu’ils travaillent sur trop de tâches simultanément est inefficace. Si une organisation n’est pas adaptée de manière adéquate au travail basé sur des projets, la flexibilité cyclique de la gestion de projet est susceptible d’entraîner le chaos. De plus, la technique de la cascade bénéficie d’une approche organisée de la gestion de projet (voir Wijnen, 2004, p. 111).

Le directeur d’une société de développement de logiciels, plus visionnaire que gestionnaire, avait une bonne idée presque tous les mois et initiait constamment de nouvelles initiatives dans son entreprise. En conséquence, les projets plus anciens n’ont jamais été achevés et les travailleurs ont travaillé sur jusqu’à cinq projets simultanément. Le charismatique réalisateur venait de terminer la lecture d’un livre sur le développement rapide d’applications (RAD) et était très enthousiaste à ce sujet, en particulier l’élément «rapide». Il a enregistré les idées fondamentales de RAD sur le copieur et s’est ensuite attendu à ce que tout le monde commence à travailler avec ces notions. Après tout, c’était une excellente technique.

Risques de gestion de projet cyclique #

Les techniques de gestion de projet cyclique laissent parfois un temps insuffisant pour exécuter les fonctionnalités requises. Comme la durée du projet est fixe, moins de fonctions seront presque certainement ajoutées qu’initialement prévu.

Bien qu’il s’agisse d’une préoccupation légitime, elle est également inhérente à l’ approche en cascade . L’étape déterminante de l’approche en cascade implique un examen approfondi des exigences. Cette analyse est susceptible d’aboutir à une meilleure gestion du temps. Ce n’est souvent pas le cas dans la réalité, pour les raisons évoquées ci-dessus.

De plus, des fonctionnalités sont omises dans cette approche en raison d’un manque de fonds pour les développer.

Les exigences sont traitées de manière pragmatique dans les approches cycliques. Par exemple, les besoins en cycles peuvent être classés selon les critères du MoSCoW (Stapleton, 2003) comme suit:

  • Doit avoir: les exigences critiques du système
  • Devrait avoir : les besoins critiques que les utilisateurs désirent vraiment
  • Pourrait avoir: des besoins souhaitables qui peuvent être facilement ignorés
  • Vouloir avoir : des exigences qui ne seront pas remplies cette fois-ci : des exigences qui peuvent attendre plus tard

Que certaines capacités ne soient plus disponibles ou non, les chefs de projet DANS pensent que le travail cyclique entraîne une satisfaction client plus élevée que l’approche en cascade. Dans tous les cas, les attentes sont régulièrement contrôlées plus efficacement et les projets produisent régulièrement des résultats qui fonctionnent, même s’ils sont moins complexes qu’initialement envisagé.

Comprendre les inconvénients potentiels #

Un inconvénient couramment cité de XP est qu’une puissance importante est transférée aux programmeurs. S’ils abusent de cette autorité, ils peuvent exploiter à leur avantage le manque d’expertise technique du client. Pour éviter ce scénario, il faut un chef de projet capable de veiller à la fois aux intérêts des programmeurs et des clients. Ces chefs de projet accompagnent leurs clients dans la sélection et la planification des cycles, dans la compréhension des fondements techniques de leurs sélections, dans l’administration et le reporting.

Enfin, un autre inconvénient de XP est que la mise en œuvre de la méthode nécessite une courbe d’apprentissage élevée pour les programmeurs, les gestionnaires et les consommateurs.