As we know, Manifesto for Agile Software Development cites.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Agile techniques place a high focus on cooperation, collaboration, and excellent communication between those involved in the software development process. Although protocols and technologies are required, the emphasis is on enabling people to collaborate effectively. So people makes an impact, not the process and tools used, a simple white board is enough if we have a great team, right?
Agile development approaches place a higher priority on producing functional, usable software than lengthy documentation. The focus is on creating functional software that can be tested, validated, and add value for the customer, even though documentation is still required. However, a common interpretation is that Agile doesn't require any documentation, and since that is not specified anywhere, who made that claim?
Throughout the development process, agile techniques promote the customer's or end-user's active participation and collaboration. This makes it more likely that the programme will fulfil their wants and specifications. Feedback, iteration, and ongoing improvement are made possible by collaboration. Here the key is customer collaboration, and the customer must be available anytime needed rather than only as a validator.
Agile approaches acknowledge that in software development, change is inevitable. Agile teams accept change and modify their strategy in accordance with it rather than strictly adhering to a predetermined plan. They place a high emphasis on adaptability and give priority to being able to react to shifting conditions. In short, we're saying that agile embraces change and that we welcome change at any time.
These principles form the cornerstone of Agile techniques and practices like Scrum, Kanban, and Extreme Programming (XP), among others. The Agile Manifesto encourages an incremental and iterative approach to software development, emphasizing the need of delivering value frequently and quickly while also being flexible to changing demands and priorities.