‘Agile’ is a way of developing software that takes into account the way people really work – and how people work best.
So, instead of having a process that means months are spent carefully writing detailed specifications which are then passed to a team of programmers, an Agile team consists of programmers, analysts and people from the business working together in short bursts of effort that create a new system in stages.
Each of those development stages produces working software that addresses a real business need. It is the role of the ‘product owner’ in this process to make sure that the needs of the business are prioritised properly and broken down into requirements that can realistically be met.
This approach is summed up in the ‘Agile Manifesto’:
- We value individuals and interactions over processes and tools.
- We value working software [or any product] over comprehensive documentation.
- We value customer collaboration over contract negotiation.
- We value 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.