Thanks for visiting! Like what you read? Subscribe in a reader

Wednesday, August 15, 2007

Agile 101 - Introduction

It is currently the vogue for executives to tell their IT groups to “Go Agile.” The IT manager then skims through the Agile book that they were handed, then goes about trying to implement some of the Agile best practices. Once that fails, they either give up, or bring in someone to help.

This is where I usually come in. At this point, people aren’t excited to hear about another Agile push. I don’t really blame them; if what they had seen to date was Agile, I wouldn’t be too excited, either.


What is the Agile Methodology?


A number of methodologies were formed to address the failures of Waterfall, which included analysis paralysis, long waits to get return on investment (one big release at the end of the project), locked in plan that resisted change at all costs, etc. They also addressed problems with the RUP methodology, which although iterative, was, at the time, heavy on documentation and process. The new methodologies shared a number of best practices, and the general movement became known as Agile.

Some of the better known Agile methodologies are XP, Scrum, DSDM, AUP
, ASD, and Crystal. Although each has its own spin, they agree on many points. The Agile movement was solidified when representatives from a number of Agile methodologies met in 2001 and produced the Agile Manifesto. The groups also agreed to the shared principles behind the manifesto.


One of the best aspects of Agile is that it is not a dogmatic approach, but rather a collection of best practices that should be used as they make sense for each project.


Agile Best Practices


The best approach to implementation of a new methodology such as Agile is one best practice at a time, with 1-2 teams at a time. Get a win or two under your belt, and people start to see the light. Here are some of the best practices that are generally accepted by the various Agile methodologies.


There are some additional Agile practices that have less universal support but are nevertheless closely associated with Agile.


  • Test-driven development – Developers create their tests before development. Development is complete when they pass their tests.
  • Pair programming – Developers are paired for an iteration to work together.
To brush up on your Agile terminology, visit the Agile Lexicon.

No comments:

Post a Comment

Search the Archive of SmartAgile Posts

Google