The Agile manifesto says: People over processes.

I've heard the phrase "Processes over tools" a few times in the past few weeks

But where does 'practices' fit into here?  I'd say that it goes before tools.  People over process. Process over practices. Practices over tools. Tools over unnecessary manual labor.

The tools sometimes unnecessarily force us to change our practices and even our processes. This is bad and is a 'work smell'.  This is why so many people railed against the Entity Framework at the MVP summit as it was originally designed without persistence ignorance (and also Designer-driven development, and Strongly-Typed DataSets, and many other flashy, whiz-bang VS.NET features) .  These tools NECESSARILY FORCE you to change your practices. And that's bad.

A lot of people say, "I use whatever tool gets the job done."  They pretend that they're tool-agnostic.  This may be true between projects, but not WITHIN a project. It's important to remain tool agnostic EVEN WITHIN A PROJECT.  Eventually you have to hang your hat on something, but do it at arms length and take great care to ensure that you can quickly lift your hat up again and move it somewhere else.

[Update: Evan Hoff has similar post called 'Fighting Your Tooling Sucks'. The title captures everything, +1 for brevity]

Technorati Tags: , ,