I recently came across a few of definitions of the Agile methodology which I thought worth sharing. Of course, many people would provide different definitions and the definitive description can be found in the Agile Manifesto but if you haven’t got time to read that right now here goes:
“An iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams within an effective governance framework with “just enough” ceremony that produces high quality solutions in a cost effective and timely manner which meets the changing needs of its stakeholders” (Scott Ambler)
“Simple, iterative processes, which emphasise creativity and collaboration.” (John Rusk)
“A system of methods designed to minimize the cost of change, especially in a context where important facts emerge late in a project, or where we are obliged to adapt to important uncontrolled factors.” (James Bach)
Agile Project Management was originally a method created for software developments projects that was more aligned to the realities of how software is actually developed, but it has now been adapted so that it is suitable for use in many other industries.
One of its core principles is adaptability so rather than attempting to anticipate risks and control or avoid change, as is more typical in traditional project management methodologies, agile projects adapt to changing requirements throughout the whole of the project lifecycle. The desire to anticipate and control issues that were not part of the original project specifications or requirements is usually driven by an attempt to keep costs within some defined boundaries or to maintain a pre-defined schedule.
These are still two of the fundamental constraints of any project so how does agile project management satisfy these constraints of budget and schedule?
It is the Agile Method’s very flexibility that ensures projects can be delivered on budget, on schedule and on scope because the project team work closely with the client throughout the project, delivering work regularly in stages in order to elicit feedback. By delivering small packets of work, any changes that become necessary have a lesser impact on the budget or schedule because they are made incrementally and based on an earlier work packet that has already been approved.
In more traditional projects the process or product is often so far progressed before the client has the opportunity to provide feedback that its impact on budget and schedule is much greater.
Agile is an iterative framework where the team deliver incremental tasks and continuously receive feedback, learn from it and adapt to ensure the client finds the end result satisfactory.
For those more used to a traditional way of managing projects there are plenty of project management training courses available both online and instructor-led to get you started on becoming agile.