Qu'est-ce qui est si génial avec Agile? Une introduction à la méthodologie agile

Agile Définissez comme des systèmes de gestion agiles qui existent depuis un certain temps, mais qui ont gagné en actualité ces derniers temps. En fait, Agile Management figure régulièrement dans les principales tendances de gestion de projet de presque tous les blogs de gestion de projet informatique chaque année.

Les applications d'Agile dans les projets informatiques sont incontestées, car elles trouvent une utilisation non seulement dans les projets de logiciels informatiques, mais aussi dans le développement de produits et l'innovation.

Alors, qu'est-ce qui est si génial avec Agile? Demandez aux employés qui sont passés d'un système traditionnel à Agile, et ils pourraient déplorer les réunions constantes et les «réunions sur les réunions».

Il s'avère qu'il y a bien plus à Agile que de simples réunions et commentaires. Il se concentre sur l'autonomisation des équipes et la suppression des modes séquentiels de développement de projet, de sorte qu'il y ait plus de flexibilité et d'innovation. dans le cycle du projet.

Il est présenté comme le remède universel aux problèmes courants qui affligent les projets informatiques. Qu'est-ce que c'est exactement et comment est-il meilleur que les systèmes traditionnels?

Besoin d'une méthodologie agile - Pratiques de gestion

Quiconque a travaillé sur une méthodologie agile dans des projets de développement logiciel aura une idée de certains des problèmes habituels qui surviennent au cours d'un projet: changement de portée, délais qui semblent impossibles à respecter et ressources surchargées.

Les méthodologies agiles traditionnelles en gestion de projet présentaient de nombreux inconvénients en raison desquelles elles ne parvenaient pas à faire face à l'environnement commercial en constante évolution, en particulier dans le développement de logiciels, et les situations ci-dessus étaient malheureusement trop courantes. Cela ne veut pas dire que les méthodes traditionnelles ne sont applicables nulle part. Ils sont toujours le meilleur pari pour les projets dans lesquels l'idée est pleinement formée dès le départ.

Les pratiques de gestion agile sont devenues le besoin de l'heure car elles répondaient aux besoins suivants d'un produit lancé dans un environnement dynamique:

  • Besoin de vitesse pour atteindre le produit sur le marché
  • Besoin de flexibilité pour s'adapter à plusieurs changements de spécifications
  • Failles dans le scénario de «division du travail»
  • Dilemme du client
  • Besoin de réduction des coûts

Besoin de vitesse pour atteindre le produit sur le marché:

Nous vivons dans un environnement au rythme rapide où la flexibilité et la rapidité sont la clé du succès.

La technologie est l'un des secteurs les plus rapides de l'industrie. Il y a une idée, un produit ou une innovation plus récente chaque minute. Dans ce contexte, l'approche traditionnelle de gestion de projet échoue. Un projet séquentiel dépend nécessairement des étapes méthodologiques agiles accomplies de manière satisfaisante dans l'ordre. Les délais dans les projets gérés traditionnellement sont toujours une pomme de discorde.

Les organisations et les équipes qui ne sont pas dynamiques perdront la course à celles qui se métamorphosent pour s'adapter à l'environnement changeant.

Besoin de flexibilité pour s'adapter à plusieurs changements de spécifications:

Les attentes et les exigences des clients changent souvent au cours du développement du produit. Avant que les systèmes de gestion agiles ne soient généralisés, les projets informatiques échouaient souvent parce que le système de gestion de projet traditionnel était conçu pour «continuer à fonctionner». S'il y avait des changements, les clients ressentaient souvent le pincement de leur portefeuille ou de leur calendrier. Le modèle de gestion de projet traditionnel, adapté d'autres industries, ne fonctionnait tout simplement pas pour une industrie dynamique comme l'informatique.

Division du travail:

Dans le modèle traditionnel, il y a des phases distinctes, commençant par l'analyse des exigences des systèmes et conduisant à la sortie et à la maintenance du produit. Il en résulte une division du travail et un étiquetage des membres comme «concepteurs», «programmeurs» ou «testeurs». Mais en réalité, les ressources d'aujourd'hui sont extrêmement interfonctionnelles et une telle distinction claire des rôles n'est pas possible dans la plupart des projets.

Dilemme du client:

Dans les projets volatils, très souvent, les clients ne sont pas entièrement sûrs de ce que doit être leur produit final, avec toutes les spécifications. Les fonctionnalités et les exigences changent souvent au fur et à mesure que les travaux sont effectués. Les modèles traditionnels tels que le modèle Waterfall mettent l'accent sur la clarté par rapport au produit final, et les écarts dans les plans exercent une énorme pression sur le système. Cela nous amène au dernier facteur qui a conduit au développement de systèmes Agiles.

Besoin de réduction des coûts:

Traditionnellement, les changements d'exigences à tout moment après le début du projet étaient découragés. Au contraire, les coûts de tout composant supplémentaire étaient élevés, parfois de manière prohibitive. Il était donc impératif d'inclure tous les scénarios possibles dans la phase de planification elle-même. Cela signifiait que tous les scénarios étaient envisagés et qu'une solution était proposée. Mais comme il est presque impossible de savoir avec certitude quelle partie du produit l'utilisateur préférera, les équipes ont souvent développé des «versions gonflées» d'un produit. Il contenait tous les scénarios possibles, dont un utilisateur type n'utiliserait pas plus de 20%. Cela a entraîné des coûts et des développements inutiles.

Inutile de dire que cela signifiait que tous les projets étaient globaux dans leur planification.

Et quand un tout nouveau scénario imprévu est apparu, il y a quand même eu un coût supplémentaire, malgré toute la planification.

Un groupe de personnes s'est réuni en février 2001 pour discuter exactement de cela: la nécessité d'un modèle flexible et agile de développement logiciel qui a aidé à développer des produits qui fonctionnaient réellement pour le client et le développeur. Il en est résulté le «Manifeste Agile», qui était les avantages du développement de logiciels de méthodologie agile, c'est-à-dire un ensemble de quatre principes aussi simples que descriptifs. Douze «principes agiles» expliquant comment les systèmes agiles fonctionneraient réellement dans un environnement de projet ont également été développés.

Grâce à ce travail, nous avons pris de la valeur:

  • Individus et interactions sur les processus et les outils
  • Logiciel de travail sur une documentation complète
  • Collaboration client sur négociation de contrat
  • Répondre au changement au sujet d'un plan

Autrement dit, bien qu'il y ait de la valeur dans les éléments de droite, nous valorisons davantage les éléments de gauche.

Les 12 principes agiles

Les 12 principes Agile sont un ensemble de concepts directeurs derrière le Manifeste Agile qui soutiennent les équipes de projet dans la mise en œuvre de projets Agile. Elles sont:

  1. Notre priorité absolue est de satisfaire le client par la livraison précoce et continue de logiciels précieux.
  2. Accueillir les exigences changeantes, même en phase de développement tardif. Les processus de méthodologie agiles exploitent le changement pour l'avantage concurrentiel du client.
  3. Fournir des logiciels de travail fréquemment, de quelques semaines à quelques mois, de préférence à une échelle de temps plus courte.
  4. Les gens d'affaires et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
  5. Construisez des projets autour d'individus motivés. Donnez-leur l'environnement et le soutien dont ils ont besoin et faites-leur confiance pour faire le travail.
  6. La méthode la plus efficace et la plus efficace pour transmettre des informations à et au sein d'une équipe de développement est la conversation en face à face.
  7. Un logiciel de travail est la principale mesure du progrès.
  8. Les processus de méthodologie agile favorisent le développement durable. Les sponsors, développeurs et utilisateurs devraient pouvoir maintenir un rythme constant indéfiniment.
  9. Une attention continue à l'excellence technique et à une bonne conception améliore l'agilité.
  10. La simplicité - l'art de maximiser la quantité de travail non effectué - est essentielle.
  11. Les meilleures architectures, exigences et conceptions émergent d'équipes auto-organisées.
  12. À intervalles réguliers, l'équipe réfléchit à la façon de devenir plus efficace, puis ajuste et ajuste son comportement en conséquence.

Exemple de projet nécessitant une gestion agile

Imaginez une start-up qui développe une application mobile pour un client. Le gel de l'ensemble de la conception de l'application avant le démarrage du développement peut être désastreux. Le temps est également limité pour mener une étude de marché, établir un plan détaillé, décider des variantes qu'ils souhaitent proposer, puis développer le produit. En plus des coûts énormes impliqués dans cette approche, ils courent le risque qu'une autre entreprise puisse développer l'application avant de le faire.

La méthodologie agile en gestion de projet permet de surmonter ces problèmes. Dans ce système, l'application est développée par étapes, avec une interaction client tous les jours et des livrables ou des jalons de projet identifiés, par exemple, pour chaque semaine.

Plusieurs équipes peuvent également travailler sur la même application, ce qui réduit considérablement le temps de développement.

Les fonctionnalités sont affinées à chaque réunion et le produit final reflète le besoin final. Ils apprennent étape par étape ce qui fonctionne pour le client et improvisent les offres jusqu'à ce qu'ils obtiennent le produit souhaité.

Dans l'approche traditionnelle de la gestion de projet, on penserait à toutes les révisions avant de sortir le produit. Cela entraînerait des délais non respectés, une augmentation de la charge de travail et une inflation des coûts. De plus, le produit pourrait avoir complètement perdu sa pertinence au moment de sa sortie.

Comment fonctionne exactement la gestion agile?

Bien que la gestion agile soit principalement désignée comme un concept informatique, ses utilisations ne se limitent pas à l'industrie informatique. Par exemple, la chaîne de magasins de vêtements Zara a utilisé les principes de la gestion agile pour transformer son entreprise.

En utilisant les principes Agile, Zara a fabriqué des produits en petits lots plutôt que de se concentrer sur une grande production avant la nouvelle saison. La société a évité les coûts liés aux stocks élevés et aux offres de rabais imprévisibles par cette méthode.

Certains des aspects clés de la gestion de projet Agile sont:

  • La gestion de projet agile suit une approche flexible.

Agile Management accueille les ajouts et les modifications tout au long du développement du produit au lieu de le conformer aux spécifications d'origine.

  • Les projets agiles sont généralement divisés en blocs de travail distincts, avec des équipes impliquées dans le développement d'un ou plusieurs de ces «blocs» de travail.

Ainsi, il est possible d'avoir, par exemple, quatre équipes travaillant simultanément sur différentes parties d'un projet, de sorte que les délais du projet soient raccourcis. Les équipes se coordonnent entre elles et avec le client au quotidien pour les livrables.

  • Il y a des réunions quotidiennes sur l'avancement ou les obstacles dans le projet avec un feedback constant.

Après avoir reçu les commentaires des clients, les modifications sont intégrées et les équipes passent au segment suivant. Ce processus continue de fournir un produit plus dynamique et mieux adapté aux besoins du client.

  • Il y a une plus grande implication des membres de l'équipe plutôt qu'une approche descendante.

Dans le cycle de vie du développement logiciel, les membres de l'équipe sont impliqués à toutes les étapes: exigence, conception, développement et tests de méthodologie agile. Puisqu'il y a un aperçu régulier de l'efficacité des tâches, les membres de l'équipe ajustent le comportement et les procédures en conséquence.

  • Le profil du chef de projet dans un projet Agile passera d'un rôle traditionnel.

Il / elle ne passe plus beaucoup de temps à planifier ou à surveiller les ressources, mais passe désormais plus de temps à collaborer avec les équipes et à s'assurer que l'image globale est toujours en vue. Ce n'est pas une transition facile, et les gestionnaires qui passent aux systèmes Agiles doivent s'adapter rapidement pour que le projet réussisse.

Quelques mots sur Scrum:

Scrum est l'un des cadres les plus populaires pour la mise en œuvre de la méthodologie Agile. Qu'est-ce que la méthodologie Agile? Il est antérieur à Agile et a été proposé pour la première fois en 1986 et mis en œuvre dans les industries de l'automobile et des imprimantes.

Méthodologie agile avec scrum ne sont pas synonymes; il existe d'autres frameworks qui peuvent être utilisés pour implémenter Agile mais Scrum est l'un des plus efficaces et probablement les plus populaires. Qu'est-ce que la mêlée? En règle générale, Scrum n'a que trois rôles: propriétaire du produit, équipe et maître Scrum. Le maître de méthodologie Scrum n'est pas un chef de projet. Les responsabilités d'un rôle de chef de projet traditionnel sont réparties entre les trois rôles de gestion de projet Scrum. Le projet est intégré dans une série d'itérations de longueur fixe appelées sprints. Le succès de chaque sprint de méthodologie agile apporte un sentiment de progrès tangible et d'inspiration continue. Le but de chaque itération est de produire un produit fonctionnel qui peut être démontré aux parties prenantes. La méthodologie agile Scrum Master travaille avec le propriétaire du produit et l'équipe pour faciliter la réalisation des objectifs en supprimant les obstacles. L'équipe de développement de méthodologie agile est interfonctionnelle et comprend des testeurs, des concepteurs et des ingénieurs d'exploitation en plus des développeurs.

Gestion de projet traditionnelle: la cascade

L'un des systèmes de gestion de projet traditionnels les plus importants est la cascade. Il était fréquemment utilisé depuis les années 1970. Il existe plusieurs méthodologies de cascade bien connues et largement mises en œuvre dans les projets informatiques. Il s'agit notamment de PRINCE2 qui a été créé par le gouvernement britannique pour son secteur public.

Tout comme son nom l'indique, il s'agit d'un flux de travail séquentiel. Le produit final est fixé au début du projet. Ensuite, les différentes étapes du workflow sont complétées en séquence (démarrage de la conception, analyse, conception, construction, tests, mise en œuvre et maintenance). Une fois l'étape précédente terminée, les développeurs passent à l'étape suivante. Le plan de projet doit être à toute épreuve; une fois qu'une étape de la séquence est terminée, les développeurs ne peuvent pas revisiter la même chose sans recommencer. Il s'agit d'une approche statique de la méthodologie agile en gestion de projet. Il n'y a pas de place pour des changements ou des erreurs et le plan de projet de méthodologie agile doit être suivi avec diligence.

Une analogie peut être établie entre la gestion des cascades et la peinture d'un chef-d'œuvre. L'image du chef-d'œuvre final est déjà dans l'esprit de l'artiste, et il y travaille constamment. Si, pour une raison quelconque, le produit final est différent de ce qu'il a visualisé, il ne peut pas le modifier facilement.

Agile ou cascade?

  • Qu'est-ce que l'Agile? Agile est plus adapté aux petites équipes travaillant sur des projets incrémentiels et évolutifs tandis que Waterfall est adapté aux grands projets ou projets de développement. La gestion des cascades pourrait être mieux adaptée à des industries telles que l'industrie de la construction. Agile est utilisé dans des projets plus dynamiques tels que ceux de l'industrie informatique.
  • Les systèmes agiles exigent des membres d'équipe hautement qualifiés qui peuvent gérer toutes les phases du projet. Cela nécessite un changement radical dans le rôle d'un chef de projet. Le processus en cascade est structuré de manière plus traditionnelle, linéaire et peut-être plus facile à comprendre pour les non-développeurs et les néophytes en développement logiciel.
  • De nombreuses organisations trouvent la méthodologie Waterfall réconfortante car elle est mieux documentée. Agile est connu pour ne pas mettre l'accent sur une documentation complète. Il dépend davantage des personnes, ce qui peut être inconfortable dans les organisations où le taux d'attrition est élevé.
  • Les petits projets simples peuvent ne pas nécessiter de cadre de méthodologie Agile et un modèle séquentiel en cascade peut également fonctionner.

Où est-ce que tout va?

La méthodologie de développement agile représente plus des deux tiers de tous les projets informatiques aux États-Unis, selon une enquête réalisée par HP en mai 2015.

Mais Agile n'est pas toujours la solution «parfaite». Ce n'est pas une solution «universelle» et, par conséquent, de nombreuses organisations (24% selon l'enquête HP) ont désormais adopté une approche hybride.

Un hybride des méthodes Agile et Waterfall pourrait exploiter les avantages des deux. Cette approche hybride pourrait fonctionner pour des projets complexes avec des clients externes et de grandes équipes. Cette approche a été décrite par Erick Bergmann et Andy Hamilton. Il s'agit d'un compromis entre les deux méthodes, permettant aux équipes logicielles de travailler «agile» tandis que les équipes de développement matériel et les chefs de produit utilisent la méthode traditionnelle.

Mark Fromson, un consultant numérique, souligne une autre façon dont un hybride peut fonctionner:

Diviser le projet en phases de type cascade pour permettre la passation de marchés à offre fixe et la portée définie dans une phase plus petite, mais en gardant le projet fluide dans son ensemble.

Quelle que soit la forme que prendront les futures équipes, il est clair que le développement de la méthodologie Agile est là pour rester. Cela a permis des avantages en termes de flexibilité, de temps et de coûts, ainsi que le facteur le plus important: donner un sentiment de satisfaction et une atmosphère motivante aux personnes qui travaillent sur ces projets.

La source:

Pour le Manifeste Agile et les 12 Principes Agiles - www.agilemanifesto.org

Cours connexes:-

Gestion de projet Agile - Apprenez les méthodologies Agile