Tools As Agile Catalyst

Brian Marrick looks back on 5 years since the Agile Manifesto:

I think it no coincidence that so many of the Agile Manifesto authors had past experience with Smalltalk (or, in my case, Lisp). That kind of background makes it easier to think of software as something you could readily change. I don’t think Agile would have taken off without semi-flexible languages like Java and the fast machines to run them.

Moreoever, each new tool—JUnit, Cruise Control, refactoring IDEs, FIT—makes it easier for more people to go the Agile route. Without them, Agile would be a niche approach available only to the ridiculously determined.

I’ve heard this idea before that Agile methodologies wouldn’t really work that well until we had IDEs that could easily allow refactoring and languages like Java, Ruby, C#, and Python. I find the idea has a lot of merit. Part of the appeal of Agile is the tools make refactoring a whole lot easier than it used to be.

The one thing about tools that still makes me twinge is when someone explains how you can just click, drag, drop a snippet here, step through the wizard, and bang you generate all your code. This is where the tool is supposedly doing all your work for you. Since this often makes TDD just about impossible these sorts of tools feel really flakey. They often generate just really awful code as well. The final nail in the coffin is you can only ever look at the code effectively or change it by firing up the tool. Those sorts of tools seem really anti-Agile, much like Microsoft Project or the Rational Suite.

Technorati Tags: