Incode Systems Home Page Incode Systems, Inc.

Agile Software

by Glenn B. Lawler

View Glenn Lawler's profile on LinkedIn

What is Agile Software?

Agile Software development is a general term for a number of non-conventional software development methodologies. While the term Agile came into widespread use around the year 2000, the principles of Agile Development have been practiced by individual companies and developers for many years.

The American Heritage Dictionary defines Agile as:

1. Characterized by quickness, lightness, and ease of movement; nimble.
2. Mentally quick or alert: an agile mind.

While specific agile methodologies achieve agility using different techniques, nearly all have the same ultimate goal:

The rapid development and delivery of working software.

Conventional software development methodologies emphasize planning. The primary reason for this emphasis is that conventional software code production (that is, people writing programs) is a very time consuming, error-prone process. A change to the specifications of a project can lead to rewriting major portions of the software code. In extreme cases, the entire project may need to be rewritten from scratch. With that much at stake, the planning phase of the project must be as complete and flawless as possible. Planning like this takes a great deal of time. So does the conventional code production. The end result is that projects are often obsolete before they are even deployed.

Conventional software development methodologies emphasize documentation. This goes hand-in-hand with planning. The work product of a plan is a planning document. This documentation serves a communication role on a number of levels. The Planning Document communicates the plan to those who participated in the planning as well as those who will approve the plan and those who ultimately make use of the software.

Agile methodologies:

eXtreme Programming (XP)
An Agile Software Development approach

Reference Material

The AgileAlliance
The AgileAlliance is a non-profit organization dedicated to promoting the concepts of agile software development, and helping organizations adopt those concepts. Those concepts are outlined by the Manifesto for Agile Software Development.
Agile Software Development
by Scott W. Ambler
Working smarter, not harder: An interview with Kent Beck
XP founder explains how better applications can arise from the ashes of failure

Copyright 2004 Glenn B. Lawler and Incode Systems, Inc.
Last modified: Saturday, January 12, 2008 2:52pm