Big Bang Rewrite vs Feature Toggles
Developers might consider a Big Bang Rewrite when a legacy system is so outdated, poorly documented, or tightly coupled that incremental changes are impractical or too costly 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.
Big Bang Rewrite
Developers might consider a Big Bang Rewrite when a legacy system is so outdated, poorly documented, or tightly coupled that incremental changes are impractical or too costly
Big Bang Rewrite
Nice PickDevelopers might consider a Big Bang Rewrite when a legacy system is so outdated, poorly documented, or tightly coupled that incremental changes are impractical or too costly
Pros
- +It's suitable for small to medium-sized systems where the team can afford a complete halt and rebuild, often to adopt modern technologies, fix architectural flaws, or meet new business requirements quickly
- +Related to: legacy-system-migration, refactoring
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 Big Bang Rewrite if: You want it's suitable for small to medium-sized systems where the team can afford a complete halt and rebuild, often to adopt modern technologies, fix architectural flaws, or meet new business requirements quickly 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 Big Bang Rewrite offers.
Developers might consider a Big Bang Rewrite when a legacy system is so outdated, poorly documented, or tightly coupled that incremental changes are impractical or too costly
Disagree with our pick? nice@nicepick.dev