@floppy Don't be caught by the trap of thinking TDD will necessarily give you a great design. It's a good way of avoiding bad/untestable code, but it doesn't guarantee clean, understandable interfaces etc. As Rich Hickey described, using TDD to get a good design is like driving a car along the motorway and bashing against the crash barriers as a way of keeping on track.