This paper was just published on MSDN; Tools for Agility – A White paper by Kent Beck, Three Rivers Institute
Microsoft has invited me to share my thoughts on the relationship between tools and agile software development. Agile development seeks to increase the value of software development by increasing the feedback available to customers and developers.
My biggest takeaway from this was the emphasis on reducing the cost of context switching from one activity/tool to another. This goes a long way to explaining why some tools become popular and others less so. Even a very small increase in latency can make the tools significantly less useful.
Another observation is that without tooling we wouldn’t have agile development at all. Agile relies on the ability to rapidly change the codebase to meet the changing business requirements. This means continual refactoring of the code to ensure loose coupling, open/closed etc. This requires modern languages and tools to make this possible. That’s not to say that tools are more important than people but it does mean that without a certain level of tooling agile development practices are much harder to follow.
Currently listening to:
Nine Inch Nails – With Teeth