Summary
“Code (test) and fix” development creates an entire host of problems. We spent most of the chapter learning about adaptations people have made to reduce the risks created by code and fix. Reading the chapter, we expect you may recognize some practices from your own team, and, perhaps, recognize the problems the new practices introduce – or some that are missing.
The unfortunate tester looks at all these practices, and, hopefully, sees self-reinforcing ideas. In Extreme Programming, for example, the regression test suite produced by TDD combines with the second perspective of pair programming to decrease the risk of change. Refactoring, another XP practice, improves the design of the existing code, making it possible to build software as many small changes. Refactoring only works because of the TDD-built regression suite. And so on. And yet, XP was built without a user interface in mind and does not provide a deep strategy for UI testing. Scrum does not...