Outside-In ATDD with Optional Unit Tests
The idea behind my suggestion is very simple, and it relies heavily on the experience of the developers, which in this case was very high. To be effective, it requires the ability to write outside-in testable code naturally, without the need of a test to drive any class.
Basically, if we have a very good suite of acceptance tests like the one we were building in Team C, any bug in the code would be traceable to a few broken units and always at least one broken acceptance. So, acceptance tests would be the minimum number of tests we could write in order to have the safety network to refactor any part of our code.
So, I suggested, "Why don't we break the dogma of full test coverage and stop enforcing unit tests, as we already have the acceptance umbrella? If we write testable code, what's the problem? If at some point we feel like a class would benefit from a unit test, it will be easy to add. The advantage will be that we...