I had a Great Time at the Microsoft Developers Academy.
We had a great booth and met loads of developers. Meeting all these developers really helped me get a perspective. As both our customers and internal development are using TDD Methodologies or at least Automated Unit Tests I have been having the feeling that everyone is already unit testing and working in iterations to get maximum coverage. Truth is that this is nowhere near the reality. Although most developers have heard of unit testing and nUnit (which is an improvement) most do not practice this at all.
Here are some of the answer I got when asking developers if they unit test.
1. We don’t test, we have a QA team to do that!
2. We don’t need to test, we are great programmers!
3. We are too far down the project to start testing!
4. My team can’t test because (something technical …) but I will interest the other team (because their code really $#%$.)
5. Our customer/management doesn’t want us to waste time writing non production code!
I didn’t answer these during the show and I am not going to answer these now, but I know that I have past the no-going-back point.
I actually feel wrong when I write code that doesn’t have a test, as if a big red warning light starts flashing “You are going to regret this”.