The Manifesto for Agile Software Development

Seventeen anarchists agree:


We are uncovering better ways of developing software by doing it and helping others do it. Through this
work we have come to value:



  • Individuals and interactions over processes and tools.

  • Working software over comprehensive documentation.

  • Customer collaboration over contract negotiation.

  • Responding to change over following a plan.


That is, while we value the items on the right, we value the items on the left more.
We follow the following principles:



  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  • Business people and developers work together daily throughout the project.

  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  • Working software is the primary measure of progress.

  • Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.

  • Continuous attention to technical excellence and good design enhances agility.

  • Simplicity—the art of maximizing the amount of work not done—is essential.

  • The best architectures, requirements and designs emerge from self-organizing teams.

  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.


—Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

Par Seventeen anarchists @ www.agileAlliance.org, 1 page

Scrum

Scrum est une méthode agile pour la gestion de projets. Elle a été conçue pour améliorer grandement la productivité dans les équipes auparavant paralysées par des méthodologies plus lourdes. Les racines de Scrum se retrouvent dans la publication de Takeuchi et Nonaka dans "The New New Product Development Game"1 pour l'aspect méthaphore du Rugby ainsi que pour les notions d'ingénierie concourante et dans la rupture méthodologique qualifiée d'itérative, incrémentale et adaptative (par rapport au modèle cascade) dont la première version opérationnelle a été publiée par James Martin en 1991 sous le nom de RAD, en ce qui concerne sa structure fondamentale.

La méthode Scrum a été conçue pour la gestion de projets de développement de logiciels. Elle peut aussi être utilisée par des équipes de maintenance. Dans le cas de très grands projets, les équipes se multiplient et on parle alors le Scrum de Scrums. La méthode Scrum peut théoriquement s'appliquer à n'importe quel contexte où un groupe de personnes a besoin de travailler ensemble pour atteindre un but commun - comme gérer une petite école, des projets de recherche scientifique ou planifier un mariage. Par contre, la méthode Scrum ne couvre aucune technique d'ingénierie du logiciel. Aussi, son utilisation dans le contexte du développement d'une application informatique, nécessite de lui adjoindre une méthode complémentaire comme XP (par exemple) Extreme Programming.

Voir aussi