agile manifesto understanding agile values
Introduction au Manifeste Agile:
Notre précédent tutoriel sur Méthodologie Agile nous a tout expliqué sur les modèles et méthodologies Agile en détail.
Mais jusqu'à présent, nous ne nous demandons pas pourquoi il y avait un besoin d'agilité en premier lieu et comment l'agilité a surmonté les lacunes des méthodologies de développement logiciel existantes comme le modèle en cascade.
Dans ce tutoriel, nous approfondirons les détails de l'agilité et du manifeste agile. Nous verrons ce que dit le manifeste et quelles sont les valeurs et principes qui y sont consacrés.
Ce que vous apprendrez:
- introduction
- Manifeste Agile
- Les 4 valeurs Agile
- Les 12 principes Agile
- Conclusion
- lecture recommandée
introduction
Comme nous l'avons vu dans notre tutoriel précédent , les méthodologies de développement antérieures prenaient trop de temps et au moment où le logiciel était prêt à être déployé, les exigences commerciales auraient changé, ne répondant donc pas aux besoins actuels.
La rapidité du changement qui faisait défaut à l'époque posait beaucoup de problèmes. Lorsque les dirigeants de différentes méthodologies de développement se sont réunis pour décider de la voie à suivre, ils ont pu se mettre d'accord sur une meilleure méthode et ont également été en mesure de finaliser le libellé du manifeste.
Cela a été capturé comme 4 valeurs et 12 principes afin d'aider les praticiens à le comprendre, s'y référer et le mettre en pratique. Et à ce moment-là, aucun d'entre eux n'aurait pu imaginer l'impact que cela aurait sur l'avenir de la gestion de projet.
Manifeste Agile
Le manifeste a été très soigneusement rédigé pour capturer l'essence de l'agilité en un minimum de mots et il se lit comme suit -
«Nous découvrons de meilleures façons de développer un logiciel en le faisant et en aidant les autres à le faire. Grâce à ce travail, nous sommes arrivés à la valeur ci-dessous:
quelle est la clé de sécurité sur le routeur
- Les individus et les 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, même s'il y a de la valeur dans les éléments de droite, nous valorisons davantage les éléments de gauche. »
Comme nous pouvons le voir, ce sont des déclarations assez concises et simples et indiquent très clairement ce que les fondateurs voulaient promouvoir. Habituellement, les plans de projet traditionnels sont rigides et mettent l'accent sur les procédures et les délais, mais le manifeste agile propage exactement les choses opposées.
Il préfère:
- Gens
- Produit
- Communication et
- Réactivité
Nous explorerons ce nouveau paradigme que les fondateurs ont voulu promouvoir en détail en approfondissant la compréhension des valeurs et des principes agiles.
Les 4 valeurs Agile
Les quatre valeurs ainsi que les 12 principes guident la livraison de logiciels agiles. Nous allons maintenant discuter de chacune des valeurs en détail.
# 1) Les individus et les interactions sur les processus et les outils
Les individus et les interactions sont préférés aux processus et aux outils car cela rend le processus plus réactif. Si les individus sont alignés et une fois qu'ils se comprennent, l'équipe peut résoudre tout problème avec les outils ou les processus.
Mais si les équipes insistent pour s'en tenir aveuglément aux processus, cela pourrait provoquer des malentendus entre les individus et créer des obstacles inattendus, entraînant ainsi des retards dans le projet.
C’est pourquoi il est toujours préférable d’avoir des interactions et une communication entre les membres de l’équipe plutôt que de dépendre aveuglément des processus pour guider la marche à suivre. L'un des moyens d'y parvenir est d'avoir un Product Owner impliqué qui travaille et peut prendre des décisions en collaboration avec l'équipe de développement.
Permettre aux individus de contribuer seuls leur permet également de présenter librement ce qu'ils peuvent apporter à la table. Lorsque ces interactions d'équipe visent à résoudre un problème commun, les résultats peuvent être assez puissants.
# 2) Logiciel de travail sur une documentation complète
La gestion de projet traditionnelle impliquait une documentation complète qui impliquait un décalage de plusieurs mois. Cela avait un impact négatif sur la livraison du projet et les retards qui en résultaient étaient inévitables.
Le type de documentation créée pour ces projets était très détaillée et tellement de documents ont été créés que beaucoup d'entre eux n'ont même pas été mentionnés au cours de l'avancement du projet. C'était un mal inutile avec lequel les équipes de projet avaient l'habitude de vivre.
Mais cela a également exacerbé les problèmes de livraison. L'accent était mis sur la documentation à tel point que les équipes voulaient aboutir à un produit fini qui était à 100% conforme aux spécifications. C’est pourquoi l’accent a été mis sur la capture de toutes les spécifications en détail.
Mais encore, le produit final était autrefois assez différent des attentes ou aurait perdu de sa pertinence. C’est la raison pour laquelle Agile affirme qu’un logiciel fonctionnel est une bien meilleure option pour évaluer les attentes des clients que des tas de documentation.
Cela n'implique pas que la documentation n'est pas nécessaire. Cela signifie simplement qu'un produit fonctionnel est à tout moment un meilleur indicateur d'alignement sur les besoins et les attentes du client qu'un document créé il y a des mois. Cela implique également que les équipes soient réactives et prêtes à s'adapter au changement au fur et à mesure des besoins tout en montrant le logiciel de travail au client à la fin du sprint.
Le fait de ne pas tester le produit pendant les sprints entraîne des coûts et des efforts multiples lors du prochain sprint. Une fois la fonctionnalité déployée, le coût de ces changements augmente encore de manière significative.
3. Collaboration client lors de la négociation de contrat
La négociation signifie que les détails sont toujours en cours de saisie et n'ont pas été finalisés. Il y a encore des possibilités de renégociation. Mais une fois la négociation terminée, il ne peut y avoir de discussion à ce sujet. Ce que dit agile, c'est qu'au lieu de la négociation, optez pour la collaboration.
La collaboration implique qu'il y a encore de la place pour la discussion et que la communication se poursuit.
Pas une chose ponctuelle. Ce que cela fait, c'est que cela donne un double avantage - bien que cela aide l'équipe à faire une correction de cap si nécessaire à un stade antérieur, cela aide le client à affiner également sa vision et à redéfinir ses exigences si nécessaire au cours de la projet.
L'autre aspect est que si les modèles de développement logiciel traditionnels impliquent le client avant le début du développement pendant la phase de documentation et de négociation, ils ne sont pas aussi impliqués pendant le développement du projet.
Une fois que les exigences ont été congelées, ils ne voient que le produit, une fois que le produit est prêt. Agile franchit également cette barrière en permettant l'implication du client tout au long du cycle de vie.
Cela aide les équipes agiles à mieux s'aligner sur les besoins des clients. L'un des moyens d'y parvenir est de faire appel à un chef de produit dédié et impliqué qui peut aider l'équipe en temps réel pour obtenir des clarifications et aligner le travail sur les priorités du client.
4. Répondre au changement en suivant un plan
Le processus de réflexion standard est que les changements sont une affaire coûteuse et que nous devons éviter les changements à tout prix. C’est l’importance inutile de la documentation et des plans élaborés à livrer en respectant les délais et les spécifications du produit.
Mais comme l'expérience nous l'enseigne également, les changements sont pour la plupart inévitables et au lieu de les fuir, nous devrions essayer de les accepter et de les planifier.
Agile nous permet de faire cette transition. Ce que pense Agile, c'est que le changement n'est pas une dépense, c'est un retour d'information bienvenu qui contribue à améliorer le projet. Il ne faut pas l'éviter mais au contraire, cela ajoute de la valeur.
Avec les sprints courts proposés par agile, les équipes peuvent obtenir un retour rapide et changer de priorités dans un bref délai. De nouvelles fonctionnalités peuvent être ajoutées d'itération en itération.
Pourquoi faisons-nous cela? Parce que la plupart des fonctionnalités développées à l'aide de l'approche en cascade ne sont jamais utilisées. En effet, le modèle en cascade suit le plan alors que c'est la phase où l'on en sait le moins.
Agile planifie également, mais il suit également l'approche juste à temps où la planification est effectuée juste assez en cas de besoin. Et les plans sont toujours ouverts au changement au fur et à mesure que les sprints progressent.
Les 12 principes Agile
Il y a 12 principes agiles qui ont été ajoutés après la création du manifeste afin d'aider et de guider les équipes dans la transition vers l'agilité et de vérifier si les pratiques qu'elles suivent sont en phase avec la culture agile.
Voici le texte des 12 principes originaux, publiés en 2001 par l'Agile Alliance:
#1) Notre priorité absolue est de satisfaire le client grâce à la livraison rapide et continue d'un logiciel précieux.
#deux) Accueillez les besoins changeants, même tard dans le développement. Les processus agiles exploitent le changement pour l’avantage concurrentiel du client.
# 3) Fournissez fréquemment des logiciels fonctionnels, de quelques semaines à quelques mois, avec une préférence pour les délais plus courts.
# 4) Les professionnels et les développeurs doivent travailler ensemble au quotidien 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 de l'équipe de développement est une conversation en face à face.
# 7) Le logiciel de travail est la principale mesure du progrès.
# 8) Les processus agiles favorisent le développement durable. Les sponsors, les développeurs et les utilisateurs devraient être en mesure de maintenir un rythme constant indéfiniment.
# 9) Une attention continue à l'excellence technique et à une bonne conception améliore l'agilité.
# dix) Simplicité - l'art de maximiser la quantité de travail non effectué est très essentiel.
#Onze) Les meilleures architectures, exigences et conceptions émergent d'équipes auto-organisées.
N ° 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.
Ces principes agiles fournissent des conseils pratiques aux équipes de développement.
Une autre manière d'organiser les 12 principes est de les considérer dans les quatre groupes distincts suivants:
- Satisfaction du client
- Qualité
- Travail en équipe
- Gestion de projet
#1) Notre priorité absolue est de satisfaire le client grâce à la livraison rapide et continue d'un logiciel précieux - Les clients seront évidemment ravis de voir un logiciel opérationnel être livré à chaque sprint plutôt que de devoir passer par une période d'attente ambiguë à la fin de laquelle ils seront seuls à voir le produit.
Ici, le client peut être défini comme le sponsor du projet ou la personne qui paie pour le développement. L'utilisateur final du produit est également un client, mais nous pouvons faire la différence entre les deux car l'utilisateur final est appelé utilisateur.
#deux) Accueillez les besoins changeants, même tard dans le développement. Les processus agiles exploitent le changement pour l’avantage concurrentiel du client - Les changements peuvent être incorporés sans trop de retards dans les délais globaux.
Étant donné que les équipes agiles croient en la qualité avant tout, elles préfèrent intégrer les changements et livrer selon les exigences du client plutôt que d'éviter les changements et de fournir un produit qui ne répond pas aux besoins de l'entreprise.
# 3) Fournissez fréquemment des logiciels fonctionnels, de quelques semaines à quelques mois, avec une préférence pour les délais plus courts - Ceci est pris en charge par les équipes travaillant dans les sprints. Étant donné que les sprints sont des itérations temporelles et fournissent un logiciel fonctionnel à la fin de chaque sprint, les clients ont régulièrement une idée de la progression.
# 4) Les gens d'affaires et les développeurs doivent travailler ensemble quotidiennement tout au long du projet - De meilleures décisions sont prises lorsque les deux travaillent en collaboration et qu'il existe une boucle de rétroaction constante entre les deux pour la correction de cap et l'agilité au changement. La communication entre les parties prenantes est toujours la clé de l'agilité.
# 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 - Il faut soutenir, faire confiance et motiver les équipes. Une équipe motivée a plus de chances de réussir et fournira un produit de qualité supérieure qu'une équipe mécontente qui ne veut pas donner le meilleur d'elle-même.
L'un des moyens d'y parvenir est de permettre à l'équipe de développement de s'auto-organiser et de prendre ses propres décisions.
# 6) La méthode la plus efficace et la plus efficace pour transmettre des informations à et au sein de l'équipe de développement est une conversation en face à face - La communication est meilleure et plus efficace si les équipes sont au même endroit et peuvent se rencontrer en personne pour discuter. Il contribue à instaurer la confiance et amène la compréhension entre les différentes parties prenantes.
# 7) Le logiciel de travail est la principale mesure du progrès - Un logiciel fonctionnel bat tous les autres KPI et constitue le meilleur indicateur du travail effectué.
# 8) Les processus agiles favorisent le développement durable. Les sponsors, développeurs et utilisateurs devraient être en mesure de maintenir un rythme constant indéfiniment - La cohérence de la livraison est soulignée. L'équipe doit être capable de maintenir son rythme pendant toute la durée du projet et de ne pas s'épuiser après les premiers sprints.
# 9) Une attention continue à l'excellence technique et à une bonne conception améliore l'agilité - L'équipe doit avoir toutes les compétences et une bonne conception de produit pour gérer les changements et produire un produit de haute qualité tout en étant capable d'incorporer les changements
# dix) Simplicité - L'art de maximiser la quantité de travail non effectué est essentiel et suffit juste pour répondre à la définition de fait.
#Onze) Les meilleures architectures, exigences et conceptions émergent d'équipes auto-organisées - Les équipes auto-organisées sont responsabilisées et s'approprient leur travail. Cela conduit à une communication ouverte et à un partage régulier des idées entre les membres de l'équipe.
N ° 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 - L'auto-amélioration conduit à des résultats plus rapides et moins de retouches.
Conclusion
L'orientation client et l'accent mis sur la communication ont apporté le succès à l'agilité qui est visible aujourd'hui.
C'est une technique éprouvée qui a des implications non seulement dans la livraison de logiciels, mais également dans d'autres industries et aujourd'hui, elle est devenue une industrie en soi.
Notre prochain tutoriel dans cette série vous en expliquera plus sur l'équipe Scrum ainsi que sur leurs rôles !!
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Quiz Agile Scrum en ligne: Testez vos connaissances sur Agile Scrum
- Le changement d'état d'esprit d'un testeur Agile: s'aligner sur le manifeste Agile
- Kanban vs Scrum vs Agile: une comparaison détaillée pour trouver les différences
- Comment fournir des fonctionnalités logicielles de grande valeur dans un court laps de temps à l'aide du processus Agile Scrum
- Tutoriel SAFe Agile: Qu'est-ce que Scaled Agile Framework
- 4 étapes pour développer l'état d'esprit des tests agiles pour une transition réussie vers un processus agile
- Tutoriel JIRA Agile: Comment utiliser efficacement JIRA pour gérer des projets Agile
- Pratique DevOps basée sur le manifeste Agile (Partie 2 - Bloc 1)