About half year "experience" with unit testing and test driven development for commercial application (using JUnit). Mixed results because of often changing requirements and many dependancies (like application server and database backend).

Current project is programmed in C++. Using minimal, custom testing framework instead of available kits like cppunit. Again, sometimes having problems with too many dependancies and much work to setup a complete testing environment. Probably because of my own laziness. ;-p Had a very short look at the testing framework from Boost, but will probably keep using own framework for the moment.

Never used reengineering tools, but as far as can see, having a decent editor and not so lousy code performs the task well enough. I guess changing a "code mess", even with a good "reengineering tool", always turns into a nightmare. Except when you have a complete test suite AND requirements don't change. In that case, why do you need to reengineer anyway?

No experience with real pair programming. Hard to explain the idea to management when I'm not convinced myself.


Related pages: Unclassified?