The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Avoid a software rewrite: it usually brings more trouble and puts you at a distance to competitors

Posted by jpluimers on 2023/11/22

[Wayback/Archive] lisacrispin on Twitter: “👇 This. If you want a new architecture, use the strangler fig pattern, and as he says in the thread, do it in prod. If you spend all your time rewriting, and your competitors spend that time adding new features for customers, your product will be in trouble.” / Twitter pointed me to the below thread.

The urge of rewrite often comes from a feeling of too much technical debt to carry. Preventing that technical debt in the first place would make this feeling go away in the first place so please strive for bringing down and limiting technical debt in the first place.

More about the above tweet further on in this blog post, but now back to the “rewrite everything” pit many fall into.

I saved the whole thread in [Wayback/Archive] Thread by @andrestaltz on Thread Reader App – Thread Reader App of which this are a few highlights:

A problem that is endemic to the whole developer community is the urge to “rewrite everything”. It is the one of the most harmful practices in software engineering.

Why? (thread)

The big mistake is to assume that with the “right tools” they can rebuild the whole thing in a short amount of time.

The trap is that they are optimizing for *speed* (productivity in getting things done), while they should optimize for *distance* (amount of use cases covered).
A complex codebase in production has covered a lot of *distance*, measured in how many important corner cases it covers when serving end-users. Developers underestimate the importance of this distance A LOT.

If a rewrite is truly required, then do it gradually and do it in production. Don’t downplay complexity that is inherent to the software’s use cases.

I archived the tweets as well, starting with the beginning of the thread at [Wayback/Archive] André Staltz on Twitter: “A problem that is endemic to the whole developer community is the urge to “rewrite everything”. It is the one of the most harmful practices in software engineering. Why? (thread)” / Twitter.

Back to the first tweet above

It mentioned the strangler fig pattern which I did not yet know about by name, but looking it up via [Wayback/Archive] strangler fig pattern – Google Search and found not just the original 2004 post by Martin Fowler (that describes the pattern in just plan text), but also a few other links that show way more insightful pictures.

So here are a few links for others interested in the strangler fig pattern:

–jeroen

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.