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.
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.
©2016, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org