Re:How I Became a Better Programmer
by AstralStorm on Tuesday March 21, 2017 @04:08PM
(#13925726)
For actual redesign, you end up with a long true refactoring iteration when no new features can be added. There is no guarantee you will not repeat the same mistakes or make it worse.
It is a very tough sell to most customers.
The quick cycle does not scale with project size.
There's definitely a balance, and if you know the type of problem you are solving ahead of time you can probably abstract early. But if you're just kind of feeling around in the dark, which seems to be relatively common in complex business applications (for instance), I much appreciate an implement-test-reflect-refator cycle.