I often identify myself as an Agilist. When I first began to use the term, I was met with a great deal of trepidation. I remember the first few times I attended the local user group. “Oh, you’re one of those guys”. This hesitation has diminished considerably, but I still find that there are some interesting misconceptions about agile.
For example, people frequently contrast Agile with Pragmatic.
“Oh, I’ve heard about SOLID principles (or whatever), but I’m really more pragmatic.”
This has actually made me laugh out loud. You see, it was pragmatism that drove me towards the agile philosophy.
According to Meriam-Webster, pragmatic means:
relating to matters of fact or practical affairs often to the exclusion of intellectual or artistic matters : practical as opposed to idealistic
So here is the relevant contrast:
Idealistic vs. Practical
Is Agile idealistic or practical? Agile does embraces a set of principles (ideals) and I’ve seen many of its adherents become drunk with the beauty of it. I’ve been there a few times myself. So yes, it is idealistic in that respect. However, I think a better question is this:
Is Agile merely idealistic?
There is a strong idealistic streak in Agile, we will not deny it, however the ideal is actually “get work done”. In other words, Agile is the art of pragmatism.
I am motivated by success. I am motivated by accomplishing things. The quickest route to depressing me (or frustrating me) is to prevent me from getting work done. Because of this, when I first encountered the agile idea that change is expensive and therefore we should reduce the cost of change, I was listening. When I discovered that agile methodology offers a set of tools for reducing the cost of change, I was ecstatic.
In the interest of being brief, I’ll jump to my conclusion:
The application of the agile principles is about being successful in software development projects. It is not ars gratia artis. While some enthusiasts may forget that, it doesn’t change the nature of the underlying principles.
Agile is the art of being pragmatic.