Really depends on how well you have designed the application before you start coding.  I tend to do a fair bit of exploratory programming in the early stages and for that reason, I prefer microservices because it is easier to swap components in and out as I iterate towards the solution.