Agile approaches

There are a number of specific Agile approaches, as well as a generic agile style of working.

Extreme Programming is a software development methodology, containing mainly programming practices such as Test Driven Development, Pair programming and Continuous Integration, but little management.

Lean, which came from the manufacturing environment, is all about efficient processes. The focus is on eliminating waste from the production line and thereby reducing cost.

Scrum is a very simple agile process, designed for delivering software in small chunks, taken from a backlog of work to be done. The strength of Scrum is that it is very simple. But this is also a weakness because there is no concept of a 'project' that is managing delivery of a finite piece of work, with a process containing a beginning, middle and end.

Scrum, Lean and Extreme Programming are lightweight approaches with minimal structure and guidance.

DSDM and Agile Unified process are stronger but are still agile. The strength of DSDM lies in it being designed to deliver projects in an agile way.