What are the 4 pillars of Agile?
The Agile Manifesto was founded in 2001 with the aim of “uncovering better ways of developing software by doing it and helping others do it.” The document includes four core values, also known as the pillars of Agile. These Agile pillars help guide teams as they navigate their projects.
The four Agile pillars are as follows:
1: Individuals and interactions over processes and tools
The first of the Agile pillars outlines the most important priority: people. You should communicate regularly with your Agile teams and ensure each member feels like a valued employee. Processes and tools are useful assets to have, but they are there to support your teams, not overshadow them. The best Agile projects will be driven by engaged individuals that interact well with one another.
2: Working software over comprehensive documentation
The Agile Manifesto was designed to remove the frustrations of “documentation-driven, heavyweight software development processes.” Instead of wasting time preparing detailed product specifications, Agile teams summarize all relevant information in a single user story. This streamlined approach means developers can get to work right away and prepare their software for release. The idea here is to get a working deliverable out and refine it later, rather than trying to document everything before the work even begins.
3: Customer collaboration over contract negotiation
Customer collaboration is one of the most well-known Agile pillars. It is viewed as favorable to contract negotiation, where the customer’s desired deliverables are noted in a legal contract before the software development process begins. If the finished product does not meet expectations, a contract renegotiation has to take place. Under the Agile philosophy, however, customers are invited to collaborate with developers throughout the software development life cycle, offering their thoughts and potential suggestions while the product is being built. This way, their feedback is baked into the development process, meaning the end deliverable is more likely to be compatible with the user’s specific needs.
4: Responding to change over following a plan
Merriam-Webster’s definition of the word ’agile’ is “having a quick, resourceful, and adaptable character.” This matches the description of Agile team members, who are open to change and willing to adapt their software to ensure that the final deliverable is the best it can be. This Agile mindset contrasts with traditional methodologies such as Waterfall, which aims to avoid change and stick to the original project plan as much as possible.
The four pillars of Agile are at the heart of successful software development. The Agile Manifesto also includes 12 principles, which go into more specific detail than the Agile pillars. You can read them here.