"YAGNI" is an acronym that stands for "You Ain't Gonna Need It"
In practice, it means you shouldn't jump the gun and write software that you presume you'll need in the future.
Build the simplest thing that will work and then see if you need what you initially presumed.
Often, you won't need it at all . . . .🤫
*I want to revisit this. Like all things, it depends. There is no point in architecting a new project without any structure if you know it's going to be a SaaS product with lots of services and some amount of complexity.
You should design software in such a way that it will give you some options down the line.
"Software Architecture is the stuff that's hard to change"- Dylan Beattie