Complete Rewrite vs Feature Toggles
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 feature toggles when they need to release features incrementally, test new functionality with a subset of users, or quickly disable problematic features without rolling back deployments. Here's our take.
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 PickDevelopers 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
Feature Toggles
Developers should use feature toggles when they need to release features incrementally, test new functionality with a subset of users, or quickly disable problematic features without rolling back deployments
Pros
- +They are essential in continuous delivery pipelines for reducing deployment risks, enabling dark launches (where features are deployed but hidden), and facilitating experimentation in production environments
- +Related to: continuous-delivery, a-b-testing
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 Feature Toggles if: You prioritize they are essential in continuous delivery pipelines for reducing deployment risks, enabling dark launches (where features are deployed but hidden), and facilitating experimentation in production environments over what Complete Rewrite offers.
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