WHAT IS AGILE

'Agile' refers to a lightweight, iterative approach to software development, embracing a collection of modern software development methods and techniques which have emerged over the past ten years to address issues with the lack of flexibility and pace inherent in more rigid, 'heavyweight' methods as typified by the waterfall approach.

Agile takes a more fluid approach to software development, with the highest priority being "to satisfy the customer through early and continuous delivery of valuable software”.

Agile projects are typified by close and frequent interaction between the IT project team and the business. Taking an Agile approach allows changing requirements to be identified earlier in a project life cycle. Agile project team members acknowledge the fact that requirements tend to evolve as a project progresses, sometimes because of changing business needs but more often because, as working software is delivered and users get to see the application for the first time, there is a natual desire to improve 'look and feel' or enhance application functionality.

In an Agile project, change is handled naturally, rather than being viewed as something to be resisted, controlled or managed. Iterative delivery of production-quality application code allows requirements to be changed, updated or reprioritised, as the business decides.

It is typical for Agile projects to deliver working software releases over a 4 week cycle, thus business users are able to exercise a high degree of control over what functionality is delivered in which release as the project progresses.