In the last few articles, you have gone through the details about various concepts of project management like 7 Most Popular Project Management Types & When to Use them and what is Agile Methodology – History and Origination?. Now let’s move further on details of agile values and principles mentioned in Agile Manifesto. We’ll start with history of Agile Manifesto.
Table of Contents
- History of Agile Manifesto
- 4 Values of Agile
- 12 Principles of Agile
- How to use Agile Values and Principles?
Agile Manifesto is a document which tells about its values and principles. There are four values and twelve principles that its authors believe software developers should use to guide their work. It is formally called as Manifesto for Agile Software Development. Agile Manifesto is the consequences of industry frustration in the 1990s. It was produced by 17 developers during an outing on Feb. 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch Mountains of Utah.
These people had named themselves “The Agile Alliance,” this group of independent thinkers about software development, and sometimes competitors to each other, agreed on the Manifesto for Agile Software Development.
Agile guides to work as a group of people who held a set of compatible values, a set of values based on trust and respect for each other and promoting organizational models based on people, collaboration, and building the types of organizational communities in which we would want to work.
It believes Agile Methodologists are really about “mushy” stuff—about delivering good products to customers by operating in an environment that does more than talk about “people as our most important asset” but actually “acts” as if people were the most important, and lose the word “asset”. So in the final analysis, the meteoric rise of interest in—and sometimes tremendous criticism of—Agile Methodologies is about the mushy stuff of values and culture.
In the discussion one of 17 developers, Kent Beck tells the story of an early job in which he estimated a programming effort of six weeks for two people. After his manager reassigned the other programmer at the beginning of the project, he completed the project in twelve weeks—and felt terrible about himself! The boss—of course—harangued Kent about how slow he was throughout the second six weeks.
Kent, somewhat despondent because he was such a “failure” as a programmer, finally realized that his original estimate of 6 weeks was extremely accurate—for 2 people—and that his “failure” was really the manager’s failure , indeed, the failure of the standard “fixed” process mindset that so frequently plagues our industry.
It is correct that above mentioned situations occur every day in our work. Marketing, or management, or external customers, internal customers, and, yes, even developers—don’t want to make hard trade-off decisions.
Agile movement also supports word methodology because most of us like it and want to continue the credibility on this word methodology. As per Agile Manifesto, the developers’ stated goal was not anti-methodology, but rather “to restore credibility to the word methodology.”
Furthermore, the developers express a desire to find a balance between the existing ways of development and new the alternatives. They admit to accepting modeling and documentation, but only when it has a clear, beneficial use. The developers also explain that while planning is important, it is also necessary to accept that plans change and to allow flexibility for these modifications. Overall, the Manifesto focuses on valuing individuals and interactions over processes and tools.
The Agile Alliance was seeking an alternative to waterfall model which it described as “documentation driven, heavyweight software development processes.”
The four core values of agile software development as stated by the Agile Manifesto are:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Value of the items on left side is more than right side.
The twelve principles of agile development include:
- Customer satisfaction through early and continuous software delivery – Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
- Accommodate changing requirements throughout the development process – The ability to avoid delays when a requirement or feature request changes.
- Frequent delivery of working software – Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
- Collaboration between the business stakeholders and developers throughout the project – Better decisions are made when the business and technical team are aligned.
- Support, trust, and motivate the people involved – Motivated teams are more likely to deliver their best work than unhappy teams.
- Enable face-to-face interactions – Communication is more successful when development teams are co-located.
- Working software is the primary measure of progress – Delivering functional software to the customer is the ultimate factor that measures progress.
- Agile processes to support a consistent development pace – Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
- Attention to technical detail and design enhances agility – The right skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change.
- Simplicity – Develop just enough to get the job done for right now.
- Self-organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members, who have decision-making power, takes ownership, communicate regularly with other team members, and share ideas that deliver quality products.
- Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.
Although agile was documented for software industry initially, it is spread to many other industries.
Agile approach is embodiment of mindset, values and principles. There are various agile approaches today which shares common roots with agile mindset, values, and approaches. The relation is shown in above image.
Agile provides 4 values which are applied using 12 principles. There may be multiple practices as per you or your organization’s need. There are various examples of existing mindsets like Lean or Kanban which are using agile mindsets as a core.
Globally, there are few other methods (e.g. TDD, FDD, Crystal, XP, DSDM etc) and frameworks (e.g. LeSS, SCRUM, SAFe, Nexus) which follow Agile Manifesto of 4 values and 12 principles.
Agile approaches and agile methods are umbrella terms that cover variety of frameworks and methods. Agile can be visualized as blanket, which keeps any kind of approach, technique, framework, method or practice that fulfills the value and principles of Agile Manifesto.
Agile Manifesto allows you to adopt a formal agile approach, designed and proven to achieve desired results. Then take time to learn and understand by practicing selected agile approach before changing or tailoring them. You also follow another strategy by implementing changes to project practices in a manner that fits the project context to achieve progress on a core value or principle. Changes do not need to be the part of the organization’s formal practice.
This article has provided information about Agile Manifesto and their 4 Values with 12 Principles. It has also described about history of Agile Manifesto. You have also got to know the strategies of using Agile approaches in your projects for valuable customers.
Agile, as outlined in the Agile Manifesto, is considered a philosophy, but there are other specific methodologies and frameworks that formalize many or all the ideas presented in the Agile Manifesto.
For example, Scrum is a framework for managing and controlling iterative projects where the product owner works with cross-functional teams to create a list of tasks to be done. This list is known as the product backlog.
Other frameworks and methodologies include Kanban, Crystal, Lean and Extreme Programming (XP), all of which have elements that draw from agile philosophies.
Can you tell us, which agile framework are you using in your project?
Most Popular Articles
THREE QUERIES is SharePoint, front-end, back end web technologies and project management resource that helps developers, artchitect and managers at all levels to improve their performance. We provide an important knowledge base for those involved in managing, architecture and developing projects of all kinds. With weekly exclusive updates, we keep you in touch with the latest SharePoint, front-end, back end web technologies and project management thinking.
WE ARE CONNECTED ~ Follow us on social media to get regular updates and opinion on what's happening in the world of SharePoint, front-end, back end web technologies and project management. If you like this article, please share it and follow us at Facebook, Twitter, Instagram, Pinterest and LinkedIn