Project Management Techniques: Agile

Agile is a major buzz word in the project management world right now, especially in the software industry.  My previous post on the Waterfall and Modified Waterfall methods outlined the nature of the most traditional project management models.  Agile is the relative new comer on the scene.

The story goes that one day a group of software developers, dissatisfied with the low success rate of managing projects with the traditional project management methodologies, decided to scrap the old process and design a brand new method all their own.   This collaboration resulted in what is known as the ‘Agile Manifesto’:

Manifesto for Agile Software Development

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

 

Agile is more than a process change, it is a culture change. 

  1. Agile shifts much of the responsibility for determining how things will get done to the team members and away from the project manager and managers.  Managers do not rely on status reports and reams of documentation.  Instead managers rely on a steady stream of delivered, finished products as an indicator of project success.
  2. Much of requirement gathering and communication is done through user stories.  These stories are concise and illustrate in a meaningful way what is to be accomplished to meet the requirement.  This requires more user involvement with the development process than usually occurs in traditional methods.
  3. Their is a lot of flexibility in Agile as the process is intensely iterative (in Scrum an iteration is known as a Sprint).
  4. There is a focus on trust and openness in communication about work done, obstacles and issues.  These are usually communicated during daily stand up meetings with the rest of the team.  They are stand up to keep them short and to the point.
There is a great blog by Kelly Waters, an executive consultant in Australia, called ‘All About Agile‘.  In his post on ‘What is Agile?‘, he lists 10 things that differentiate Agile from the traditional Waterfall methods of project management:

1. Active user involvement is imperative
2. The team must be empowered to make decisions
3. Requirements evolve but the timescale is fixed
4. Capture requirements at a high level; lightweight & visual
5. Develop small, incremental releases and iterate
6. Focus on frequent delivery of products
7. Complete each feature before moving on to the next
8. Apply the 80/20 rule
9. Testing is integrated throughout the project lifecycle – test early and often
10. A collaborative & cooperative approach between all stakeholders is essential

Agile is an umbrella term for more specific methodologies such as DSDM, Scrum and XP (Extreme Programming).   While agile seems magical, it is not a magic bullet.  It does not seem to be a good fit for company cultures that are very traditional and bureaucratic.  It also may not be good for projects that are very well defined and therefore do not need an intensely iterative process.

Advertisements

One thought on “Project Management Techniques: Agile

  1. Pingback: Exploring Agile at Work – The Beginning | Project Reno

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s