Course: Sustainable TDD

Course support

Course description

Sustainable Test-Driven Development This course teaches participants the skills of unit testing, refactoring, and incremental development. We take it farther than this. Unless developers are trained about which tests to write, how to write them, when to refactor code, and the techniques for breaking dependencies, testing can become unsustainable as projects mature. The course discusses how to make Test-Driven Development sustainable with a focus on deriving maximum value (technical and business) from minimal effort and cost.

Related roles

Related support for courses

Net Objectives Training

Net Objectives University

Provide Feedback

The resources on this page help students of Sustainable Test-Driven Development explore the topics in the course more deeply.

Web-based Resources

A blog by Scott L. Bain and Amir Kolsky, senior consultants at Net Objectives. The blog offers insight into the topics they are exploring about Test-Driven Development in support of a new book called “Sustainable Test-Driven Development.”

Net Objectives Pattern Repository

The purpose of this repository is to serve as a central clearing house for patterns in software. You are free to use this material for your edification and study.

Recorded Training

Hosted at this portal, we have a wealth of recorded training on patterns as well as other topics.

Net Objectives Support Group (LinkedIn)

A LinkedIn group for all conversations relating to supporting Net Objectives courses including both technical agility, process, portfolio management. This LinkedIn group was formed by Net Objectives trainers and coaches who are active in the group.

Book Excerpts

The following books in the Net Objectives Effective Software Development Series relate to this course and offer online excerpts.

Essential Skills for the Agile Developer: A guide to better programming and design

This book answers the question many developers have after taking some initial Agile/Scrum training – “OK, how do I write code now that we are building our software in iterations?” This book provides over a dozen proven practices that help developers improve their coding practices and make their code more easily changeable and maintainable in Agile projects.

Emergent Design: The evolutionary nature of professional software development

As software continues to evolve and mature, software development processes become more complicated, relying on a variety of methodologies and approaches. This book illuminates the path to building the next generation of software. Drawing on patterns, refactoring, and test-driven development, Scott L. Bain offers a blueprint for moving efficiently through the entire software life-cycle, smoothly managing change, and consistently delivering systems that are robust, reliable, and cost-effective.

Test-Driven Database Development

Max Guernsey explains why TDD offers so much potential to database practitioners, and how to overcome obstacles such as the lack of conventional “testable classes.” You’ll learn how to use “classes of databases” to manage change more effectively; how to define testable database behaviors; how to maximize long-term maintainability by limiting a database’s current scope; and how to use “emergent design” to simplify future expansion.

Design Patterns Explained

Design Patterns Explained provides the reader with a gentle yet thorough introduction to design patterns and recent trends and developments in software design.