TDD (testcase drive development) is an approach to coding, where testcases drive code. What that means is that you write a testcase for your code, then code to make the testcase pass. An example is an (math) addition method. So, you have a math class of some sort that does simple addition, and you want to test it. Your test case takes 2 and 3, and using the addition method from your class, you should get 5.
First comes your test case. It fails because you havent really written the code that does it yet. Then you code to make the testcase pass. That's the crux of it. The benefit of this is that when you have a whole lot of code, and dont remember what does what and how...you could, let's say, refactor and run all of your tests again. If they all pass, then the refactoring effort was done well, and didnt change the way your code works.
So...what does this have to do with MIIS? In complex MIIS deployments, data flows can get so complex that you dont really remember what does what. You could develop a whole lotta helper classes that your rules extensions utilize. At some point in time, you decide make a few changes for a new IAF for example, and all of a sudden - your provisioning logic breaks. Woops!
But you already put it into production! now what? hmmm...
more on this later.