When developing a program I make a list of what I want to accomplish in the way of features and functionality.
I then start programming.
At first I work on the functionality and once the program is functional I then create the user interface and add creative design.