Four Core Values of The Agile Manifesto

The Agile Manifesto recommends the following four core values for an Agile approach to software development. Each of the agile methodologies(like Scrum, XP, FDD, etc.) have their own way of implementing these four values but all of them rely on these for development and delivery of high quality working software.

1. Individuals and Interactions Over Processes and Tools

Valuing people more highly than processes or tools is easy to understand because it is the people who respond to business needs and drive the development process. If teams align, they can drive the process more effectively while responding faster to the business and functional requirements. When tools and processes dominate the activity, the team members can become less receptive to the needs of the client and eventually, the customers. So, It is always recommended to encourage communication among teams instead of depending on procedures to manage the way forward.

2. Working Software Over Comprehensive Documentation

Traditionally, software development involved coming up with numerous documents as part of the delivery. Technical specifications, technical requirements, technical prospectus, interface design documents, test plans, documentation plans, and approvals were required for each. The list was so extensive that it was a cause for the long delays in development. The agile approach doesn’t wholly defy documentation but offers a developer a working software to get started.

Agile streamlines documentation, and offers developers what they need to maintain their work without getting stalled in technicalities. Agile documents requirements as user stories, which are sufficient for a software developer to begin the task of building a new function. The Agile Manifesto values documentation, but it values working software more.

3. Customer Collaboration Over Contract Negotiation

Contract negotiations usually happen when the customer and the product manager work on the details of the product towards the start of the process with little scope for changes along the way.  With development models such as Waterfall, customers negotiate the requirements for the product, often in great detail, prior to any work starting. This meant the customer was involved in the process of development, before development began and after it was completed, but not during the process. This has not worked well. Agile Manifesto favors customer collaboration which refers to the process of the customer teaming up all through the development procedure.

Agile allows an open-end discussion between the customer and the developers. It enables the coordinated teams to align better with the customer requirements. 

4. Responding to Change Over Following a Plan

The usual approach to the software development process is to avoid any changes since they may incur costs and lead to higher expenses. However, with Agile due to multiple iterations, the tasks keep changing, and with every sprint, these inputs help the project get better and create value. 

With Agile, the shortness of an iteration means priorities can be shifted from iteration to iteration and new features can be added into the next iteration. Agile’s view is that changes always improve a project; changes provide additional value.

You might be interested in the following courses:

Course Category: Development Methodologies

  • The Scrum Crash Course

    by Ajay Kumar Konda

    Scrum is simple; it consists of six time boxes (one of which is optional), three roles, and three ‘official’ artifacts. A sprint, the first of the six time boxes, is an iteration defined by a fixed start and end date; it is kicked off by sprint planning and concluded by the sprint review and retrospective. The […]

  • The Scrum Master's Responsibilities

    by Ajay Kumar Konda

    A ScrumMaster must have a deep understanding of the Scrum framework. The job of a scrum master is to help the customer and the team to work very closely ensure expected deliveries. Scrum Master facilitates the team members to reflect upon ways that they can improve their day-to-day communication and processes. It is the responsibility […]

  • Understanding The Agile Methodology

    by Ajay Kumar Konda

    Agile Methodology refers to the software development methodology that is centered around the idea of iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.  The various Agile Methodologies share much of the same philosophy, many of the same characteristics and practices. But from an implementation standpoint, each of these methodologies has […]

Back to: Understanding The Agile Methodology > Quick Bites