The Agile Manifesto (or formally the “Manifesto for Agile Software Development”) was produced in 2001 at the Lodge at Snowbird ski resort (Utah). Created by 17 developers (the Agile Alliance,) is a proclamation that articulates 12 principles and four critical values that software developers should use as their work guidance. The Agile Alliance considered software development processes to be too focused on documentation requirements, unresponsive, and cumbersome, so they were seeking an overhaul.
The Purpose of Agile Manifesto
According to its creators, the four fundamental values outlined in the Manifesto, promote software developments processes that focus on quality – creating products that meet the needs and expectations of the consumer. As for the 12 principles, they are intended to develop and support a consumer-focused work environment that can respond to the ever-changing market and consumer needs and align to business objectives quickly.
The Four Values
The four core values stated by the Agile Manifesto are:
Working software over comprehensive documentation;
Individuals and interactions over processes and tools;
Responding to change over following a plan; and
Customer collaboration over contract negotiation.
The Twelve Principles
The twelve principles based on the Agile Manifesto are:
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Our highest priority is to satisfy the customer through the early and continuous delivery of valuable software.
Build projects around motivated individuals. Give them the environment, support their need, and trust them to get the job done.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
The most efficient and effective method of conveying information to and within a development team is the face-to-face conversation.
Business people and developers must work together daily throughout the project.
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.
Working software is the primary measure of progress.
The best architectures, requirements, and designs emerge from self-organizing teams.
Simplicity - the art of maximizing the amount of work not done - is essential.
At regular intervals, the team reflects on how to become more active, then tunes and adjusts its behavior accordingly.
What Agile Manifesto is Not
People who love Agile and those who hate it often engage in debates, which shows that there’s confusion about what Agile is. Some believe that is a software development methodology, while many others consider it to be a philosophical approach that promotes continuous improvement, small iterations, and collaboration. According to the Agile Manifesto creators, its goal is not anti-methodology, but to restore credibility to the word “methodology.”
"We want to restore a balance. We embrace modeling, but not to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment."
Titanium Cobra team of professionals leverage these processes and principles with our clients to overcome numerous software production challenges within their organizations.