Michał Kurzeja
Mar 7, 2018 · 1 min read

Great question! Let’s assume for now we are talking about an app that makes money (if not, you should probably shut it down ;)). You can do three things:

  1. Rewrite from scratch
  2. Slowly refactor the codebase part-by-part. You should probably use the autonomous bubble pattern here or a similar approach.
  3. Slowly rewrite the app part-by-part by using the strangler pattern (I will write a post about that one too)

Depending on different factors like the number of lines, code messiness, etc. you should use the second or the third approach. Our preferred way is the last one. It allowed us to introduce good patterns and processes in the new part quickly. We are currently doing a rewrite using this approach, and we release up to several version a day. The deployment takes 3–4 minutes, we have automated tests, the app is containerized, etc.

Michał Kurzeja

Written by

CTO and co-founder of Accesto with 8 years experience in leading technical projects. Co-founder of Wroclaw Symfony Group.

More From Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade