Lately we've been using an interactive wire framing tool to design and define the user experience across multiple pages of the application for our product development. It is working well for us as we can make changes faster than building HTML or code by an order of magnitude; it is even quicker than paper when you consider how much redrawing you do to explore ideas. We still use paper to get the rough idea sorted out first.
The lessons I have learned so far are:
- This isn't a waterfall process, you don't need to design the entire product up front though it does help to think of how other pages would need to fit in,
- A good unit of design seems to be a module consisting of about 8-10 core pages of functionality with some ancillary functionality,
- Don't worry too much initially about exact wording, content, formatting, etc.; focus on the rough design and most importantly, the flow of the application,
- The design process needs to stay 1-2 sprints or iterations ahead of the developers to avoid thrashing in the code.
- Deal with the nitty gritty details closer to implementation in the code.
Not everyone will agree with this process and we use other methods ourselves for different situations.
RIght now, this is the simplest thing that works for us in our new product development; and isn't that what great development is all about.