Dynamic

Complete Rewrite vs Strangler Fig Pattern

Developers should consider a Complete Rewrite when maintaining legacy code becomes too costly, risky, or slow, such as with systems built on obsolete frameworks or with poor documentation meets developers should use this pattern when they need to modernize a large, monolithic legacy application that is difficult to maintain or scale, but cannot be replaced all at once due to business continuity requirements. Here's our take.

🧊Nice Pick

Complete Rewrite

Developers should consider a Complete Rewrite when maintaining legacy code becomes too costly, risky, or slow, such as with systems built on obsolete frameworks or with poor documentation

Complete Rewrite

Nice Pick

Developers should consider a Complete Rewrite when maintaining legacy code becomes too costly, risky, or slow, such as with systems built on obsolete frameworks or with poor documentation

Pros

  • +It is useful for modernizing applications to leverage new technologies, improve performance, or enable new features that the old architecture cannot support
  • +Related to: technical-debt-management, legacy-system-modernization

Cons

  • -Specific tradeoffs depend on your use case

Strangler Fig Pattern

Developers should use this pattern when they need to modernize a large, monolithic legacy application that is difficult to maintain or scale, but cannot be replaced all at once due to business continuity requirements

Pros

  • +It is particularly useful in scenarios where the legacy system is critical to operations, allowing teams to incrementally refactor or rebuild components while keeping the overall system functional
  • +Related to: microservices, refactoring

Cons

  • -Specific tradeoffs depend on your use case

The Verdict

Use Complete Rewrite if: You want it is useful for modernizing applications to leverage new technologies, improve performance, or enable new features that the old architecture cannot support and can live with specific tradeoffs depend on your use case.

Use Strangler Fig Pattern if: You prioritize it is particularly useful in scenarios where the legacy system is critical to operations, allowing teams to incrementally refactor or rebuild components while keeping the overall system functional over what Complete Rewrite offers.

🧊
The Bottom Line
Complete Rewrite wins

Developers should consider a Complete Rewrite when maintaining legacy code becomes too costly, risky, or slow, such as with systems built on obsolete frameworks or with poor documentation

Disagree with our pick? nice@nicepick.dev