Knowing what we want to achieve is usually the easy part. Finding solutions to our problems and understanding what we need to do to get there is more difficult. Sometimes an outside eye helps.
It usually never works to just build something. We need to fully understand the user. Being disciplined enough to prototype all the assumptions at the right time is the difference between success and failure.
Starting out, projects start by the team first making their product good enough, then good, and strive to make it great someday. Getting there depends on adapting it to meet all the needs of the user.