Gestion de projet de cascade - Quelques notions de base d'Agile

Table des matières:

Anonim
Waterfall Project Management - Aujourd'hui, la plupart des équipes informatiques envisagent d'adopter des systèmes Agile Project Management. Mais ce qu'ils finissent par faire, c'est adopter des systèmes de gestion de projet Agile dans leurs projets. Cela signifie une combinaison de systèmes de gestion de projets traditionnels (appelés systèmes de gestion de projets en cascade), combinés avec les principes de gestion agile, comme détaillé dans le Manifeste Agile d'origine.

Alors que de plus en plus de projets à travers le monde intègrent des pratiques de gestion de projet Agile, cela signifie-t-il la fin de la gestion de projet en cascade? Tous les projets informatiques finiront-ils par être de la gestion de projet agile?

Pour comprendre les différents modèles, y compris Agile, et pour utiliser celui qui convient le mieux à votre situation, il est important de comprendre d'abord en quoi consiste le système de gestion de projet traditionnel, appelé Waterfall Project Management Model.

Le modèle de gestion de projet Waterfall, ainsi nommé en raison de la nature du processus de workflow, se caractérise par les éléments suivants:

  • Le produit final est d'abord visualisé en détail.
  • Ensuite, les étapes du workflow sont implémentées en séquence:
  1. Exigences et analyse
  2. Conception
  3. la mise en oeuvre
  4. Essai
  5. Installation
  6. Entretien
  • Le plan de projet doit être infaillible car une fois qu'une étape de la séquence est terminée, les développeurs ne peuvent pas la revoir sans recommencer la planification.
  • Il y a peu de possibilités de changements ou d'erreurs et le plan de projet doit être suivi avec diligence.

Origine du modèle de gestion de projet en cascade:

Aux premiers stades de l'industrie informatique, il n'existait pas de modèle spécifique pour le développement de logiciels.

Ainsi, l'industrie a adopté le modèle de flux de travail séquentiel utilisé dans les industries manufacturières et de la construction. Ces industries avaient des étapes de travail bien définies et elles avaient développé un modèle qui répondait à leur besoin d'un contrôle strict des coûts. Le modèle de l'industrie du matériel a donc été appliqué à l'industrie du logiciel.

Winston W Royce a présenté ce modèle pour la première fois en 1970, mais il n'a pas utilisé le terme «Waterfall Project Management». En fait, il a présenté le modèle comme défectueux. La représentation picturale du modèle ressemblait à une cascade en cascade. Thomas E. Bell et TA Thayer ont utilisé plus tard le terme «cascade» dans leur article de 1976, «Logiciels requis: sont-ils vraiment un problème?» Et le terme est venu pour rester.

Il existe un certain nombre de variantes de ce modèle. Les six phases distinctes couramment utilisées dans le modèle de gestion de projet Waterfall sont expliquées ci-dessous. Cependant, selon le projet, deux étapes peuvent être combinées ensemble.

Prenons l'exemple de la construction d'une école comme exemple pour mieux comprendre le modèle de gestion de projet en cascade.

  1. Exigences et phase d'analyse:

Tout d'abord, nous devons savoir exactement ce que nous concevons. Pour cela, nous pourrions vouloir:

  • Mener des discussions détaillées avec le client
  • Essayez de visualiser clairement le produit avec ses moindres détails
  • Analysez les composants matériels et logiciels nécessaires
  • Énumérez les détails qui incluent: le problème que le produit doit résoudre, les contraintes du client, le niveau de performance et la compatibilité avec les systèmes déjà existants.
  • Mener des études de cas sur un produit similaire.
  • Tenir compte des exigences de chaque partie prenante
  • Énumérez les spécifications dans le document des exigences du produit, qui constitue l'entrée pour l'étape suivante.

Dans notre exemple de construction d'une école, dans cette étape, nous listons le nombre de salles de classe, le matériel à utiliser pour la construction, les personnes nécessaires, l'infrastructure déjà existante. De plus, nous noterons ce dont la direction de l'école a besoin (bureau, salle du personnel) et ce dont les élèves ont besoin (meilleures toilettes, terrains de jeux)

  1. Conception:

Dans la phase de conception, tout ce qui a été visualisé dans la première étape est transformé en plan.

Dans les projets informatiques, cela consiste à définir:

  • Le matériel qui sera utilisé
  • La plate-forme logicielle à utiliser, y compris le déploiement local ou cloud
  • L'architecture logicielle, y compris les différents composants et modules à créer
  • Entrées requises pour que le projet fonctionne correctement
  • Sorties pouvant être attendues (idéalement, cela se synchronisera avec les exigences détaillées à l'étape précédente)

Il existe deux types de conception qui entrent en jeu dans un projet logiciel:

  • Conception logique
  • Conception physique

Conception logique:

Cela comprend les données de base et les processus qui seront inclus dans le projet. Il détaille la conception des formulaires et des rapports, la conception de l'interface et la conception de la base de données. Par exemple, pour un site Web de billets de train, cette conception déterminera le fonctionnement de l'ensemble du processus: l'écran sur lequel le voyageur entre ses informations et comment ces données seront transférées dans la base de données, ainsi que le type de base de données qui stockera ces informations.

Conception physique:

Il s'agit de la conception de la base de données physique, des programmes et processus et des systèmes distribués. Cela se fait après la conception logique et comprendra «comment» le projet sera réalisé: le matériel, la plate-forme sur laquelle il sera développé, les différentes bases de données, écrans et formulaires qui seront utilisés, etc.

  1. La mise en oeuvre:

  • C'est là que le développement réel du logiciel / système a lieu.
  • L'entrée pour cette étape est les spécifications de conception fournies par l'étape précédente.
  • La sortie est un ou plusieurs des composants du produit construits selon les spécifications, débogués, testés et intégrés pour satisfaire l'architecture du système.
  • Cette étape est généralement prise en charge par l'équipe de développement composée de programmeurs, de concepteurs d'interfaces et d'autres spécialistes et les outils utilisés sont des compilateurs, des débogueurs, des interprètes et des éditeurs de médias.
  • Cette étape prend généralement le temps maximum et il est important de suivre avec diligence les processus et la conception. Les modifications de conception à ce stade sont difficiles dans la gestion de projet en cascade.
  • Pour un grand projet impliquant plusieurs équipes, le contrôle de version est recommandé pour suivre les modifications apportées à l'arborescence de code et revenir aux instantanés précédents pour la gestion des erreurs.
  • Dans notre exemple: La construction réelle du bâtiment en utilisant la main-d'œuvre et les matériaux se fait à ce stade.
  1. Essai:

Les tests peuvent être effectués pour le produit dans son ensemble ou pour des composants individuels. Les «cas de test» peuvent être vérifiés pour voir si le produit peut être livré comme promis. Il peut y avoir des tests de modules, des tests système du produit intégré et des tests d'acceptation. Les tests d'acceptation impliquent de tester le produit pour détecter les failles par l'utilisateur final ou le client. Les défauts sont notés pour que l'équipe d'implémentation les corrige. Une fois les corrections apportées, une documentation produit officielle est préparée.

Dans l'exemple, l'infrastructure de l'école est testée, probablement par une équipe d'audit. Dans certains cas, les enseignants sont invités à venir utiliser les locaux pour faire part de leurs commentaires.

  1. Installation:

Une fois que le test du produit est terminé dans tous ses aspects, le produit peut être mis sur le marché ou installé dans les locaux du client. A ce stade, la documentation complète du produit est également remise.

Dans le cas de notre école, elle est officiellement inaugurée (de préférence par un gros plan!) Et l'école commence ses opérations!

  1. Entretien:

À cette étape, l'équipe informatique résout tous les problèmes qui peuvent survenir une fois que le client a réellement commencé à utiliser le produit ou lorsqu'il y a une amélioration du produit. Une bonne documentation est l'épine dorsale de la maintenance. Les problèmes sont corrigés en modifiant les codes, appelés «correctifs».

Si des changements majeurs sont nécessaires, le projet peut revenir à l'équipe de développement en tant que nouveau projet.

Dans notre exemple, l'école a besoin d'un entretien régulier, principalement des infrastructures, par exemple, un câblage électrique défectueux ou des salles de bains qui fuient. Ces problèmes doivent être résolus de temps à autre.

Comme vous pouvez le voir maintenant, les étapes de la gestion de projet de développement en cascade sont distinctes, et bien qu'il y ait généralement une interaction constante avec le client, c'est principalement pour discuter de l'avancement du projet, pas de la conception ou des exigences. Cependant, le modèle de gestion de projet en cascade avait bien servi l'industrie informatique pendant de nombreuses années, et pour la plupart des projets, les étapes sont toujours bonnes, mais pas aussi rigides.

Il existe cependant plusieurs projets pour lesquels le modèle de gestion de projet Waterfall est très adapté.

À quel type de projet Waterfall Project Management convient-il?

Définition du produit:

Premièrement, le résultat final (produit) doit pouvoir être bien défini au début lui-même. Les projets dans lesquels le propriétaire du produit n'est pas très sûr des spécifications exactes du produit souhaité peuvent bien suivre les pratiques de gestion agile.

Documentation:

Le projet doit être documenté. La documentation est une exigence importante du modèle de gestion de projet Waterfall. Les exigences du produit, la conception et le code source doivent être clairement documentés à toutes les étapes. Si les membres originaux de l'équipe quittent, cela constitue le guide pour la continuité du projet.

Temps et ressources:

Il ne doit pas y avoir d'urgence immédiate pour libérer le produit. Les délais sont fixés au début du projet et l'équipe doit pouvoir s'y conformer. En outre, il doit y avoir suffisamment de ressources disponibles en termes de personnel et de technologie.

Risque et incertitude:

Les outils de gestion de projets en cascade ne fonctionnent pas bien dans un environnement de risque et d'incertitude. Par exemple, l'application mobile est un type de produit qui fait face à une incertitude constante en termes d'acceptation par les clients et de concurrence d'applications similaires.

Des étapes clairement définies:

Les étapes du système doivent être bien définies car elles doivent être achevées en séquence et il ne peut y avoir de chevauchement.

Lorsqu'une nouvelle version du logiciel existant est en cours de création.

En dehors du domaine informatique, le modèle de gestion de projet Waterfall a été utilisé avec succès dans d'énormes projets tels que

  • Bâtiment d'avion
  • Projets d'infrastructure tels que des ponts
  • Fabrication d'équipements de défense
  • Systèmes de soins de santé dans les hôpitaux

Dans les projets informatiques, Waterfall Project Management est particulièrement adapté aux projets dans lesquels un matériel externe est requis. Les spécifications ne peuvent pas être modifiées à mi-chemin car cela entraînerait une perte de millions de dollars.

Lorsque des insuffisances dans la gestion de projet Waterfall sont devenues apparentes dans l'industrie du logiciel, on a beaucoup réfléchi à la façon dont les équipes informatiques peuvent offrir une valeur maximale aux clients tout en garantissant la flexibilité du processus de flux de travail.

Et ainsi, le système de gestion de projet agile, qui est maintenant adopté par la plupart des éditeurs de logiciels, est né.

Gestion de projet en cascade vs systèmes agiles:

Le système de gestion de projet Agile est un modèle flexible qui est devenu populaire dans les années 1990. Cela implique de diviser le projet en «mini-projets» appelés sprints et de travailler de manière indépendante sur chacun d'eux. Ce type de modèle permet aux développeurs d'incorporer plus rapidement les modifications requises et il est très efficace lorsque l'environnement client est variable.

Les points positifs des étapes de gestion de projet en cascade sont:

  • Étant donné que le produit final est connu dans son intégralité, la planification et la conception sont sans ambiguïté.
  • Les problèmes potentiels qui pourraient survenir dans le projet peuvent être résolus pendant la phase de conception elle-même; avant qu'un code ait été écrit.
  • Mesurer l'avancement des travaux est facile car les étapes sont bien définies.
  • La stabilité de l'équipe est là puisque l'équipe reste jusqu'à la fin du projet. Dans le cas d'Agile, l'équipe change constamment et cela nécessite un certain ajustement.
  • La documentation est vaste, ce qui facilite la gestion des équipes en cas de départ d'un membre.
  • Les développeurs trouvent ce modèle plus facile à utiliser car il est facile à comprendre,
  • Après la phase des exigences, la participation active du client final n'est nécessaire que dans la phase de test. Cela est dû au fait que toutes les exigences ont été discutées, sans aucune ambiguïté.
  • Le produit peut être développé dans son ensemble, au lieu de le développer en plusieurs parties.
  • Les problèmes de gestion des contrats et des clients sont mieux traités dans le cadre du modèle de gestion de projet Waterfall.

Les points positifs de la gestion de projet Agile sont:

  • Le client peut interagir avec l'équipe de projet tout au long du cycle et peut apporter des modifications au produit de temps en temps pour s'adapter à l'environnement changeant.
  • Si le produit doit être commercialisé très rapidement en raison des circonstances du marché, l'équipe de gestion de projet Agile peut publier une version de base qui peut avoir des versions avancées ultérieurement.
  • Le système est assez transparent du point de vue du client et il a une bonne idée de l'étape dans laquelle se trouve son produit.
  • Étant donné que le client fournit la priorité des fonctionnalités, l'équipe sait qu'elle doit se concentrer sur les fonctionnalités offrant le plus de valeur commerciale.
  • Le processus a sa propre dynamique.
  • Les équipes sont fluides et flexibles, permettant l'idéation de chaque membre
  • La documentation est minime et donc le temps est libéré de ces tâches.

Après plusieurs années de coexistence des deux modèles, il apparaît que:

Le modèle de gestion de projet Waterfall est efficace pour la gestion de projet où une fois le projet terminé, les changements sont minimes.

La gestion de projet agile est plus adaptée à la gestion de produits où il est important d'être flexible aux changements.

Quoi qu'il en soit, le système de gestion de projet Waterfall reste une composante importante de la plupart des projets informatiques. On ne peut pas dire avec certitude qu'un projet particulier suit strictement les pratiques de gestion Agile. C'est généralement que les principes Agile sont «incorporés» dans les projets informatiques.

Certains Agile Project Management ont des chefs de projet alors que strictement un modèle Agile n'a que Scrum Masters. Il s'agit de combinaisons hybrides de modèles de gestion de projet Agile et Waterfall que certains appellent des projets «Agifall» ou «Agency Agile».

La popularité du système de gestion de projet Waterfall est également due au fait que les problèmes de gestion des contrats et des clients sont mieux traités par les méthodes de gestion de projet Waterfall.

Alors que de plus en plus de projets relèvent de la gestion de projet Agile et que de plus en plus d'entreprises voient les avantages d'un modèle de gestion flexible, la popularité du modèle de gestion de projet Waterfall décroît sans aucun doute.

Cependant, il est difficile d'envisager un avenir pour des projets informatiques totalement Agiles, dans un futur proche. Et Waterfall Project Management, qui a aidé l'industrie du logiciel à ses débuts, continuera d'exister dans quelques éléments de la gestion de projet, au moins pendant quelques années encore.

Première source d'image: picjumbo.com

Articles Liés

  1. 6 étapes utiles du flux de travail dans la gestion de projet en cascade
  2. Conseils efficaces pour la discussion de groupe (conseils d'experts)
  3. Top 10 des mythes sur la gestion de projet
  4. 6 raisons efficaces pour lesquelles tout le monde a besoin d'un projet Passion au travail
  5. 5 principaux types d'outils de reporting de gestion de projet
  6. Gestion de produit vs gestion de marque - Différences utiles