TDD = too dumb developers? Implications of Test-Driven Development on maintainability and comprehension of software