Agile + DevOps USA 2024 Tutorial: Wrangling Your Untested Legacy Code: A Hands-On Workshop

SEE PRICING & PACKAGES

Tuesday, October 15, 2024 - 8:30am to 12:00pm

Wrangling Your Untested Legacy Code: A Hands-On Workshop

Although most agile developers would prefer to use Test-Driven Development (TDD) on everything, their products or systems usually contain existing untested "legacy" code which resists and stifles good TDD practices. Untested code is easily broken and can hide those defects for months. Even with TDD, a developer adding new behaviors to legacy code can quickly run into problems when that untested code must change. Characterization Testing (i.e., testing existing behaviors) is the ancillary technique that allows teams to strengthen their safety net of fast, automated tests. But adding tests to existing code is also no picnic, as code written without tests has many ways of resisting automated testing. How do we proceed? 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 get critical areas protected with automated tests. He introduces guidelines for deciding which code to first wrestle into submission, offers a simple three-question preparatory exercise, and demonstrates precise tactical refactorings and testing “tricks.” Join this hands-on session to experiment with these techniques on a small but challenging blob of untested code (your choice of C#, Java, JavaScript, Python, Ruby, or VB.Net).

*Laptop Required. Delegates should have strong programming skills and be familiar with object-oriented language and programming techniques. Delegates should bring a laptop installed with their favorite programming language, IDE, and unit-testing framework and may want to download the matching “labs” repository from https://github.com/search?q=user%3AAgileInstitute+labs-.

Rob Myers
Agile Institute

Rob Myers has been in the software development profession since 1986, and has been training and coaching organizations in Agile engineering practices since 1998.  His courses are always a blend of fun and practical hands-on exercises, Sharon Bowman's "Training From the Back of the Room" techniques, and first-person stories from both successful and not-so-successful Agile implementations. Rob is working on the final draft of his book, Essential Test-Driven Development (Addison Wesley, March 2025). He is also a Certified Scrum Alliance Trainer and aspiring Zen Buddhist priest.