Software Archeology and The Code Of Doom

By Kerri Miller

Elevator Pitch

This is a workshop/live code talk, where I’ll take a large open-source Rails project and demonstrate using code metrics, analysis, and visualization tools to uncover secrets of the code, find targets for improvement, and drive a refactoring forwards with confidence.

Description

You approach the legacy codebase with trepidation. If the vine-draped entrance and collapsing roof weren’t enough warning, traces of previous explorers before you lie scattered about, caught in bizarre traps and oubliettes. What next, snakes?! Don’t lose hope! There are tools and techniques for uncovering the past secrets of the code and getting control of its future. In this session we’ll explore a legacy codebase together using the tools of software archeology, to uncover the story beneath the code and learn about the present by digging up the dusty relics of a forgotten age.

Notes

This is a workshop/live code talk, where I’ll take a large open-source Rails project and demonstrate using code metrics, analysis, and visualization tools to uncover secrets of the code, find targets for improvement, and drive a refactoring forwards with confidence. The audience is beginner to experienced developers who are feeling overwhelmed and buried by legacy code, and need to see that its not impossible to get a handle on the code before it drowns you.

As Ruby and Rails gets longer in the tooth, more of us each year are dealing not with greenfield, but brownfield development and maintenance work. Even if we once started a project fresh, maybe we’re a couple years in and our team is growing.. well, all your new hires are dealing with legacy code, even if you’re not! I want to help people understand the frustrations, pitfalls, and labyrinths that are common to working with legacy code, and give them the tools to tame it.