Modernizing a working system: Incremental vs. big bang?

Ingmar Jager
Ingmar Jager
February 12, 2026
Lees in het Nederlands
Engineering

An engineer working through the night. Finished just before the deadline. He types the last line of code, plugs in the cable and hits Enter. Everything works on the first try. Applause! This is how it goes in movies. In the real world, that's the moment you discover you forgot some specifications.

Replacing everything at once (the big bang approach) often sounds like the fastest or most efficient route. But in reality, an incremental approach is almost always the better strategy.

Why is that?

  • You're always working from a functioning whole. After each step you have a system that runs. With big bang, you only have something that works at the very end. And if it doesn't work, you still have to trace back step by step until it does.
  • You can deploy and test much sooner. Replacing a subsystem is a manageable job. You get feedback sooner, results sooner.
  • When something goes wrong, you know exactly where to look. After all, you're only working on a small area. With big bang, the fault could be anywhere. Hardware, software, or in the communication between them.
  • You can adjust course along the way. Requirements change as you go, you gain new insights. With an incremental approach you adapt easily. With big bang you're much more locked into the original plan.

An incremental approach does ask something of you: you have to let old and new coexist. Build temporary interfaces, account for backwards compatibility, and accept that you temporarily have a hybrid system. Temporary can of course become permanent if you're not careful. This takes effort and planning, but that effort is predictable.

Have you ever experienced a big bang migration? I'm curious how that turned out.