2 ms·
That sounds like you're trying to rewrite the whole app, NEVER do that[0]. You shouldn't end up with appv1, v2, v3. You should have appv1 along with appv1-foo
by theshrike79 2y ago
That sounds like you're trying to rewrite the whole app, NEVER do that[0].
You shouldn't end up with appv1, v2, v3.
You should have appv1 along with appv1-foobarmeasurement-v2 running. Then you slowly move traffic to v2 of foobarmeasurement until it can handle 100% of the load and has all the features - then you remove that feature from appv1 completely.
Then you GOTO 10 and pick a new feature to slowly strangle.
[0] https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- JamesSwift 2y agoMy point is that if the rewrite is not able to be classified as a refactor, it wont work. It has to be entirely invisible to the user (and product side of the org). Otherwise, it is never going to be completed.
- theshrike79 2y agoThat's literally the point of the strangler fig pattern :) The difference between a rewrite and refactor is a bit vague and nor easy to determine when talking theoretically.