When should you start over?

So far, this chapter has heavily favored refactoring an application. However, there are times when starting over from scratch is a better approach. Some of the rationales that make starting over a wise decision for the client are:

  • A complete change in architecture: I have had clients who requested that I migrate an application from being a monolith (a large single application) to becoming microservice-based (a number of applications that each perform a single feature). In cases like this, it wouldn't make any sense to try to keep the legacy application since the core application structure would have to change.
  • Moving to a different language/framework: Over the years, I've had a number of clients who had old ASP .NET and PHP applications approach me to rebuild their systems in Ruby. When it comes to changes languages or web frameworks it wouldn't be possible to retain the legacy application.

Notice how both these key reasons had nothing to do with bugs or messy code? The only time I'd recommend for a client to start over from scratch is if it's literally impossible to retain the legacy application.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.64.128