ScholarGate
Assistant

Développement logiciel agile

Le développement logiciel agile est une famille de méthodes itératives et incrémentales qui privilégient les logiciels fonctionnels, la collaboration client et une réponse rapide au changement plutôt qu'une planification et une documentation exhaustives en amont.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Le développement logiciel agile est une approche dans laquelle les exigences et les solutions évoluent à travers de courtes itérations à durée fixe (time-boxed) menées par des équipes pluridisciplinaires (cross-functional teams) qui livrent des incréments fonctionnels et intègrent continuellement les retours des parties prenantes.

Scope

Ce sujet couvre les valeurs et principes du Manifeste Agile ; les cadres de travail concrets tels que Scrum, l'Extreme Programming (XP) et Kanban ; les pratiques incluant les itérations courtes, le feedback continu, le développement piloté par les tests (test-driven development), la programmation en binôme (pair programming), le refactoring et les livraisons fréquentes ; ainsi que les rôles, les cérémonies et les artéfacts qui structurent les équipes agiles.

Core questions

  • Quelles valeurs et quels principes distinguent les méthodes agiles du développement piloté par la planification ?
  • Comment les cadres de travail tels que Scrum et XP structurent-ils les itérations, les rôles et le feedback ?
  • Quelles pratiques d'ingénierie rendent possibles des livraisons fréquentes et fiables ?
  • Quand et dans quelle mesure les méthodes agiles s'adaptent-elles aux grandes organisations ou aux organisations distribuées ?

Key theories

Valeurs du Manifeste Agile
Quatre déclarations de valeurs privilégient les individus et les interactions, les logiciels fonctionnels, la collaboration client et l'adaptation au changement, avec douze principes de soutien soulignant la livraison précoce et continue et l'accueil favorable aux exigences changeantes.
Cadre Scrum
Scrum organise le travail en sprints de durée fixe avec des rôles définis (product owner, scrum master, développeurs), des artéfacts (backlogs de produit et de sprint, incrément) et des événements (planification de sprint, daily scrum, revue, rétrospective) pour livrer de la valeur de manière incrémentale.
Pratiques de l'Extreme Programming
XP associe des itérations courtes à des pratiques d'ingénierie disciplinées telles que le développement piloté par les tests (test-driven development), la programmation en binôme (pair programming), l'intégration continue, la propriété collective et le refactoring pour maintenir un faible coût du changement.

Clinical relevance

Les méthodes agiles sont désormais l'approche dominante dans le développement de logiciels commerciaux, améliorant la réactivité aux marchés changeants et permettant une livraison fréquente de valeur ; leur efficacité dépend de la discipline d'ingénierie, de l'autonomisation des équipes et d'une culture du feedback plutôt que de la seule cérémonie.

Evidence & guidelines

Le Scrum Guide fournit une définition largement adoptée du cadre Scrum, et le Manifeste Agile demeure la déclaration fondatrice des valeurs agiles ; les cadres de mise à l'échelle (scaling frameworks) tels que SAFe et LeSS étendent les pratiques agiles aux grandes organisations.

History

Des méthodes légères (lightweight methods) telles que Scrum et XP sont apparues dans les années 1990 en réaction aux processus lourds et axés sur la documentation (documentation-driven processes). En 2001, dix-sept praticiens ont publié le Manifeste Agile, unifiant ces méthodes sous des valeurs partagées ; l'agilité est ensuite devenue courante (mainstream) et a donné naissance à des cadres de mise à l'échelle (scaling frameworks) dans les années 2010.

Debates

Mise à l'échelle de l'agilité aux grandes organisations
La question de savoir si les principes agiles conservent leurs avantages lorsqu'ils sont mis à l'échelle via des cadres comme SAFe est débattue ; les critiques soutiennent que la mise à l'échelle lourde (heavyweight scaling) réintroduit la bureaucratie, tandis que les partisans considèrent la coordination structurée comme nécessaire pour les grandes entreprises.

Key figures

  • Kent Beck
  • Ken Schwaber
  • Jeff Sutherland
  • Martin Fowler
  • Alistair Cockburn

Related topics

Seminal works

  • beck2001
  • beck2004
  • schwaber2020

Frequently asked questions

L'agilité est-elle l'opposé de l'ingénierie disciplinée ?
Non. Une agilité efficace dépend fortement de la discipline d'ingénierie, telle que les tests automatisés, l'intégration continue et le refactoring ; l'accent agile est mis sur l'adaptation rapide au changement, et non sur l'abandon de la rigueur.
Quelle est la différence entre Scrum et l'agilité ?
L'agilité est l'ensemble large de valeurs et de principes ; Scrum est un cadre spécifique qui les met en œuvre avec des rôles, des événements et des artéfacts particuliers. XP et Kanban sont d'autres cadres agiles avec des accents différents.

Methods for this concept

Related concepts