Do you find yourself moving elements and widgets around your presentation? If so then your going down the path of the shiny penny scenario. This scenario is where you have some pennies that you just move around. You’re not doing anything productive. See 37-Signals post.
It is not very productive, because you’re not actively adding business functionality to your application.
If you develop for functionality then presentation will follow. The functionality will constrain the the presentation to what it needs. If you develop from the presentation direction to functionality, you will be constraining the functionality.
Business needs define the functionality. Functionality will define the presentation.
So my recommended process is:
- Define the business need.
- Implement the functionality that satisfies the business need.
- Implement the presentation that utilizes the functionality.