Short answer
Agile is an approach to software development in which work happens in short cycles — usually 1–4 weeks long. At the end of each cycle the client sees a working result and gives feedback, and the requirements can be refined. That way the system better matches real needs, and risks are spotted in time.
Agile principles in practice
- The client is involved throughout development, not just at the start and the end.
- Regular updates and testing during development.
- Requirements are defined, but can be refined when it becomes clear something should be different.
- The most important things are done first.
- Documentation for the main and critical parts of the system.
Popular Agile methods
- Scrum — fixed-length cycles (sprints), with planning and a demo in every cycle.
- Kanban — a continuous flow of tasks with a limited amount of work in progress.
What the client should know
Agile doesn’t mean “no plan”. There is a goal, a budget and priorities, but the way to get there is refined step by step. It works best when the client has someone who can make decisions quickly.
Although Agile helps deliver results regularly, the most important thing in any project is the client’s involvement and collaboration.