logo
×

Agile Manifesto: 12 Principles and 4 Values

article-banner

The Agile manifesto, also called the Manifesto for Agile software development, was created by 17 software developers in the year 2001, when they were on an outing in Utah, US. Their aim was to create an alternate development process to the then-existing process of software development, which looked complicated to them with too much focus on documentation. Basically, the Agile manifesto is a document containing 12 principles and 4 core values that guide software developers in their work. The Agile manifesto declares, "We are uncovering better ways of developing software by doing it and helping others to do it." Here, we will describe the 12 principles and 4 values of the Agile manifesto that have been embedded in the present way of developing software. Let us have a look at the 4 Agile values first.

Agile manifesto values

There are 4 core values included in the Agile manifesto. These values are implemented in a different way in every Agile methodology but trust them for developing and delivering high-quality software. So, the four foundational values of the Agile manifesto are:

1. Individuals and Interactions over Processes and Tools:

This is the first value of the Agile manifesto. The Agile manifesto says that it is the individuals who propel the development process so they must be given primacy over processes and tools. People should be valued more. because they answer the requirements of the business. If the development is driven by processes and tools then individuals may be less responsive to the needs of the customers and the customer may not be delivered the desired value. So, the Agile manifesto puts emphasis on having interactions with customers to understand their needs, which processes and tools can't have. Communication is the key and it is here the value of people becomes more than processes or tools. Individuals can communicate promptly and more explicitly so that the queries and suggestions of the customers are quickly dealt with while processes and tools have fixed schedules and content of the communication. Hence, individuals are given precedence over processes and tools.

2. Working software over comprehensive documentation: 

The second of the Agile manifesto values removes overemphasis on documentation. Earlier, a lot of time was spent on documenting the development process and delivery. Sometimes it was so overemphasized that it was done at the cost of the product. The list of documents was long like technical specifications, requirements, and prospectus, and each of these needed approvals. All this resulted in long delays in the development of the product. The Agile manifesto does not completely remove the need for documentation but it reduces it to the extent that developers do not get entangled in it but are more focused on the ultimate deliverable i.e. the product. The difference is that the Agile manifesto does not completely ignore the value of documentation but puts more value on working software. So, the team's focus moves from the process to the result.

3. Customer collaboration over contract negotiation:

In the past, in the waterfall approach or traditional methodologies, negotiations with the customer took place before the actual development started. The requirements of the customer were discussed in great detail prior to starting work. This meant that the customer interacted with the product manager or the development team only before and at the end of the development process. He had no involvement during the process. The deliverables were decided before starting the development and could be checked only after the product was delivered. This resulted in a lot of waste of time and resources. But the Agile manifesto, the customer is given more value and is involved with the development team throughout the process, which enables the development team to continuously focus on the customer's needs and collaborate with him all through. This means making an end-user a part of all the development team meetings and providing regular demos to evaluate the performance of the product. This ensures that customer needs are taken care of throughout the process.

4. Responding to change by following a plan:

Generally, the traditional software development process is not too adaptive to change, so making any changes involves high costs. Making detailed plans before starting the work and sticking to them at all costs is not conducive to the smooth working of the process because change is inevitable at some stage of the process. But traditional methodologies avoid change because of the expenses involved. Agile is open to change. The focus is on releasing a minimum working product for evaluation and then making adjustments as per the customer's requirements or suggestions. Small iterations in Agile help in shifting priorities and add to the flexibility of the process. This also means that the customer can be delivered additional value. Therefore, in Agile, whenever the scope of the project changes, the development team can quickly adjust to the change and deliver full customer satisfaction. This is the last of the 4 Agile values.

Now that we have seen the Agile manifesto values, let us move on to the 12 Agile principles.

Agile manifesto principles

The 12 principles of the Agile manifesto are:

1. Customer satisfaction through early and continuous delivery:

In traditional methodologies, the product is given to the customer after it has been fully developed and many tests and checks have been carried out. So, the customer is kept guessing about the product and the team finds it difficult to make any changes at that stage. But the first principle of Agile says, "highest priority is to be given to customer satisfaction through early and continuous delivery of software." But it can be applied outside the software industry also. The customer is given an early and continuous delivery and this keeps the customer in the loop throughout the development process. This means the team finds making changes possible and easy at any point. This also keeps customers happy as they are regularly delivered value. Moreover, they can provide feedback to the team so that they do not have to make major changes later on.

2. Welcome changes in requirements all through the process:

This is the second of the 12 Agile principles. To welcome changes at any stage of the process. The requirements of the customer may change or the customer may ask for new features at any time during the development process. It should be embraced rather than moving ahead in spite of these requests for changes. The point is that you should be prepared to accept uncertainty and the fact that such changes at any stage of the process can bring more value to the customer. The earlier methods of development were not flexible enough to embrace change. They were carried out according to a fixed plan and they would keep moving in spite of requests for change. But this Agile principle puts emphasis on changing customer needs and course correction wherever necessary. Product development teams constantly keep an eye on the market and value customer feedback. So, the teams are helped by Agile's iterative process in responding to changes quickly and timely.

3. The value should be delivered frequently:

As the Agile principles advocate embracing change at any stage, teams should give up a rigid schedule. The original wording of this principle is, "Deliver the working software frequently, from a couple of weeks to a couple of months, with a preference for a shorter timescale." This implies that the customer should be delivered value at shorter intervals rather than waiting for the whole product to be finished. If this principle is followed religiously, then less time is spent on documentation and more on working on the product. This also helps in accelerating the development of the product. The frequent small releases of the product also help you in getting your product validated by those who are qualified to see it. To achieve this, there should be an agreement within your team and with other stakeholders on the Agile release planning which sets the frequency of releasing the product. 

4. All developers and other stakeholders must work together all through the process:

In traditional methodologies, all the stakeholders except for the development team do not have any idea of what is going on. They enter the picture only at the end of the process. But Agile stresses the need for constant communication between the business people and the developers as both are crucial for the success of a project. It has to take place every day. This enables regular feedback which only adds value to the end product. A more valuable product can be created with the combined insight of the business and the technical side. And this would be possible if both these sides collaborate on a daily basis, exchange ideas and feedback, and communicate regularly. So, it is important for the success of a product that everyone speaks the same language.

5. Build projects around motivated individuals:

You have assembled the best product team, so now you must show trust in them. Empower your team and give them autonomy to work. You would certainly monitor the work and step in as and when necessary but do not indulge in micro-management. This may demotivate the team. So, leave them free to do what they are best at. Your job is to provide them with the environment and support they need to complete the work. You have got to have faith in your team's capabilities. Keeping all the decision-making centralized will only hamper their progress and may result in the non-deliverance of the desired value to the customer. The team members should be encouraged to speak their opinions and share their ideas for the betterment of the team's performance. So, do monitor, help wherever needed, and support them but keep out of the regular working and keep your team motivated at all times.

6. Encourage face-to-face conversations:

The sixth of the Agile manifesto principles states, "The most effective and efficient way of conveying information is through face-to-face conversations." Not only the most efficient and effective, but this is also the quickest way of asking questions and getting answers. Communicating through emails, documents, or some software may be good but it involves time. But when there is an urgent need to move quickly, you can't just sit back and wait to get a reply. So, it is important that a face-to-face conversation is carried out to clear the matters. The purpose is to let the product team and the developers have real-time communication about the product, requirements, ideas, and strategies. This becomes all the more important in today's working environment where so many remote teams are at work. A video conferencing call is a great tool for getting quick responses. Agile principles put emphasis on face-to-face conversations for better collaboration within the teams and between the teams. 

7. Working software is the primary measure of progress:

This one is a straightforward principle. It does not matter how much time you and your team have spent on developing software or any other product that you might be working on, ultimately it is the functioning of the product that matters, and that is the measure of the progress made. So, it is basically about maintaining your focus on the most important thing - the success of your product. If your customer is happy and satisfied with the product, you are successful. It is not about how many tasks you have completed, it is about how well the product you have made works. The Agile philosophy reminds us that we are here to develop software, so we must spend our time more on that rather than getting ourselves entangled in the pile of documentation. Therefore, the ultimate measure of the progress of any team is the working software.

8. Agile processes encourage sustainable development:

This is the eighth principle of the Agile manifesto. The important thing here is that teams should maintain a constant pace of work. The short sprints in the Agile methodology not only help in embracing change easily but also keep the teams inspired all through the process. The aim should be not to lead the team to burnout quickly and compromise the quality of work. So the work pattern should be such that encourages sustainable development. The team should be able to carry out work for a longer time at a constant pace. Make sure that your team does not get overwhelmed and that work progresses smoothly. Put the right team at work that believes in working hard but does not overstretch itself.

9. Pay continuous attention to technical excellence that will enhance Agility:

Although the Agile methodology works in small cycles and promotes frequent releases, it also stresses the importance of keeping the process clean and orderly to avoid future problems. You must ensure that whatever work you are doing improves after each iteration. This means you don't have to only create a working product but a high-quality product. Maintaining operational excellence will help you in accepting the changes more easily which in turn, will help in maintaining agility. The final goal of every Agile team is to deliver value to the customer. And maintaining excellence at all times is the way to do it.

10. Maintaining simplicity is vital:

In Agile, simplicity is the art of maximizing the amount of work not being done. In simpler terms, you don't want to have unnecessary complications when you are trying to move through a project quickly. Try to keep it simple. This Agile principle emphasizes the need to do those things which are most impactful. You are not going to get paid for the time or effort you spend on a product. Customers are going to pay you for the ultimate product. So, cut out the complexities and do what is essential. Focus on the solution asked for by the customer. This is a great way of streamlining your process. Make use of the Agile tools that help in cutting out unnecessary tasks and give you better control over every aspect of the project. 

11. Encourage the teams to self-organize:

The Agile principles encourage the teams to self-organize so that they remain motivated and responsible. This way, the onus of delivering value and satisfaction to the customers is on the group rather than on a single individual like the project manager. Allow the team to work independently. Let them make decisions as a group. This will make a more coherent and collaborative team that will strive to put in their best. The aim of this principle is to empower the team and encourage them to work together as a group where each individual is in sync with the other. When you are not pushing them, the team members can work with greater agility. That is why this principle says, "The best architectures, designs, and requirements emerge from the self-organizing teams."

12. Reflect regularly and improve continuously:

Throughout the duration of the project, reflect on the performance at regular intervals. This is the last of the 12 Agile principles. A regular evaluation of performance and the identification of scope for improvement goes a long way in making the project a success. The Agile methodology does not follow a rigid process for every sprint and release. There is always room for change and improvement. The team should continue to learn from the mistakes and make improvements wherever required for better performance. This applies to both teams as well as processes. The team should be willing and ready to adapt to changes that may occur midway through the process. The chances of success are much higher when you stop at regular intervals and reflect on the work done thus far, find out if any mistakes have been made, correct them, and move ahead. So, the last Agile principle is, "At regular intervals, the team reflects on how it can become more effective, then tunes and adjusts its behavior accordingly."

So, these are the 4 values and 12 principles of the Agile manifesto that we have described in detail. Agile, in itself, is a set of values and principles. It is not rigid therefore it can be applied to any type of organization. To bring about transformation in your organization, these principles and values are the foundation on which you can build it.

Share:

Enquire Now

Click to Get Advice


Get coupon upto 10% off