On how to best apply Agile methods in a .NET environment, Martin replied:
There is really nothing special about the .NET environment that alters these practices in any way. The tools for doing test-driven development are fungible and now available in the .NET framework. The ability to do pair programming is trivial in .NET—there is no real problem there. Refactoring tool support is not quite as good as it is in the Java environment, but it is pretty good. There are some third-party refactoring tools that are very effective and Visual Studio is gaining ground in that regard as well.On why the .NET crowd has been slow to adopt Agile methods:
The Microsoft community is a somewhat insular. If you are a Microsoft developer, it is not very likely that you know what is going on outside of the Microsoft sphere. The same is not true for the non-Microsoft community, which does track Microsoft pretty closely. So what we find is that the Microsoft community tends to be a little bit behind what's going on in the industry at large and Microsoft tends to play a catch-up role.On the biggest challenge .NET developers will face when learning Agile:
The biggest challenge I think the .NET developer is going to face in learning Agile development is test-driven development—the intense kind of unit testing and automated acceptance testing that Agile development requires. This is a discipline that is sweeping the industry whether it is Microsoft or not and it has become a significant force.