TDD reporting system Only introduce framework when it is needed - http://xprogramming.com/xpmag/dbcCallingTheShot.htm Process of improving - http://xprogramming.com/xpmag/dbcLjuticMonoGun.htm Introduce reflection - http://xprogramming.com/xpmag/dbcLjuticRefactoring.htm