6 ms·
Rewriting != waterfall. Waterfall is a formal development model (5-10+ phases) that includes strict requirements, specifications, documentation, development, t
by 1letterunixname 3y ago
Rewriting != waterfall.
Waterfall is a formal development model (5-10+ phases) that includes strict requirements, specifications, documentation, development, testing, and deployment. If you need to build an elevator control system or a SCADA system for a steelworks plant, then definitely go there.
Rewrite is throwing away code (and downstream) and starting over.
There comes a point in some projects when support costs exceed greenfield development costs, or prevent forward velocity due to tech debt. This is rare, but it happens. The problem of massive rewrites is they are too often not lean and equivalent to big design upfront (BDU) because they cannot deliver an MVP and they throw away features users depended on (but failed to questionnaire, focus group, or look at telemetry for). The other issue is massive rewrites too often are used an excuse to avoid refactoring and selective rewrites with the magical thinking that "new == better". Too often, this is reinventing the wheel that isn't much better for 2x the effort.