Agile: -adjective

  1. quick and well-coordinated in movement; lithe: an agile leap.
  2. active; lively: an agile person.
  3. marked by an ability to think quickly; mentally acute or aware: She’s 95 and still very agile.

No plan can make it unscathed from concept to implementation.  No matter how meticulous the planning, by the time you can get it half implemented, half of what you built will be irrelevant, and there will be things you never thought of that are more important than anything you planned to build.  Reality in the software development business is the continuous attempt to hit a moving target.

The playing field is never static.  Business needs change.  Technology is continuously evolving.  “Agile” software development is a way of working that recognizes the inevitability of change, and embraces and readily adapts to it.

The difference between Agile and more traditional development methods (such as Waterfall) lies in the speed with which they facilitate adapting to change.  Through deliberately planning out only enough work to get through the next few weeks, and by revisiting the priority of upcoming work on a regular basis, changes to the playing field can be adapted to quickly, and in stride.

It’s simple, in principle.  But old habits die hard.  Truly Agile development is a paradigm shift, a complete change in thinking as well as methodology.  Attempts to adopt the methodology without understanding the reasons behind them will be frustrating at least, and may not reap all the rewards that it promises.  If you are going to adopt the methodology, invest in the people who will be exercising it.  Get them the training they need to be successful.  It will pay for itself before the end of your first Agile project.

Trackback URI | Comments RSS

Leave a Reply