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.