Fork me on GitHub

Monday, July 28, 2008

Tools in Agile projects

Last week I read a paper written by Kent Beck for Microsoft about the usage and impact of tools on Agile development project. On reading that paper I realize that how ubiquitous tools have become in Agile development that we don't realize them as a tool any more. Tools used agile projects are not heavy and bloated but tools which are lightweight, which can support frequent change and tool s which can support transition across different activities in short time. These tools will not hinder the developer from doing the core work but still assist him effectively to do the day to day work.

Agile projects use simple tools which when seen alone without the corresponding process and principle can seem extremely simple. Junit when standing alone is extremely simple which could be written by any good developer, but when combined with Test Driven Development it gives the developer the power to feel confident about the code he has written. Continuous Integration has no meaning alone without tests, but in short iterations with tests and verifications, it gives us the health of the project as a whole on an hourly basis.

All the tools used in Agile are like that for example cards, junit, burn down charts, open source tools. Tools chosen and available in common area, tools which can be put together easily and also changed easily. But when combined together and used with the process they give an enormous power to guide a complex and dynamic project towards success. Using bloated commercial tools in Agile project are a sure recipe for disaster as these tools are change and transition resistant and can't be redesigned for a different purpose than the one for which they are built. Tools which are simple to use and allow change and quick transition are the ones which we need to seek. They may have disadvantages but they also help us to stay focused on the job we have at hand rather than spending time fighting with tool for its configuration.

No comments: