The only real solution, that most managers don't get, is to know all requirements upfront.
The only real solution, that most managers don't get, is to know all requirements upfront.
The only way to predict what all requirement will be in a product lifetime would be to invent a time machine. This is not what I call "a real solution".
The only real solution is to communicate a lot with the business analyst and make informed decisions on flexibility vs simplicity.
For me, the appeal of microservices is the organizational challenges it solves (allowing teams to move and deploy at their own pace).
My current codebase is a monolith because we're a tiny team, but the different parts are not tightly coupled more than they need to be and it doesn't feel slow to change things.
Similarly, you build a system with the best information available, and be prepared to change it when the information changes.