5 ms·
This came up a few weeks ago regarding crypto. There's a distinct difference between rewriting code WITH a regression suite, and rewriting code WITHOUT a regre
by 0xff00ffee 7y ago
This came up a few weeks ago regarding crypto.
There's a distinct difference between rewriting code WITH a regression suite, and rewriting code WITHOUT a regression suite.
The difference is enormous.
I come from a hardware background where the # of employees looks like this:
lead architects = N employees
microarchitects = 10 * N employees
circuit designers = 10 * 10 * N employees
validation = 10 * 10 * 10 * N employees
It is rough, but true: 10 lead architects can equal 10's of thousands of validation engineers
There's a reason why it is so upside-down: bugs cost a lot more in the hardware world than in software because they are much harder to fix in the wild.
The answer to the question, "Should we rewrite?" is always "maybe", and then requires risk exposure analysis and a robust mitigation plan. You need regression testing and a bug tracking system from day one, but you also need a rollout plan and a response team.
It is not an easy decision for established software. Or rather, it shouldn't be! :)