If you’re a small team or building a saas from ground up
Your target should be to build or create a system that is as opinionated as possible
By doing so you are introducing constraints on how your system can be used
And thus it helps you to decide or narrow down on who can actually use it
If your app is for everyone then it is for no one
But it being opinionated helps you narrow down on the ICP
Or based on the ICP, you can introduce the opinionation
But make it opinionated.
You have to sell to only one type of person
If it is for more than one, you have already lost the plot.
Use open source libraries that are opinionated refer them for ICP and you are gold
The opposite of what I’m talking about is software that is very free and lacks constraints
That means you just increase your chances of encountering more and more edge cases and increased the complexity
Which if you’re a small team, you definitely don’t want
The complexity here will be compounding not increasing linearly with each removed constraint