I have known many who dislike themselves and try to rectify this by first persuading others to think well of them. Once that is done, then they begin to think well of themselves. But this is a false solution, this is submission to the authority of others. Your task is to accept yourself
Frederick Brooks eloquently stated the critical role of requirements to a software project in his classic 1987 essay, “No Silver Bullet: Essence and Accidents of Software Engineering”:
The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.