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.