Conference archive


Monday, June 6, 2016 - 1:00pm to 4:30pm

Writing Developer Tests for Untested Legacy Code: A Hands-On Workshop

Although we would like to reap the rewards of test-driven development (TDD) on all our projects, there is a lot of challenging legacy code to maintain as well. Given the conundrum of needing good test coverage to safely refactor while at the same time needing to refactor the code to make it more testable, how do we proceed? Although not a panacea, the solution to this dilemma lies in simple, pragmatic techniques for teasing apart the big code hairball into more manageable strands. Rob Myers shows how to start by getting critical areas protected with automated tests, which allows further refactoring of the code's design or the addition of new features via TDD. Rob introduces guidelines for deciding which code to first wrestle into submission, offers a simple three-question preparatory exercise, and demonstrates precise tactical refactoring and testing tricks. Join in this hands-on session to experience these techniques first-hand on a small, but challenging, blob of untested code—your choice of C#, C++, Java, JavaScript, or VB.Net.

Laptop Required. Delegates should have strong programming skills and be familiar with programming techniques and an object-oriented language. Delegates should bring a laptop installed with their favorite programming language and IDE, and may want to download the matching “labs” repository from .

Rob Myers
Agile Institute

The founder of Agile Institute, Rob Myers teaches courses that are always a blend of fun and practical hands-on labs, “Training From the Back of the Room” learning techniques, and relevant first-person stories from both successful and not-so-successful agile implementations. With thirty years of professional experience with software development teams, Rob has been training and coaching organizations in Scrum and Extreme Programming since 1998. He currently works with tiny start-ups and huge Fortune 100 multinationals, helping them with cultural change and essential practices from Scrum, kanban, XP, and lean.