I know he means well, but every time my boss talks about future-proofing, I cringe. On the face of it, future-proofing your software, that is, building your code in such a way as to allow it to meet future requirements with minimal refactoring, sounds like a worthy ambition, but in my experience it's always disaster.
The reality of future-proofing is that it boils down to adding complexity to your code that:
Another thing that really bothers me about future-proofing is that it implies that the future is full of bad things to be guarded against, rather than a cornucopia of opportunities to be embraced.