At least in a private industry context - tis is the #1 reason how developers often justify over-engineering.  Actually, vast majority of software either never ships or fails to achieve any meaningful use &#x2F; market leadership (i.e. no one buys it), because the engineering team was too busy future-proofing it.  The truth is, your software is most likely to become irrelevant lightning fast (remember the 90s?),  and you should consider yourself lucky to incur maintenance debt :)