The Manifesto for Agile Software Development
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 pronciples:
-
Priority One: 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 for 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 with
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.