Designing data model

I have to develop the product from the scratch, designing the whole of the backend by myself.
The repetitive problem I face is how, to begin with, data modeling.
As sometimes clients provide vague information about the product, let us take an example if the client wants to develop a school management SAAS product.
Then my approach will be

  1. There will be a Super admin managing all Admin of the School.
  2. Registration of school will be a subscription model.
  3. Other features like timetable creation, and payment mode.
    Most of the intrinsic details get left out like if a student can log in, or their parents can log in, is there any login for teachers, librarians, and accountants.
    Considering this scenario
    Over time I stuck in overthinking scenarios and their handling.
    If somehow I have made schemas, and want to add other features like in this case login with a different role. It becomes difficult to upgrade schema in most cases.
    So what measure should follow when need to start a project from scratch or if by chance anything needs to be added later?

@Anshul_Negi your use case is very much a MongoDB use case. You don’t have to design schema as rigorously in MongoDB as in a SQL RDBMS. Imagine each major part of your application as a kind of document, and code to that document. The individual documents in a MongoDB collection do not have to be entirely uniform and consistent like the rows in a RDBMS table are. The collection metaphor is very flexible and allows you to experiment broadly.