Sunday, February 6, 2011

The Grammar of Agile Software Development

This is in response to David Hussman's Tweet : "+5 RT @jbrains: "Please please stop using 'agile' as a noun" - @pragdave (YES!!!!) #magicruby

Agile: (adjective)
Agilely: (adverb)
Agility: (noun)

Examples:

"We are striving to develop our software in a more agile manner." - (Agile describes the manner [noun: object of a preposition] in which they are trying to develop [verb] the software [direct object].)
"We are striving to develop our software more agilely" - (Agilely describes how they develop [verb])
"We seek greater agility in our software development" - (Agility is the object of their seeking - and is as such a noun/direct object)

I think that people have become lazy and started truncating the descriptive title "Agile Software Development" to just "Agile". I am as guilty of this as anyone. Unfortunately this has done more harm than good and has led to a lot of confusion. Particularly, it may have contributed to the misguided notion that Agility is a binary state - using "Agile" as a noun gives the impression that it either exists or does not exist ("Are you doing Agile?")whereas the term agility used in its common sense is well understood to be manifest in degrees.

"The young gymnast's agility was only enough to perform the most basic routine".
"All things which move of their own volition are agile, however they possess this agility to varying degrees. Hence a deer can move more agilely than a rhinoceros."

I hereafter shall endeavor to respect the proper terms of speech when discussing Agile Development.

Any other suggested corrections of the use of the term "Agile" and its variances?