There should be some balanced path in the middle somewhere, but I haven’t stumbled across a formal version of it after all these decades.
This is where experience is so valuable. It helps you know how much planning to do before you start building. Or sometimes if you need to build something before you can start planning (i.e. prototyping). You need to identify the most critical problems to solve for your given use case, and make sure you do just enough planning to solve those problems. Often that means anticipating future requirements and making sure your plan doesn’t put you on a path that’s incompatible with future requirements. But don’t completely solve the future problems yet; do just enough to convince yourself that you aren’t painting yourself into a corner.
deleted by creator



