Agile methodologies


Alistair Cockburn

Agile is an attitude, not a technique with boundaries. An attitude has no boundaries, so we wouldn’t ask ‘can I use agile here’, but rather ‘how would I act in the agile way here?’ or ‘how agile can we be, here?'

Alistair Cockburn


Agile software development is an iterative and flexible approach to building software, designed to adapt to changing requirements and encourage collaboration between cross-functional teams. Unlike traditional, linear methodologies, Agile emphasises delivering small, incremental changes through continuous feedback from users and stakeholders. This approach allows development teams to respond quickly to evolving needs, minimise risks associated with late-stage changes, and deliver high-quality software more efficiently.

At the core of Agile are principles that prioritise 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. Agile frameworks, such as Scrum, Kanban, and Extreme Programming (XP), provide specific practices and tools to guide teams in implementing these principles.


Table of contents