Iterating user interfaces

scroll down arrow
go back arrowGo Back
In agile

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. Iterating works best when the creative and Web people are part of the team and are co-located. The benefits include:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.


To develop user interfaces iteratively using HTML prototyping you need to expect and embrace change. You need to write good code because high quality code is easy to change, and you need to maintain a working interface, always. Start small, and employ
varying levels of detail as required. And let things evolve.

Being able to change user interfaces quickly gives you an advantage and contributes to your ability to compete on the basis of speed.

Simon Baker
Simon Baker
Simon Baker is chief swashbuckler at Energized Work, a guerrilla technology lab based onboard HMS President in London. Simon cofounded Energized Work and in 2009 received the Agile Alliance Gordon Pask Award. He speaks internationally about applying agile and lean principles and techniques in business, software development, and information technology. With 22 years experience delivering software in the media, retail, healthcare, financial services and banking sectors, Simon is a leader doing things differently to find out what matters and get the right things done in the right way. He isn't afraid to question conventional thinking and disrupt the status quo. Simon feels strongly that work shouldn't feel like work and he has a track record creating exciting working conditions that help people change the way they deliver software for the better.

Leave a Comment

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.