Chris Brown, now a Software Development Manager at i-nexus, a UK software company [writing in 2012] ... worked closely with the EM group on projects in his final undergraduate year [around the year 2000]:
'TDD strikes me as resonating quite strongly with some of the ideas surrounding EM. For example, in EM you start with the simplest possible model, and iterate towards your goal in a series of experiment-observe-refine cycles. In TDD, you similarly start with the simplest possible requirement, and follow a cycle of writing a unit test to assert the requirement, running all your tests, then making the smallest possible code change such that the tests pass. You continue to repeat, making the smallest possible change to the specification at each step. The interesting part is that it all but eliminates the anxiety about whether your latest change has adversely affected the software you are working on. Instead of trying to build a mental model of the program and analysing it to see whether it is consistent, you simply run the tests. If they pass, you move on to the next increment without giving it a second thought. This for me resulted in a significant change in the experience of software development.'