Engineering the Future of Software
April 10–11, 2016: Training
April 11–13, 2016: Conference
New York, NY

Let's not rewrite it all

Michelle Brush (Cerner Corporation)
1:15pm–2:05pm Tuesday, 04/12/2016
Location: Sutton Level: Intermediate
Average rating: ****.
(4.18, 11 ratings)

Prerequisite knowledge

The audience should be familiar with a few architectural styles and have experience developing in at least one large software system.


Joel Spolsky argued in 2000 that rewriting code is the single worst strategic mistake a company can make. Sixteen years later, code written when Spolsky made that statement would now be considered legacy and fodder for new rewrite discussions.

Legacy code isn’t problematic because it is old. It is problematic because it often lacks testing, good design approaches, and documentation. It feels foreign to us because it’s behind on current technologies, new best practices, and recent architectural patterns. However, embedded in the legacy code is the deep domain knowledge that contributed to the complexity. Rather than rewrite it all, it is usually better to migrate the domain-specific logic to newer and better frameworks and patterns. However, even migrations come with risks.

Michelle Brush explores approaches to migrating code to new architectures based on business needs. Michelle explains how to identify the right approach for the codebase by understanding the goals of the project and the complexity of the domain. Michelle also covers architectural evolution failures and successes, pointing out the key aspects that determined the outcome.

Photo of Michelle Brush

Michelle Brush

Cerner Corporation

Michelle Brush is engineering director for Cerner Corporation, where she leads teams that develop the platform for ingesting stream and batch data specific to Cerner’s Population Health solutions. A math geek turned computer geek with 15 years of software development experience, Michelle has developed algorithms and data structures for search, compression, and data mining in both embedded and enterprise systems. She is the chapter leader for the Kansas City chapter of Girl Develop It.