Your First Design is Wrong

Rob Cowie
AbsaDesign
Published in
9 min readNov 17, 2023
Photo by Brett Jordan on Unsplash

Designing better and delivering faster is the dream of all designers, but it need not be a just a dream. Iterative design is a methodology that can both fast track your delivery and drastically improve the effectiveness of your designs. And best of all it’s not that difficult to implement.

I recently did a talk covering fifty things all designers must know¹, and the one theme that stood out was the importance of iteration. An iterative design practice in which we work on smaller pieces and iterate them continuously, making rapid changes, almost always leads to better solutions.

Great design comes from iterations of good design, and the iterative design process is a powerful way of enabling our teams to design and deliver better products faster.

The Iterative Design Process

The iterative design process starts with identifying a user need, and then generating ideas to meet that need. We then develop a prototype and use it in our research to test whether it meets the need in the optimal way. We take what we learned from testing and incorporate that into the design. After updating our prototype, we begin the process again until we’re satisfied that we’ve reached the best possible product for release to the market.

Let’s take a closer look at the five-step iterative design process.

1. Identify what problem we need to solve

Before we begin creating potential solutions, we need to know what problem we’re solving. Techniques like user interviews and human-centred research can help us better understand our users, what they’re interested in, and what problems they need us to solve.

2. Come up with potential solutions

Once we’ve settled on a problem to solve, we begin to create potential solutions. Stakeholders participate in design collaboration sessions to identify the best way to solve the problem, and once we’ve been through a few rounds, we choose one or two concepts to take forward to the prototyping stage.

3. Prototype the best solution(s)

Prototyping is at the core of the iterative design process. At this point, we want to begin making our designs look and feel tangible, so that we can test them and see if they work before moving into final design and production.

Prototyping is a cost-effective method to see if the design we have in mind performs in the way we had expected, and to examine additional alternatives before it becomes too expensive.

The prototyping stage allows us to test several designs, gather quick user feedback on them, and assess which of the options is worth pursuing further.

4. Test the prototype with users

At this stage our first priority should be getting the prototype in the hands of the people who the solution is designed for, and eliciting their feedback.

We also need to create some metrics to analyse our prototype against, in relation to the problem we’re trying to solve. The feedback we get from users will drive our changes and modifications in the next iteration of the design.

5. Iterate the design solution

Based on how our analysis phase went, we have two choices:

  • Push forward with our current design into the final design phase, or
  • Go back to the beginning with a new understanding of the problem.

We should stop iterating when the metrics set by our team indicate that our design is good enough. No design will ever be perfect, but the most important skill we can grow is our ability to know when to stop.

Ten Benefits of Iterative Design

Iterative design brings many benefits, and in my experience these are the top ten:

Photo by Amélie Mourichon on Unsplash

1. It results in a better solution

We rarely get things right on the first try, and good design takes time to perfect. The more we polish an idea or concept, the better our solution becomes. Also, when we treat our design as something that’s in progress, we’re more open to new ideas and solutions, and more willing to introduce changes in our design.

In Scott Anthony’s excellent Little Black Book of Innovation² he makes the case that 99% of the time, our first idea is wrong. The best thing we can do as designers is to accept that, move on, and iterate to come up with the best possible solution.

What we definitely don’t want to do is to be precious about our first design, and defend it all costs. Molecular biologist Francis Crick³, who helped discover the structure of DNA, explains the importance of not being precious:

“It is amateurs who have one big bright beautiful idea that they can never abandon. Professionals know that they have to produce theory after theory before they are likely to hit the jackpot”.

2. It helps create more user-centred products

Iterative design is all about creating user-focused products, which makes sense since the iterative design process is all about learning new things about our solutions and our users so that we can make improvements.

In a study by the Nielsen Norman Group, designs improved by 38% on each iteration. In four case studies, the median improvement in overall usability was 165% from the first to the last iteration⁴.

3. It helps us learn whether we’re solving real user problems

Involving users in the design process through research (using our prototypes), allows us to get closer to the real problems they face. It is our job as designers to understand the problems of our users, and to apply our expertise to creating solutions.

4. It saves time and money

One traditional design approach involves driving a project all the way through, and then making changes according to user feedback. This usually means that if there are errors and issues, you only see them at the very end. At that point, fixing them costs much more time and money than you would’ve spent if you’d fixed them earlier on.

In fact it costs, on average, 100 times more to make changes after launch than it does to make changes early on⁵. With iterative design, all the rework happens at the design stage when it is much quicker and cheaper, as opposed to it happening at the development stage.

5. It improves the design process

Iterative design enables the team to learn lessons so that we can continually improve our design process. It involves clients effectively in the design process evaluation, making it more likely that the design will reflect the interests of all stakeholders.

It allows for the rapid resolution of issues within the project team and establishes clarity early in the development lifecycle. It also gives the development team some certainty that their efforts are being focused on adding value for users.

6. It’s better for collecting and applying feedback

With each new design iteration, our team can collect feedback from customers and other stakeholders in the company. We can apply it immediately and shape the design in a way that meets everyone’s requirements, rather than simply hoping that the final version is optimal.

7. It’s more transparent

At any point in time, anyone from the design, development or business teams can get visibility into what we’re designing. Since the work is done in sprints, it’s easy to look at the progress done in the last sprint, instead of having to wait months for a finished design.

8. It enables us to work on more things at the same time

Iterative design allows more teams to work on different things at the same time. For example, one designer could work on the UX while another works on adjusting page elements, or helping the developers to implement the design solution.

9. It makes it easier to catch errors, bugs, and other issues

No designer is perfect, and even professionals can make errors based on assumptions about what is going to work. In iterative design, a product is tested at the same time as designers are working on it. This ensures that even if there are bugs, we can spot them right away instead of months later in the finished product.

10. It helps us to identify patterns

Iterative design enables designers to work on the individual journeys and processes involved in each of the pieces of functionality, and see how they fit together in the overall structure. It enables us to identify common patterns across the solution.

This makes for a better experience for the user when all functionality follows a very similar pattern. For the developers, this means that they have to develop only a few core pieces of functionality and then use those building blocks to develop the rest of the solution.

A few things which could hamper your iterative design efforts

You may be thinking that using this approach is perfect for any design team, but there are a few things that you need to get right to enable your team to work iteratively.

Photo by Jason Goodman on Unsplash

1. It requires deep collaboration

Collaboration during design helps to drive the solution in the right direction. For example, if our team realises that the initial project requirements were incorrect, we can reach out to stakeholders to discuss the issue, introduce necessary changes and restart the design process. Collaboration across all disciplines involved in bringing the solution to market is essential, so that is something we need to make sure is in place.

2. It will take your team time to adjust

If we’ve never followed an iterative design approach before, introducing it could be met with some disagreement. This is especially true when there are very rigid expectations in terms of definitions of done. Our best bet is to educate design and product team leaders on how to use this approach, and have them as our evangelists in the workplace.

3. It needs great project management

To stay up to date with ongoing iterations, we need a capable project manager who understands agile methodology to hold everything together. Projects are going on simultaneously, unlike traditional approaches where one phase starts once the previous phase is finished.

4. Most importantly, it requires us to know when to stop

One thing about the iterative design process is that perfect is the enemy of good. There is such a thing as iterating too much, and good enough is often better than trying to make everything perfect. I think we’ve all been there before — saving the 26th version of our design file and seeing no end in sight to the changes.

Iterative design doesn’t have a default definition of done, meaning it doesn’t state when the team should stop iterating. As a result, without clearly defined timelines, milestones, and metrics, the design might be stuck in an infinite iteration loop. We should stop iterating when metrics set by our team indicate that our design is good enough.

Experienced teams typically practice iterative design during design sprints. They set a clear timeline, goals for design interactions, and clear metrics that can be measured when testing the prototype with users. Make sure you have a shared and concrete understanding of what your prototype will be when every iteration is finished, and consider each iteration cycle as a problem-solving cycle to make design a purposeful exercise.

Now, over to you

Even taking these potential challenges into consideration, using iterative design is massively beneficial for everyone involved — both our teams and our customers.

The flexibility of the iterative process allows teams to ideate along the way and improve their solution during design iterations. Since the team constantly evaluates its solution, it also means that it has a higher chance of creating a product that will satisfy user needs and become commercially successful.

Is your team ready to start designing better solutions? An iterative design practice can be your path to success.

References

¹ Fifty Things all Designers Must Know — Rob Cowie. https://uxcentral.com/2023/10/25/2023-absa-design-masterclass/

² Little Black Book of Innovation — Scott Anthony.
Harvard Business Review Press, Boston, Mass., 2012

³ About Francis Crick.
https://en.wikipedia.org/wiki/Francis_Crick

⁴ Iterative User Interface Design — Nielsen Norman Group.
https://www.nngroup.com/articles/iterative-design/

⁵ Software Engineering: A Practitioner’s Approach — Roger Pressman.
McGraw-Hill, European edition, 1994

--

--