2
3 Comments

When To Overhaul? (Day 435)

Time to market is important, and building quickly will incur technical-debts. After a year or two of quick feature deliveries, a platform could become hard to maintain and fragile--easy to break and slow to build new features.

But overhauling the entire architecture is costly. All the time spent in rewriting is the time lost from building new features. Huge opportunity cost. How do we decide when should we pull the trigger?

This could be solvable by a weighted decision tree. But usually it is simpler. When a system is fragile, there will be hard to solve bugs, and cost company money. There will also likely require longer times to add new features, and lots of regression tests needed for each new release. When that additional cost and time added up more than the overhead of rewriting the whole thing, it's the time to pull the trigger.

Of course, there are other concerns need to be factored in, such as the company's funding situation, available developer resources, etc.

The bigger question sometimes is that how do you make the non-engineering team understand the need of overhauling? This is a question I have yet to find a good answer to.

on June 26, 2021
  1. 1

    Plus I am currelty looking for such works as consulting assignments. if you are really bogged up by this issue, we can get on a video call and I can share my cv before that.

  2. 1

    About architeture you have to reslove it there is no other way. pain can be lessened if its done from inside out. thats an art rather than a process.

  3. 1

    Every friday you overhaul! Anyway i have seen this problem every where in the tech industry.

    Plus now dev guys use macs to show off rather than a simple linux machine. then you add docker then mocker then slacker.

    all we need is a simple IDE. First make all the team run on same machine. Then establish a process. If you need any help I ofcouse can help out. I have run my companies with just two three people when competitors hire 50 60 even 100s.