June 2022

Refactor, Rewrite, or Replace?

At some point, diminishing returns on software investments must trigger a rewrite, Right?

The most often cited reason for businesses to begin entertaining a rewrite or refactor of an application is the crippling speed of further development to meet the businesses’ changing needs.

Moving to refactor or rewrite an application is a big decision that involves:

  • Developing a sound business case
  • Developing a sound strategy, approach, and work plans
  • Understanding the risks to manage

During a refactor, most changes happen “under the hood”, so getting stakeholders to engage becomes a challenge.  During a rewrite (or a replace), the main challenge is that the existing application must be kept running until the new one is ready.

Here is our monthly curated list of thought-provoking articles, blog posts, and videos on refactoring, rewriting and replacing existing applications:


Refactor vs Rewrite: Deciding What To Do With Problem Software

By Matt Heusser

Over time application code becomes unmanageable due to patches, bad maintenance, freewheeling feature additions or other consequences of long operation.  In a refactor, developers make microchanges to clean up the code. With a rewrite, the coding process essentially starts anew.

This article examines the pros and cons of both refactoring and rewriting and how to make the right choice.



Refactoring: Improving the Design of Existing Code

By Martin Fowler

This book explains the principles and best practices of refactoring including a comprehensive catalog of refactorings to help develop a disciplined, one-step-at-a-time, approach.



Refactoring at Scale

By Maude Lemaire

Making significant changes to large, complex codebases is a daunting task.  This book is for those who need to do a substantial overhaul and are unsure how to go about implementing those changes.

In this book, Maude Lemaire walks through the entire refactoring process from start to finish. You’ll learn from her experience driving performance and refactoring efforts at Slack during a period of critical growth.



Video: Refactor vs. Rewrite

By Julie Yaunches

This is an easy-to-follow video on how to think about the business implications of doing a refactor vs. a rewrite of an existing application.

MangoChango’s ability to deliver unquestionable value to its clients is highly dependent on keeping abreast of new technologies and trends. Our clients value this commitment to leading-edge thinking and expertise.

MangoChango’s engineers are experts in a wide variety of technologies, frameworks, tools, and languages, with an emphasis on continuous learning as new thinking, tools, and techniques come to market.

Check here for more information and to explore our technology assessment and maturity framework.

Meet The Team

Talent Inside MangoChango

View this email in your browser