Do you start off by creating a wireframe and then make iterations until you're happy and then develop code?
You want to start at the end and work backwards.
What are the outcomes or results that you expect the software to produce. Then you move backwards a step at a time to figure out what is needed at the front end.
A good User Interface modeler would help. A pencil and napkin can be just as good as any modeler. Don't get stuck in the technicalities.