In February 2001, at the Snowbird resort in Utah, a team of 17 software developers met to discuss lightweight development methods. The result of their meeting was the following Agile Manifesto for software development:-
We are uncovering the better ways of developing software by doing it and helping others to do it. Through this meeting, we have come to value -
- Individuals and interactions over Processes and tools.
- Working software over comprehensive documentation.
- Customers are collaboration over contact negotiation.
- Responding to change over following a plan.
So that, while there is value in the items on the right, we value the items on the left more.
The Twelve Principle of Agile Manifesto
- Customer Satisfaction: Manifesto provides high priority to satisfy the costumer's requirements. This is done through early and continuous delivery of valuable software.
- Welcome Change: Making changes during software development is common and inevitable. Every changingrequirement should be welcome, evenin the late development phase. Agile process works to increase the customers' competitive advantage.
- Deliver the Working Software: Deliver the working software frequently, ranging from a few weeks to a few months with considering the shortest timeperiod.
- Collaboration: Business people (Scrum Master and Project Owner) and developers must work together during the entire life of a project development phase.
- Motivation: Projects should be build around motivated team members. Provide such environment that supportsindividual team members and trust them. It makes them feel responsible for gettingthe job donethoroughly.
- Face-to-face Conversation: Face-to-face conversation betweenScrum Master anddevelopment team and between the Scrum Master and customers for the most efficient and effective method of conveying information to and within a development team.
- Measure the Progress as per the Working Software: The working software is the key and primary measure of the progress.
- Maintain Constant Pace: The aim of agile development is sustainable development. All the businesses and users should be able to maintain a constant pace with the project.
- Monitoring: Pay regular attention to technical excellence and good design to maximize agility.
- Simplicity: Keep things simple and use simple terms to measure the work that is not completed.
- Self-organized Teams: The Agile team should be self-organized. They should not be depending heavily on other teams because the best architectures, requirements, and designs emerge from self-organized teams.
- Review the Work Regularly: The work should be reviewed at regular intervals, so that the team canreflect on how to become more productive and adjust its behavior accordingly.