Introduction to Agile: The 4 Fundamental Values

You have probably heard of the term Agile and have noticed in the recent years, many organizations are adopting the Agile approach to run their business on a daily basis. The Agile approach is very useful to help companies respond to change, improve customer satisfaction and develop products or services faster.

Before the Agile approach came about, development teams would identify problems and work to come out with the complete solution to bring to market in its entirety. Generally, that can be described as the Waterfall approach which follows a specific process or procedure and prioritize on following a plan in developing a product or managing a project. However, many argued that the approach would require longer duration to meet customers’ needs and it is more resistant to change. Agile on the other hand allows teams to respond to changing requirements and focuses on iterative and incremental processes to provide early and continuous delivery of solution.

In a simple way of explaining Agile – it is a mindset or a set of values and principles to help organizations create good products or provide better services. The Agile approach originated from the domain of software development but had quickly gained popularity and flourished in other non-software related domains. Back in the year 2001, 17 individuals came together to try to figure out why so many software development projects were failing, and agreed on a new way of thinking and working in order to keep up with the customer needs and the constantly evolving world. That was when the Agile manifesto was formed. The Agile manifesto focuses on 4 values and 12 principles:

The Four Values of Agile

The 4 core values of Agile as stated in the Agile Manifesto are:

  • Individuals and interactions over processes and tools;
  • Working software over comprehensive documentation;
  • Customer collaboration over contract negotiation; and
  • Responding to change over following a plan.

The four fundamental values are what differentiate Agile from the Waterfall approach. However, it does not mean that we don’t value the items on the right at all, instead it just means that we should focus and value the items on the left more.

The Individual and interactions over processes and tools

This simply means that face-to-face interactions and communication should be prioritized rather than focusing on rigid workflows and processes. The waterfall approach focuses a lot on making sure that the processes are followed. It follows stringent processes and makes it hard to embrace changes when necessary. Most of the time, it is almost impossible to anticipate everything from the start. The agile approach encourages stakeholders to interact and discuss to find the best solution possible.

Working software over comprehensive documentation

The waterfall approach typically involves and starts with heavy documentation process such as outlining all the features, specifications, processes, requirements and others. The drawback of this approach is that, because of the long duration required to work on the documentations, you may end up with developing a solution that is outdated and creating features that are not relevant anymore. Furthermore, too much time spent on comprehensive documentations could also delay the project. The Agile approach however emphasizes the importance of focusing our effort and time on developing a working solution the soonest. Then it can be deployed to the end users for testing and feedback to further improve the solution.

Customer collaboration over contract negotiation

The conventional way of working usually only involved the customers in the early stage of a project for contract negotiation and customers are rarely engaged by the project team to discuss about the project unless the work might deviate from what has been outlined in the contract. The focus is primarily on completing the project according to the contract rather than developing what the customer wants. The agile approach values the importance of customer collaboration and constant feedback to ensure that the developing solution can satisfy the customer’s needs.

Respond to change over following a plan

The waterfall approach generally does not favor change, as its way of working emphasizes on following a rigid plan. However, in the constant changing world that we live in today, being rigid can lead to the creation of irrelevant product and prevent us from making changes to improve the product. Agile approach on the other hand values change. Embracing change provides the opportunity for the developer to further improve the product based on the constant feedback from the end user.

If you are interested to know more about Agile, please subscribe to our newsletter by clicking here or contact us at info@cybiant.com.