I like this article about
HTML prototyping and agile
development . While I wouldn't call it prototyping, it does
advocate building the real user interface iteratively, evolving
behaviour based on received feedback, and adding functionality
incrementally rather than produce a variety of static mock-ups such
as wireframes. We've been building user interfaces iteratively. It
works best when the creative and Web people are part of the team
and are colocated. The benefits include:
- Tangible progress is visible. A working application is the only true measure of progress. Clients and stakeholders love to see results, even if they're evolving. The sooner you have something real to show off, the happier everyone is going to be.
- It's more engaging. Because it's tangible people can play with it. Their understanding of how it works improves and they can provide better feedback.
- It bridges communication gaps. A common vocabulary emerges as people discuss and interact with the prototype, rather than interpret a design document. Communication and feedback are focused and less ambiguous.
- It's more thorough. It's better to invest a bit more time developing the prototype to gain insight into many variables that are overlooked by wireframes, e.g. state, security, error messages, level of effort, page flow, scripting, etc.
- It's a reality check. You have to consider factors contributing to the total experience, which you might ignore when creating wireframes, e.g. response time, ease of implementation, cost of maintenance, interfacing challenges, etc.
- It helps you avoid document debt. You achieve more because you can spend more time with developers evolving a working prototype and receiving valuable feedback, rather than writing and then having to maintain documentation.
- Talk is cheap. Typically, meetings and design documents are waste. Start writing code immediately. The sooner you uncover issues, the sooner you can understand them and adjust your estimates, and the sooner you can resolve them, avoiding impact to the timeline.
Being able to change user interfaces quickly gives you an advantage and contibutes to your ability to compete on the basis of speed .
1 Comment
I have mixed feelings about static prototypes. This includes wireframes, paper models and static HTML pages.
The big issue is that they convey a false sense of agreement on the requirements.
In my experience, it is the dynamic nature of an application that causes the most debate - and this is precisely what is left out from the static prototypes.
If you remember the dynamic aspects rather than treat the prototype as a complete requirements document I think it might have some merit.
However, I have also seen many organisations that do extensive photoshop/powerpoint/etc design upfront that is pure waste. This is especially true with enterprisey organisations where it takes months or years to release anything.
So I am skeptical - but just remember the "inspect-and-adapt" principle and you will be fine. Use it only if it works in your context.