Histoire du Manifeste Agile
Le Manifeste Agile et les Douze principes du logiciel Agile sont les conséquences de la frustration de l’industrie dans les années 1990. L’énorme décalage entre les besoins des entreprises (les applications et les fonctionnalités demandées par les clients) et la livraison de la technologie répondant à ces besoins, a conduit à l’annulation de nombreux projets. Les activités, les exigences et les demandes des clients ont changé pendant ce laps de temps, le produit final ne répondait donc pas aux besoins du moment. Les modèles de développement de logiciels de l’époque, menés par le modèle Waterfall, ne répondaient pas à la demande de rapidité et ne tiraient pas parti de la rapidité avec laquelle les logiciels pouvaient être modifiés.
En 2000, un groupe de dix-sept « leaders d’opinion », dont Jon Kern, Kent Beck, Ward Cunningham, Arie van Bennekum, et Alistair Cockburn, s’est d’abord réuni dans un hôtel de l’Oregon, puis, en 2001, au Lodge de la station de ski de Snowbird, dans l’Utah. C’est lors de la deuxième réunion que le Manifeste Agile et les Douze Principes ont été formellement rédigés. Le Manifeste dit :
« Nous découvrons de meilleures façons de développer
un logiciel en le créant et en aidant les autres à l’élaborer.
Grâce à ce travail, nous avons appris à apprécier :
Les individus et interactions plutôt que les processus et outils
Le logiciel fonctionnel et la documentation complète
La collaboration avec le client plutôt que la négociation du contrat
Réagir au changement plutôt que de suivre un plan
« C’est à dire, bien qu’il y ait de la valeur dans les éléments
de droite, nous accordons plus de valeur aux éléments de gauche. »
Pour trouver une large sélection de modèles Agile gratuits pour votre prochain projet Agile, consultez les meilleurs modèles Excel de gestion de projets Agile.
A better, more agile way to plan, track, and manage your projects with Smartsheet
Smartsheet is a cloud-based platform that allows teams and organizations to plan, manage, and report on projects, helping you iterate more effectively and achieve more. See Smartsheet in action.
Agile Project Management E-book
How can Agile PM help you do more with less?
Agile project management empowers teams to adapt to change with increased speed and flexibility. Learn how to implement Agile PM and get the most out of the methodology.
Les quatre valeurs du Manifeste Agile
Le Manifeste Agile est composé de quatre valeurs fondamentales et de 12 principes de soutien qui guident l’approche Agile du développement logiciel. Chaque méthodologie Agile applique les quatre valeurs de manière différente, mais toutes s’appuient sur elles pour guider le développement et la livraison de logiciels fonctionnels de grande qualité.
1. Les individus et les interactions plutôt que les processus et les outils
La première valeur du Manifeste Agile se base sur « les individus et les interactions plutôt que les processus et les outils. » Accorder plus de valeur aux personnes qu’aux processus ou aux outils est facile à comprendre, car ce sont les personnes qui répondent aux besoins de l’entreprise et qui sont le moteur du processus de développement. Si le processus ou les outils dirigent le développement, l’équipe est moins réactive au changement et moins susceptible de répondre aux besoins des clients. La communication est un exemple de la différence entre la valorisation des individus et celle des processus. Dans le cas des individus, la communication est fluide et s’établit quand le besoin s’en fait sentir. Dans le cas d’un processus, la communication est planifiée et nécessite un contenu spécifique.
2. Logiciel fonctionnel et documentation complète
Historiquement, un temps considérable était consacré à la documentation du produit pour le développement et la livraison finale. Spécifications techniques, exigences techniques, prospectus technique, documents de conception d’interface, plans de test, plans de documentation et approbations requises pour chacun. La liste était longue et a été la cause de longs retards de développement. Le Manifeste Agile ne supprime pas la documentation, mais la rationalise sous une forme qui donne au développeur ce dont il a besoin pour faire son travail, sans s’embarrasser de détails. Le Manifeste Agile documente les exigences sous forme de récits d’utilisateurs (« user stories »), qui sont suffisants pour qu’un développeur de logiciels puisse commencer la tâche consistant à construire une nouvelle fonction.
Le Manifeste Agile accorde de l’importance à la documentation, mais il en accorde encore plus au logiciel fonctionnel.
3. La collaboration avec le client plutôt que la négociation du contrat
La négociation est la période pendant laquelle le client et le chef de produit définissent les détails d’une livraison, avec des points en cours de route où les détails peuvent être renégociés. La collaboration est un domaine entièrement différent. Avec les modèles de développement tels que Waterfall, les clients négocient les exigences du produit, souvent de manière très détaillée, avant que le travail ne commence. Cela signifie que le client était impliqué dans le processus de développement avant le début du développement et après son achèvement, mais pas pendant le processus. Le Manifeste Agile décrit un client qui s’engage et collabore tout au long de la création du processus de développement. Il est ainsi beaucoup plus facile pour le développement de répondre aux besoins du client. Les méthodes Agile peuvent inclure le client à intervalles réguliers pour des démonstrations périodiques, mais un projet pourrait tout aussi bien avoir un utilisateur final faisant partie de l’équipe au quotidien et participant à toutes les réunions, dans le but de s’assurer que le produit répond aux besoins du client.
4. Réagir au changement plutôt que de suivre un plan
Avec le développement traditionnel de logiciels, le changement était considéré comme une dépense et il fallait donc l’éviter. L’intention était de développer des plans détaillés et élaborés, avec un ensemble défini de fonctionnalités et généralement, tout ayant une priorité aussi élevée que le reste, avec un grand nombre d’interdépendances à livrer dans un certain ordre, afin que l’équipe puisse travailler sur la prochaine pièce du puzzle.
Avec Agile, la brièveté d’une itération signifie que les priorités peuvent être déplacées d’une itération à l’autre et que de nouvelles fonctionnalités peuvent être ajoutées à l’itération suivante. Le point de vue d’Agile est que les changements améliorent toujours un projet. Les changements apportent une valeur ajoutée.
Rien n’illustre peut-être mieux l’approche positive d’Agile à l’égard du changement que le concept d’adaptation de la méthode, défini dans Une méthode de développement des systèmes d’information Agile en usage comme : « Un processus ou une capacité dans lequel (laquelle) les personnes déterminent une approche de développement de système pour une situation de projets spécifique via des changements réactifs et des interactions dynamiques entre des contextes, des intentions et des fragments de méthode. » Les méthodologies Agile permettent à l’équipe Agile de modifier le processus et de l’adapter à l’équipe plutôt que l’inverse.
Les douze principes du Manifeste Agile
Les douze principes sont les principes directeurs des méthodologies qui sont regroupées sous l’intitulé « Le mouvement Agile. » Ils décrivent une culture dans laquelle le changement est bienvenu et où le client est au centre du travail. Ils démontrent également l’intention du mouvement, telle que décrite par Alistair Cockburn, l’un des signataires du Manifeste Agile, qui est d’aligner le développement sur les besoins de l’entreprise.
Les douze principes du développement agile sont les suivants :
- Satisfaction des clients grâce à la livraison précoce et continue des logiciels : les clients sont plus satisfaits lorsqu’ils reçoivent des logiciels fonctionnels à intervalles réguliers, plutôt que d’attendre de longues périodes entre deux versions.
- Tenir compte de l’évolution des exigences tout au long du processus de développement : la capacité d’éviter les retards lorsqu’une exigence ou une demande de fonctionnalité change.
- Livraison fréquente de logiciels fonctionnels : Scrum tient compte de ce principe puisque l’équipe fonctionne par « sprints », ou itérations logicielles, qui garantissent la livraison régulière de logiciels fonctionnels.
- Collaboration entre les acteurs commerciaux et les développeurs tout au long du projet : de meilleures décisions sont prises lorsque l’équipe commerciale et l’équipe technique sont alignées.
- Assister, faire confiance et motiver les personnes concernées : les équipes motivées sont plus susceptibles de fournir un meilleur travail que les équipes mécontentes.
- Favoriser les interactions en face à face : la communication est plus efficace lorsque les équipes de développement sont situées au même endroit.
- Le logiciel fonctionnel est la principale mesure du progrès : la livraison d’un logiciel fonctionnel au client est le facteur ultime qui mesure l’avancement.
- Des processus Agile pour soutenir un rythme de développement cohérent : les équipes établissent une cadence reproductible et tenable à laquelle elles peuvent livrer un logiciel fonctionnel, en la répétant à chaque version.
- L’attention portée aux détails techniques et à la conception améliore l’agilité : les bonnes compétences et une bonne conception permettent à l’équipe de maintenir le rythme, d’améliorer constamment le produit et de soutenir le changement.
- Simplicité : développez juste suffisamment pour effectuer le travail pour le moment.
- Les équipes auto-organisées favorisent l’élaboration d’architectures, d’exigences et de conceptions de qualité : des membres d’équipe compétents et motivés qui ont un pouvoir de décision, s’approprient le projet, communiquent régulièrement avec les autres membres de l’équipe et partagent leurs idées afin de fournir des produits de qualité.
- Réflexions régulières sur la manière de devenir plus efficace : l’auto-amélioration, l’amélioration des processus, le perfectionnement des compétences et des techniques aident les membres de l’équipe à travailler plus efficacement.
L’intention d’Agile est d’aligner le développement sur les besoins des activités. Le succès d’Agile est évident. Les projets Agile sont axés sur le client en encourageant son orientation et sa participation. En conséquence, Agile est devenu une vision globale du développement logiciel dans l’ensemble de l’industrie du logiciel et une industrie à part entière.
Utiliser Smartsheet pour démarrer avec la méthode Agile
Smartsheet est un outil de gestion des tâches et des projets, inspiré des feuilles de calcul et doté de puissantes fonctionnalités de collaboration et de communication, essentielles à la gestion de projets Agile. Vous pouvez effectuer des actualisations en temps réel et alerter votre équipe sur les nouveaux changements. Mais aussi partager votre plan avec les parties prenantes internes et externes, en vue d’accroître la transparence et garder tout le monde sur la même longueur d’onde.
Comme Smartsheet est basé sur le cloud, vous pouvez suivre les exigences du projet, accéder aux documents, créer des échéanciers et envoyer des alertes depuis pratiquement n’importe où. Choisissez parmi une large gamme d’affichages intelligents : Grille, Agenda, Gantt ou Tableaux de bord, et gérez les projets comme vous le souhaitez. De plus, avec notre nouvel affichage en Mode Carte, les équipes disposent d’un moyen plus visuel de travailler, de communiquer et de collaborer dans Smartsheet. Le Mode Carte vous permet de concentrer votre attention avec la richesse des cartes, de donner une perspective avec des visualisations flexibles, mais aussi de hiérarchiser et d’ajuster le travail de manière plus visuelle. Agissez sur les tâches et modifiez le statut d’avancement du travail en glissant et déposant des cartes dans les couloirs, ce qui permet de partager immédiatement les décisions avec toute l’équipe.