Software survives by being easy to replace.
This may sound counterintuitive, but if there’s one thing we know, it’s that things change. Technology evolves. Requirements shift. Sooner or later your system, or parts of it, will be replaced. Often sooner than you think.
My latest blog post discusses some helpful guidelines.