I think it’s funny that we in the software engineering world actually have to create rules and idioms to remind us to do things the simplest way possible. When you can do anything, it actually takes conscious effort to simplify. Meet KISS (Keep It Simple, Stupid) and YAGNI (You Ain’t Gonna Need It).
Developers are not dumb, but sometimes we outsmart ourselves.
Where KISS suggests that you implement the full solution to a problem in the simplest way possible YAGNI asks the question of whether everything in the full solution is really necessary.
IMHO we shouldn’t fix a problem until we have the actual need in focus, and which point we know the details of the problem and can properly kick its ass. Or if the problem never comes up (which is often the case), then the problem solves itself. I’m not saying we shouldn’t plan ahead, but let’s only do so when we have an actual concrete issue we can aim our brain lasers at.