Learn Design then Test Drive
Test Driven Design is known for its ability of make us aware of bad design, thus having an important impact in improving our understanding of design or in some cases raising our awareness of the importance of design. Software tends to entropy, the more you touch the code the more random behaviour and complexity emerge. Creating a code base that stays with us for long is always a challenge. Good design is key to prolonging the life of our code. This talk illustrates the foundations of good design and how we can benefit from it in combination with other approaches like TDD, to guide us in the right direction of sustainable software development.