In our last blog post we discussed the importance of your development tool stack when transitioning to Agile development, now we’ll take a closer look at what tools are available.
All of the components in your tool stack interact with each other and with your overall development process. As you transition to Agile development, many of the components in your tool stack that were helping you do traditional development are now working against you in two ways. First, they aren’t helping you do Agile development well, and second, they are actually working actively against your efforts to be Agile. You may also be missing some support structure that you need and tools that can help you leverage your effort.
At one extreme of tool stacks for Agile development is a stack that has no support for Agile whatsoever. An environment like that may include tools that are poorly suited for Agile development such as CVS and Bugzilla – and it would be missing support for Agile Project Management, unit tests, and Automated Build Management. This environment would actually work against your transition to Agile development.
At the other end of the spectrum is a tool stack built entirely out of tools that were purpose-built for Agile development and linked together into an integrated Agile solution. We spend a lot of time watching the industry and from our perspective; there are really just two choices out there today. One choice is IBM’s Rational Team Concert. Team Concert is a good system but it is immature, expensive, and there don’t seem to be many deployments.
The other option is to build a custom solution using individual tools. For instance, you could use GIT for source control, Hudson for automated build management, and Excel and your existing issue tracking system for Agile project management. There are two problems with this combination. First, the only component purpose-built for Agile development is Hudson. Second, using Excel for backlog management doesn’t scale very well.
The solutions currently available are all either too complicated or too expensive. Wouldn’t a best-of-breed, fully-integrated solution supported by a single vendor be better?