Agile Software Processes
Agile methods recognize that change is a major factor during software development; therefore change can be accounted for and anticipated. Agile methods emphasis flexibility during the software development process.
The value statement of the Agile Alliance states:
| 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 there is value in the items on the right, we value the items on the left more. | ||
The principals that the Agile Alliance follows are:
- 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 time scale.
- Business people and developers must work together daily through 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.
Popular Agile methodologies include: Extreme Programming (XP), Crystal Methods, Scrum, and Feature Driven Development.
Author: Laurie Williams and Sarah Heckman
Maintained By: Sarah Heckman
Last Updated: 2008-08-25
Previous
