The Mythical Rewrite

16:40-17:10, Lecture Room 3

I’ve had the (mis?)fortune of spending almost half my career tasked with performing what Joel Spolsky calls the “single worst strategic mistake” a software company can make - rewriting applications from scratch. It’s usually been the right decision, but it’s often been a much greater challenge than it first appeared.

In my experience, “just rewrite it” is such a common suggestion that it’s worth talking about how you make the choice between a scorched Earth-style rewrite and an incremental refactor; what are some of the cognitive biases that lead you to think that a rewrite is the answer (code is easier to write than read; it’s easy to forget than those that came before you probably made okay decisions); and once you’ve made the decision to rewrite an application, how you approach that task without living to regret it.

By the end of the talk, hopefully the audience will have gained some insights from practical experience of rebuilding multiple applications (sometimes more than once), the mistakes made along the way, and we’ll all have learned the single most important lesson of all: it’s never as simple as you think it is.