Iterative Development

Your constantly-updated definition of Iterative Development and collection of videos and articles. Be a conversation starter: Share this page and inspire others!
263 shares

What is Iterative Development?

Iterative development in user experience (UX) design is an approach that involves continuous improvement and user-centered design principles. Designers and their teams create, test and refine designs in cycles. Designers learn from user feedback and make incremental improvements throughout the design process.

UX Designer and Author of Build Better Products and UX for Lean Startups, Laura Klein explains important points about iteration in software development.

Show Hide video transcript
  1. Transcript loading…

Table of contents

Why is Iterative Development Important in UX Design?

To define iterative development is to understand quickly how it’s a valuable design methodology. The ability—and freedom—to develop iteratively means that design and development teams can refine a digital product based on the user testing and evaluation they do, and keep refining it continually. In this approach, designers create a prototype, test it with users and analyze the results before they make improvements according to what they found. This cycle of feedback loops is one that continues until the teams get the design to meet user needs in the best way possible. So, as part of a product development process, the iterative development model goes a long way to make sure that brands’ product designers include the users’ requirements from the early stages, through the first versions to go in the testing phase, and on into refinement after refinement of features and content. 

For the software development of products like mobile apps and websites, the iterative development approach splits up the overall development process into smaller chunks—complete with steps like design, development and testing. Teams can work in sprints—like how teams do in the Agile design approach—to add new feature after new feature and test each one as they go, with improved versions of each iteration to show for it as they go. This point highlights the difference between iterative and incremental software development models. In the latter, teams strive to make fully working parts before they release a product.

An illustration of four people on a bridge representing the move from existing solution to next iteration.

The bridge between an existing version of a solution and the next iteration on it—to cross it takes careful consideration of users’ and stakeholders’ feedback, along with the team’s ideas on where to take things.

© Interaction Design Foundation, CC BY-SA 4.0

What are Benefits of Iterative Development in UX Design?

There are plenty of advantages of iterative development, and product teams can help themselves and their brands if they consider these as they work their way towards more user-friendly digital solutions. Key bonuses include the points that design teams can:

  1. Keep a user-centered approach: Iterative design in this sense puts users right at the heart of the process. Designers and their teams can keep sight of the fact that users' actual behavior often differs from what they say they’ll do—something that makes it crucial to test prototypes with real users.

    Author and Human-Computer Interaction Expert, Professor Alan Dix explains important points about prototyping:

    Show Hide video transcript
    1. 00:00:00 --> 00:00:31

      So, why do you need prototyping? Well, we never get things right first time. It's about getting things *better* when they're not perfect and also *starting in a good place*. Maybe if I'm going to make a wall for a house, I know exactly how big the wall should be. I can work out how many bricks I need. I can make it exactly the right size.

    2. 00:00:31 --> 00:01:00

      So, I can get it right first time. It's important to. I don't want to knock the wall down and retry it several times. However, there I have a very clear idea of what I'm actually creating. With people involved, when you're designing something for people, people are not quite as predictable as brick walls. So, we *don't* get things right first time. So, there's a sort of classic cycle – you design something, you prototype it,

    3. 00:01:00 --> 00:01:31

      and that prototyping might be, you might sort of get a pad of paper out and start to sketch your design of what your interface is going to be like and talk through it with somebody. That might be your prototype. It might be making something out of blue foam or out of cardboard. Or it might be actually creating something on a device that isn't the final system but is a "make-do" version, something that will help people understand.

    4. 00:01:31 --> 00:02:03

      But, anyway, you make some sort of prototype. You give it to real users. You talk to the real users who are likely to be using that about it. You evaluate that prototype. You find out what's wrong. You redesign it. You fix the bugs. You fix the problems. You mend the prototype, or you make a different prototype. Perhaps you make a better prototype, a higher-fidelity prototype – one that's closer to the real thing. You test it again, evaluate it with people, round and round and round. Eventually, you decide it's good enough. "Good enough" probably doesn't mean "perfect", because we're not going to get things perfect, ever.

    5. 00:02:03 --> 00:02:33

      But "good enough" – and then you decide you're going to ship it. That's the story. In certain cases in web interfaces, you might actually release what in the past might have been thought of as "a prototype" because you know you can fix it, and there might not be an end point to this. So, you might in delivering something – and this is true of any product, actually – when you've "finished" it, you haven't really finished, because you'll see other problems with it, and you might update it

    6. 00:02:33 --> 00:03:02

      and create new versions and create updates. So, in some sense, this process never stops. In one way, it's easy to get so caught up with this *iteration* – that is an essential thing – that you can forget about actually designing it well in the first place. Now, that seems like a silly thing to say, but it is easy to do that. You know you're going to iterate anyhow. So, you try something – and there are sometimes good reasons for doing this –

    7. 00:03:02 --> 00:03:32

      you might have *so little* understanding of a domain that you try something out to start with. However, then what you're doing is creating a *technology probe*. You're doing something in order to find out. Of course, what's easy then to think about is to treat that as if it was your first prototype – to try and make it better and better and better. The trouble is – if it didn't start good, it might not end up very good at the end, despite iteration. And the reason for that is a phenomenon that's called *local maxima*.

    8. 00:03:32 --> 00:04:02

      So, what I've got here is a picture. You can imagine this is a sort of terrain somewhere. And one way to get to somewhere high if you're dumped in the middle of a mountainous place – if you just keep walking uphill, you'll end up somewhere high. And, actually, you can do the opposite as well. If you're stuck in the mountains and you want to get down, the obvious thing is to walk downhill. And sometimes that works, and sometimes you get stuck in a gully somewhere. So, imagine we're starting at this position over on the left. You start to walk uphill and you walk uphill and you walk uphill.

    9. 00:04:02 --> 00:04:31

      And, eventually, you get onto the top of that little knoll there. It wasn't very high. Now, of course, if you'd started on the right of this picture, near the *big* mountain, and you go uphill and you go uphill and you go uphill and you get uphill, you eventually end up at the top of the big mountain. Now, that's true of mountains – that's fairly obvious. It's also true of user interfaces. *If you start off* with a really dreadful design and you fix the obvious errors,

    10. 00:04:31 --> 00:05:00

      *then you end up* with something that's probably still pretty dreadful. If you start off with something that's in the right area to start with, you do better. So, the example I've put on the slide is the Malverns. The Malverns are a set of hills in the middle of the UK – somewhere to the southwest of Birmingham. And the highest point in these hills is about 900 feet. But there's nothing higher than that for miles and miles and miles and miles.

    11. 00:05:00 --> 00:05:30

      So, it is the highest point, but it's not *the* highest point, certainly in Britain, let alone the world. If you want to go really high, you want to go to Switzerland and climb up the Matterhorn or to Tibet and go up Mount Everest, up in the Himalayas, you'll start somewhere better, right? So, if you start – or on the island I live on, on Tiree, the highest point is 120 meters. So, if you start on Tiree and keep on walking upwards, you don't get very high.

    12. 00:05:30 --> 00:06:04

      You need to start in the *right* sort of area, and similarly with a user interface, you need to start with the *right* kind of system. So, there are two things you need for an iterative process. You need a *very good starting point*. It doesn't have to be the best interface to start with, but it has to be in the right area. It has to be something that when you improve it, it will get really good. And also – and this is sort of obvious but actually is easy to get wrong – you need to understand *what's wrong*. So, when you evaluate something, you really need to understand the problem.

    13. 00:06:04 --> 00:06:31

      Otherwise, what you do is you just try something to "fix the obvious problem" and end up maybe not even fixing the problem but certainly potentially breaking other things as well, making it worse. So, just like if you're trying to climb mountains, you need to start off in a good area. Start off in the Himalayas, not on Tiree. You also need to know which direction is up.

    14. 00:06:31 --> 00:07:03

      If you just walk in random directions, you won't end up in a very high place. If you keep walking uphill, you will. So, you need to *understand where to start* and *understand which way is up*. For prototyping your user interface, you need a *really rich understanding* of *your users*, of the nature of *design*, of the nature of the *technology* you're using, in order to start in a good place. Then, when you evaluate things with people,

    15. 00:07:03 --> 00:07:30

      you need to try and *really deeply* understand what's going on with them in order to actually *make things better* and possibly even to get to a point where you stand back and think: "Actually, all these little changes I'm making are not making really a sufficient difference at all. I'm going around in circles." Sometimes, you have to stand right back and make a *radical change* to your design. That's a bit like I'm climbing up a mountain

    16. 00:07:30 --> 00:08:00

      and I've suddenly realized that I've got stuck up a little peak. And I look out over there, and there's a bigger place. And I might have to go downhill and start again somewhere else. So, iteration is absolutely crucial. You won't get things right first time. You *alway*s need to iterate. So, prototyping – all sorts of prototypes, from paper prototypes to really running code – is very, very important. However, *crucial to design is having a deep and thorough understanding of your users*,

    17. 00:08:00 --> 00:08:05

      *a deep and thorough understanding of your technology and how you put them together*.

  2. Make continuous improvements: The iterative approach treats design as an ongoing process and not a one-off or one-time event. It’s a mindset that frees designers to remain open to new ideas and solutions as they proceed throughout the development cycle.

  3. Design with flexibility and adaptability: Iterative design is—by its nature—resilient to changes, and it means that teams can accommodate new requirements or insights even far into the development cycle and so make late alterations. This quality of plasticity applies to how teams can revisit existing products, too, and tweak features and more to mirror and match what users really want out there in the marketplace.

  4. Enjoy a collaborative process: An iterative approach calls for deep collaboration among team members—a point that means teams can have a shared understanding of user needs and design goals and use that as a compass to guide the iterations they make. This clarity and alignment also help resolve misunderstandings within the project team early in the development lifecycle, so system requirements can stay well in line with user needs and expectations for a product or service.

    Laura Klein explains important points about cross-functional collaboration:

    Show Hide video transcript
    1. 00:00:00 --> 00:00:30

      Cross-functional teams, unlike silos, have all the people necessary to build a specific thing together. Let's look at an example. Imagine you're on a team that is supposed to build the onboarding flow for a new app that helps connect job applicants with jobs. You can't build the whole thing with just designers. Or with just engineers, for that matter. I mean, you probably could do it with just engineers, but it's a terrible idea.

    2. 00:00:30 --> 00:01:00

      A cross-functional team for this onboarding work might include a few engineers, perhaps some for the front end and some for the back end. Might include a designer, a researcher, a product owner or manager, maybe a content writer or a marketing person. In an ideal world, all of these folks would only work on this particular team. In the real world, where we actually live, sometimes folks are on a couple of different teams and some specialists may be brought in to consult. For example, if the team needed help from the legal department to explain some of the ramifications of a specific decision,

    3. 00:01:00 --> 00:01:32

      a cross-functional team would have a dedicated legal expert they could go to. But that legal expert might also work with lots of other teams. In agile environments, the cross-functional team generally sits together or if remote, has some sort of shared workspace. They all go to the required team meetings. They understand the goal of the team and the users. They're experts, or they soon become experts, on that onboarding flow. Contrast this to how it might be done in a siloed environment. In that case, you might have different people assigned to the team depending on need, which can seem really flexible.

    4. 00:01:32 --> 00:02:00

      Until you realize that you end up with five different designers working on the project all at different times and they all have to be brought up to speed and they don't really understand why the other designers made the decisions that they did. Same with the engineers. And do not get me started on legal. Silo teams tend to rely more on documentation that gets handed between groups. And this can lead to a waterfall project where project managers or product managers work on something for a while to create requirements, which they then hand off to designers who work on designs for a while

    5. 00:02:00 --> 00:02:29

      and then they pass the deliverables on to engineering, who immediately insists that none of this will work and demands to know why they weren't brought in earlier for consultation. You get it. By working in cross-functional teams instead, the people embedded on the project get comfortable with each other. They know how the team works and can make improvements to it. They come to deeply understand their particular users and their metrics. They actually bring engineering and even design and research into the decision making process early to avoid the scenario I described above.

  5. Enhance user experience: Because designers continuously test and refine their designs based on user feedback, it means that what comes out ultimately as the final product will be truly user-centric and meet user needs effectively.

  6. Reduce risk: To find and resolve issues early in the process greatly reduces the risk of product failure. It means that design teams don’t get stung by only discovering major flaws after full development—and so save themselves massive amounts of time and resources and the money of the brands that bankroll them. This cost-effectiveness therefore can make the whole design process more efficient, too. The early detection and resolution of problems keeps wasteful efforts or incorrect notions from taking the product even slightly in the wrong direction.

    An illustration showing two approaches to evolving a design for a car, one starting with a wheel, the other beginning with a skateboard.

    Product life cycles—to answer the call of market research and user wants in iterative steps on the way to the most desirable items on the market.

    © Interaction Design Foundation, CC BY-SA 4.0

  7. Foster innovation: The cyclical nature of iterative design provides opportunities for designers to explore new solutions and innovative features—ones they mightn’t have considered in a linear design approach.

  8. Have improved stakeholder visibility: Iterative development gives stakeholders better visibility of progress at each iteration. This means everyone involved in the project can enjoy more transparent communication and alignment throughout the project. It’s helpful for client relationship management, too—as opposed to a design team needing to present a finished product without context.

    Author, Speaker and Leadership Coach, Todd Zaki Warfel explains important points about how to present design work to stakeholders:

    Show Hide video transcript
    1. Transcript loading…

  9. Make learning and discovery a priority: The process prioritizes learning and discovery, so designers can get deeper insights into user behaviors, needs and expectations with each iteration they do.

  10. Get a Minimum Viable Product (MVP) up and running fast: One of the most precious plusses of iterative development is that a brand can release an MVP that’s respectable enough to get into the marketplace so users can test it. Then, designers can work to tweak it iteratively—with new features that are relevant and needed. This is an important differentiator between incremental and iterative development; in the latter, it’s vital to get something good out there—not perfect, just good enough on the road to iterative fine-tuning of the best version possible.

    CEO of Experience Dynamics, Frank Spillers explains essential points about MVPs:

    Show Hide video transcript
    1. 00:00:00 --> 00:00:30

      MVP as you know is *Minimum Viable Product*, the Lean Startup kind of idea. The idea with minimal viable product is that you create something that has the highest value proposition that you can put out as quickly as possible that will kind of meet the business objective, but that you can also engineer very quickly, that you're not trying to build this huge complicated thing.

    2. 00:00:30 --> 00:01:02

      The difference between that and *MDP* is that in UX we think about this problem as it doesn't matter if something is viable unless that is viable from a user's perspective. So, desirable or minimal desirable product, also called minimal happiness product, minimal happy product or minimal usable product – there are different spin-offs of it – but I like the MDP, because desirability is really important in UX, and if

    3. 00:01:02 --> 00:01:34

      the functionality has what a user really wants and needs, that is then from a UX perspective a good minimal viable product or a good minimal desirable product. So, first we want to specify user needs and bring those into our sprints, bring those into our backlog and to help inform what constitutes a good task to work on so that it helps the user, and so that's the spirit of an MDP,

    4. 00:01:34 --> 00:01:44

      and really drives home the need to focus on what *users* consider important as opposed to what engineering can do the most quickly and the most efficiently.

What Does Iterative Development Look Like?

To start on an iterative development cycle with the digital products they build, teams tend to engage in the following practices:

1. Plan and Research

The iterative UX design process begins with thorough planning and research. In this stage, design teams map out their requirements, collect necessary documentation and make a timeline for the first iterative cycle. Designers conduct comprehensive UX research to get insights into user behaviors, needs, pain points and challenges. They use various research methods—like surveys, focus groups and interviews—to build up a healthy and comprehensive understanding of the target audience.

UX Strategist and Consultant, William Hudson explains important points about user research:

Show Hide video transcript
  1. 00:00:00 --> 00:00:30

    User research is a crucial part of the design process. It helps to bridge the gap between what we think users need and what users actually need. User research is a systematic process of gathering and analyzing information about the target audience or users of a product, service or system. Researchers use a variety of methods to understand users, including surveys, interviews, observational studies, usability testing, contextual inquiry, card sorting and tree testing, eye tracking

  2. 00:00:30 --> 00:01:02

    studies, A-B testing, ethnographic research and diary studies. By doing user research from the start, we get a much better product, a product that is useful and sells better. In the product development cycle, at each stage, you’ll different answers from user research. Let's go through the main points. What should we build? Before you even begin to design you need to validate your product idea. Will my users need this? Will they want to use it? If not this, what else should we build?

  3. 00:01:02 --> 00:01:31

    To answer these basic questions, you need to understand your users everyday lives, their motivations, habits, and environment. That way your design a product relevant to them. The best methods for this stage are qualitative interviews and observations. Your visit users at their homes at work, wherever you plan for them to use your product. Sometimes this stage reveals opportunities no one in the design team would ever have imagined. How should we build this further in the design process?

  4. 00:01:31 --> 00:02:00

    You will test the usability of your design. Is it easy to use and what can you do to improve it? Is it intuitive or do people struggle to achieve basic tasks? At this stage you'll get to observe people using your product, even if it is still a crude prototype. Start doing this early so your users don't get distracted by the esthetics. Focus on functionality and usability. Did we succeed? Finally, after the product is released, you can evaluate the impact of the design.

  5. 00:02:00 --> 00:02:15

    How much does it improve the efficiency of your users work? How well does the product sell? Do people like to use it? As you can see, user research is something that design teams must do all the time to create useful, usable and delightful products.

It's crucial to research the context in which users will interact with the product—as it’s this information that needs to shape design decisions. For example, if users will use the product while they’re walking, they will need a different UX compared to when they’re sitting at desks.

Frank Spillers explains important points about users’ needs in context:

Show Hide video transcript
  1. Transcript loading…

2. Design and Prototype

Once the research is complete, designers move on to the design and prototyping phase. Here, they start work on the information architecture and user interface (UI) design. Designers work on sketches, wireframes, prototypes or design specifications so they can visualize their ideas quickly and effectively.

The conceptual design should display a low-fidelity, semi-functional prototype, wireframe or mockup that demonstrates the core features, functions and basic interactions. In the beginning, it's a good idea to focus on the top three things a user would want to do with the product and then make sure these are front and center in the design, both easy to find and complete.

William Hudson explains essential aspects of wireframing:

Show Hide video transcript
  1. Transcript loading…

Prototyping plays a central role in UX design—and here it serves as a middle- to high-fidelity representation of the final product or intended MVP. Prototypes make design ideas concrete, and they’re vital items for designers to test and determine if they’ll work. What’s more, prototypes facilitate good lines of communication since other stakeholders can come into the conversation to evaluate design ideas using the prototype.

3.  Test and Get Feedback

Once the development team has completed their coding and development, it's time to test for potential bugs or issues that team members might have overlooked during the implementation step. This stage is essential since it helps the development and design teams determine whether their design or product actually works—and can therefore work well—for the users who’ll encounter it.

Usability testing is a crucial part of this phase. It can slash the risk that teams might build the wrong thing. What’s more, it allows designers to catch design flaws early in the process—often these are things that designers may be too close to their work to notice. During usability testing, for example, designers ask users to complete common tasks while these users provide a running commentary of their thoughts. Designers pay attention to metrics like success rate, error rate, time on task, effort and number of confusions which users might endure.

William Hudson explains important points about usability testing:

Show Hide video transcript
  1. Transcript loading…

4.  Refinement and Iteration

The final stage of the iterative UX design process is where designers refine the prototypes based on the feedback and insights they collect. Designers focus on how they can improve the UX and UI. Now, it’s time to address usability challenges and make sure that the design can measure up to user needs and expectations.

This stage also calls for a thorough evaluation of all development up to this point. So, it’s time for the team and stakeholders to examine the project and provide feedback on any changes they need to make. Possibly the most vital aspect of iterative development is how the nature of this process lets designers optimize and fine-tune their serviceable solutions—building up to an MVP from the earliest prototypes. Each iteration enables designers to spot and fix errors early, so that what ultimately results will be a final design that doesn’t just meet the desired objectives in terms of usability, aesthetics and functionality but goes beyond them, too. Another vital point to keep top of mind is how the design edges its way towards speaking to users as they access it on their user journeys.

CEO of Experience Dynamics, Frank Spillers explains key points about user journeys:

Show Hide video transcript
  1. Transcript loading…

What are Best Practices to Implement Iterative Development in UX Projects?

This calls for a structured approach—one that emphasizes continuous improvement and user-centered design. Designers can then be in a better position to create more effective and user-centric digital experiences since they can evolve their designs in tandem with emerging technologies and user needs. Evolution is the keyword.

1. Set Up an Iterative Workflow

First, UX teams should infuse user research into the design lifecycle as early as possible. This approach helps them create designs that impress customers, prospects and internal stakeholders. The iterative process begins with planning and analysis, and it’s here where teams map out requirements, get necessary documentation together and create a timeline for the first iterative cycle.

The central idea is to create smaller projects with well-defined scope and duration. During each iteration, design and development teams constantly evolve their creations, implement updates and do it quickly. This is an approach that affords the exploration of multiple concepts, so teams can discard less-effective ones and build upon promising ideas.

2.  Follow an Effective Iterative Workflow

Namely, it’s a good idea to keep to this workflow:

  1. Start with solid user research and planning.

  2. Create initial designs and prototypes.

  3. Get feedback through testing and evaluation.

  4. Refine designs based on insights.

  5. Repeat the process until the desired outcome emerges.

It can take many iterations to get to the “ultimate version”—hence why an MVP is a valuable asset for teams to satisfy themselves with.

3. Use the Right UX Design Tools

The right tools are crucial for successful iterative UX design—and they’ll help designers create, modify and explore user interfaces and experiences throughout the design process. Designers need the best user research tools, wireframing tools, prototyping tools and visual design software to get the best functionality and feel for what they’ll iteratively build up to be the product they want on the market. What’s more, they’ll need the best collaboration and version-control tools to help them work together with other team members and stakeholders, experiment and backtrack if they need to.

It’s a constant cycle—with feedback loops and iterative changes.

A diagram representing the iterative process of UX design with user research, design and build.

It’s a constant cycle—with feedback loops and iterative changes.

© Interaction Design Foundation, CC BY-SA 4.0

Why is Iterative Development Important for UX Portfolios?

Another vital dimension where iterative development is valuable is in how designers can showcase their iterative development process in their portfolios.

Design Director at Societe Generale CIB, Morgane Peng explains important points about UX portfolios:

Show Hide video transcript
  1. Transcript loading…

When designers show how they take an iterative development process, they:

  1. Demonstrate problem-solving skills: Iterative development in UX portfolios shows how designers approach and solve complex problems. It illustrates how they can identify issues, generate solutions and refine the ideas they come up with through multiple iterations.

  2. Highlight critical thinking: When designers showcase the iterative process, they can put their critical thinking skills under the spotlight. Potential clients can then see how they analyze feedback, user data and testing results—the vital ingredients of how designers can make informed decisions and improvements that really count.

  3. Reveal design evolution: Iterative development in portfolios lets potential employers or clients see how a designer's ideas evolve and get from initial concepts, through all the tweaks and versions, to final products. This progression showcases that designer’s creativity, adaptability and ability to refine designs based on the new insights they get. All of these are vital ingredients for potential clients to get a taste of, and to see them set out in a portfolio trumps the sight of just a finished product.

  4. Illustrate user-centered design: Iterative development is a core principle of user-centered design. For designers to show a firm and fruitful grasp of this process, they’ll not just prove their commitment to creating products that truly meet user needs and expectations—but that they deeply understand how the industry works.

  5. Showcase research and testing skills: Iterations often call for designers and their teams to put in intense amounts user research, usability testing and data analysis. When a designer includes these steps in a portfolio, it shows how proficient they are in these crucial UX skills.

  6. Prove collaboration abilities: Iterative development usually demands designers to work with cross-functional teams. So, if a designer shows this, they can highlight how well they can collaborate, communicate and incorporate feedback from various stakeholders.

  7. Show attention to detail: Iterative development reveals a designer's commitment to refining and perfecting their work. What’s more, it proves how much attention to detail they have, plus their drive for excellence. It’s something that should mirror their value proposition—or what they can bring to the table for new clients.

An illustration featuring text defining a value proposition.

© Interaction Design Foundation, CC BY-SA 4.0

  1. Provide context for design decisions: When designers show how well they work according to an iterative process, they can explain the rationale behind the design decisions they make. This will give potential employers or clients clear insight into the thought processes that lie behind meaningful—and positive—changes.

  2. Highlight adaptability: To show iterative development at work in a portfolio is a sign of how well a designer can adapt to changing requirements, user needs or project constraints. That’s a valuable—if not vital—skill in the fast-paced world of UX design.

  3. Demonstrate project management skills: To show multiple iterations—and what went into them and why—can illustrate how well a designer can manage time, resources and project scope effectively.

  4. Build trust: When designers are transparent about the design process—including both successes and challenges—they can build trust with potential employers or clients. Case studies offer an excellent opportunity to show what went on behind the scenes—which is what prospective clients want to see if they’re to pick a designer they can have faith in.

A diagram showing the story arc approach to case studies.

Storytelling is exceptionally effective to show how a designer approached iterative development to tweak the best possible product or service at the time.

© Interaction Design Foundation, CC BY-SA 4.0

What are Disadvantages of Iterative Development?

For all its benefits, iterative development can present several challenges for designers and teams who work on UX projects. Here are some common issues, along with tips for how to overcome them:

  1. To overcome resistance to change: Some team members or stakeholders may resist taking an iterative approach—and that can be especially the case if they’re used to the Waterfall approach of doing things, where each team or team member works on their slice of the project and then passes it on down the line to the next. So, to address this, it’s wise to educate them on the benefits of iterative design and showcase successful case studies.

    Morgane Peng explains helpful points about how to get through to stakeholders who may not understand design needs in the context:

    Show Hide video transcript
    1. Transcript loading…

  2. To deal with time constraints: Iterative design can be time-consuming and—sometimes—add pressure to the process. To manage this, it’s best to prioritize features and focus on the most critical aspects of the design in early iterations.

  3. To maintain consistency: With multiple iterations coming and going, it can be hard to keep design consistency—hence why it’s vital to implement a design system or style guide to make sure there’s solid coherence across iterations. Consistency is one of the most fundamental ways for brands to win their users’ trust and it’s a fragile thing. So, designers need to always stay aware—and check how consistent the content is as they work to produce a seamless experience throughout the users’ journeys.

  4. To balance user feedback: Not all user feedback needs action—for instance, some of it may be about idiosyncratic matters that are peculiar to one individual. So, it’s important to evaluate feedback critically and consider it in the broader context of the project goals. It’s also essential to make sure that a design has good accessibility, so users of all abilities can use it.

    See why accessible design is so vital a consideration for brands:

    Show Hide video transcript
    1. Transcript loading…

  5. To avoid over-iteration: One of the most important points to remember is that perfect really is the enemy of good. There’s such a thing as iterating too much, and good enough is often better than trying to make everything perfect. That’s why MVPs make sense as part of the magic of a faster time to market for—ideally—the best products that brands can offer at the time.

“If you are not embarrassed by the first version of your product, you’ve launched too late.”

– Reid Hoffman, Internet Entrepreneur, Venture Capitalist, Podcaster, Author and Co-founder and Executive Chairman of LinkedIn

Overall, iterative development in UX design plays a massive part in how teams can create user-centered digital experiences that are more likely to succeed. Teams get to keep their fingers on the pulse of the user needs, the best features to include and much more, all while they gel together under a common vision. This fast and active pace means that projects won’t run the risk of a long gestation period on the wrong track. What’s more, it’s a symbol—if not a constant reminder—of the ideal that users should be at the heart of the design process, always. Last—but not least—when a brand does iterative development well, it’s a testament to their industry and wisdom to get something out on the market that’s whole and functional enough to work well—something that can get better at impressive speed with every tweak and addition.

A comparison of two approaches with 3 pictures of something like the Mona Lisa, one builds up in horizontal sections while the other builds up by filling in details from a sketch.

The whole story may not show right away, but users can get the picture and enjoy the product—and increasingly so with every iteration.

© Sean Promsopeak Nuon, Fair Use

Learn More About Iterative Development

Our course Build a Standout UX/UI Portfolio: Land Your Dream Job with Design Director at Societe Generale CIB, Morgane Peng provides a precious cache of details and tips for freelance designers.

Watch our Master Class, Win Clients, Pitches & Approval: Present Your Designs Effectively with Todd Zaki Warfel, Author, Speaker and Leadership Coach for many valuable insights.

Read our piece, Design Iteration Brings Powerful Results. So, Do It Again Designer! for additional important insights.

Go to Iteration in UX: Enhance Iterative Development in UX Design by Abdul Suleiman for further valuable details.

See What you need to know about iterative development by Dovetail Editorial Team for more insights and helpful information.

How does iterative development differ from traditional methods like the Waterfall model?

It’s different from these models in several key ways. In iterative development, teams work in small cycles and they refine the product with each iteration they make—something that allows for continuous feedback and adjustments throughout the project. Unlike the Waterfall model—which follows a linear, step-by-step process where each phase needs completing before the next one can begin—iterative development is much more flexible. It adapts to changes and new insights quickly—a fact that cuts down on the risk of costly mistakes. It’s an approach that results in a more adaptive and user-centered product, with regular feedback and testing helping to shape things at every stage. 

UX Designer and Author of Build Better Products and UX for Lean Startups, Laura Klein explains important points about the Waterfall approach: 

Show Hide video transcript
  1. Transcript loading…
 

How does iterative development compare to Agile methodologies?

Agile vs iterative development is a helpful comparison to consider to get sharper perspectives into both. Iterative development and Agile methodologies share a focus on breaking work into smaller cycles and delivering value incrementally. However, Agile provides a broader framework with specific practices and principles—such as Scrum or Kanban—to guide the process. Iterative development emphasizes repeating cycles of planning, developing and testing until the product meets the desired quality. Agile, meanwhile, incorporates iterative development but also stresses flexibility, collaboration and responding quickly to change. In short, iterative development is a core concept within Agile; Agile, though, offers a more comprehensive approach—but one that also includes principles like cross-functional teams, regular feedback and continuous improvement. 

 Laura Klein explains important points about the Agile approach: 

 

Show Hide video transcript
  1. Transcript loading…
 

How long should each iteration last?

Each iteration might last between one and four weeks. This time frame gives the team the leeway they need to plan, develop and test new features or improvements—and do so efficiently. Shorter iterations—around one to two weeks—help teams stay flexible and respond quickly to feedback or changes. Longer iterations—closer to four weeks—might work better for more complex tasks that need more time to develop. 

What’s key is to find a balance that keeps progress steady while assessment and adjustment can happen regularly. The iteration length should fit the project’s needs and the team's workflow—and so there’s steady momentum without overwhelming the team. 

Laura Klein explains important points about the Agile approach: 

Show Hide video transcript
  1. Transcript loading…
 

How do I involve stakeholders in iterative development?

It’s best to invite them to regular review meetings at the end of each iteration. In these meetings, present the work completed, get their feedback and discuss any changes or new requirements. It’s vital to keep lines of communication open—so provide updates on progress and upcoming goals. Also, encourage stakeholders to share their insights early, so the team can make adjustments quickly and help matters stay on a good course. Involve stakeholders regularly and you’ll create a collaborative environment where their input directly shapes the final product. What’s more, it’ll lessen the chances of unpleasant surprises later. 

Author, Speaker and Leadership Coach, Todd Zaki Warfel explains important points about how to present design work to stakeholders: 

Show Hide video transcript
  1. Transcript loading…
 

 How can I manage changes in requirements during iterative development? 

It’s wise to embrace flexibility from the start. To start with, prioritize the most critical features and allow less crucial ones to shift as needed. Communicate with your team and stakeholders—regularly—so you keep everyone on the same page in terms of priorities. When new requirements arise, assess what impact they’ll have on the project and then decide whether you include them in the current iteration or the next one. What’s more, keep the scope of each iteration as manageable as possible, so the team don’t get overwhelmed. From staying adaptable and focused, you can integrate new requirements smoothly while keeping a good rate of progress going. 

 Author, Speaker and Leadership Coach, Todd Zaki Warfel explains important points about how to present design work to stakeholders: 

 

Show Hide video transcript
  1. Transcript loading…
 

How do I track progress in an iterative development project?

Try using a visual tool like a Kanban board or a burndown chart. Break down the project into small tasks within each iteration and update the board or chart as tasks get completed and out of the way. Hold daily stand-up meetings to discuss what was done, what’s to do next and any obstacles in the way—and then review progress at the end of each iteration. Compare the work you’ve completed against what’s in the original plan. This approach keeps the team focused, plus it makes sure that everyone knows where the project stands. When you do regular tracking, you can spot issues early and adjust as you need to stay on course. 

 UX Designer and Author of Build Better Products and UX for Lean Startups, Laura Klein explains essential aspects of Kanban boards: 

 

Show Hide video transcript
  1. Transcript loading…
 

   Is iterative development suitable for large-scale projects?

It is. Iterative development breaks the project into smaller, manageable parts, so teams can focus on one piece at a time. This approach reduces the risk of errors. What’s more, it makes it easier to incorporate feedback and work in needed changes as the project progresses. When the team works in iterations, they can deliver functional parts of the project early—that makes sure that key features meet expectations before moving on. This method improves communication and coordination among large teams, too. That’s because each iteration provides a clear checkpoint for progress. 

 Overall, iterative development helps large projects stay on track since they make them more flexible and responsive to change—and raise the likelihood that teams can get a minimum viable product (MVP) up and running that much faster. 

 Laura Klein explains essentials aspects about MVPS: 

 

Show Hide video transcript
  1. Transcript loading…
 

How do I decide when to stop iterating?

Decide when to stop iterating by evaluating whether the project has met its goals and user needs. If the product functions well, delivers value and users are satisfied, it might be time to wrap up the development. Consider halting iterations if further ones just bring minor improvements or if they make matters unnecessarily complex. Another thing is to check on the resources, time and budget that are available—continuing to iterate indefinitely isn’t practical. Regularly review feedback from users and stakeholders to gauge satisfaction. If no significant issues or new features are in fact needed—and if the product does align with its original vision—then it’s a strong sign that the project can move towards completion. 

Laura Klein explains essential aspects about MVPS: 

Show Hide video transcript
  1. Transcript loading…
 

What roles are essential in an iterative development team?

Vital roles include these ones: 

 The product owner defines the vision and prioritizes tasks based on user needs. The project manager makes sure the team stays on track, facilitates communication between them and removes obstacles for them. Developers create the product—writing and testing the code for it. Designers focus on the user experience and interface. Testers or test users play a crucial role—since they find bugs and make sure the product meets quality standards. What’s more, stakeholders provide feedback throughout the process—which helps guide the project toward its goals, including how in line it is with the business objectives. Each role is vital, working together in cycles to ensure the product really does evolve efficiently and meet—or, ideally, exceed—user expectations. 

What are some popular books about iterative development?

Answer a Short Quiz to Earn a Gift

Question 1

What is the primary benefit of using iterative development in design projects?

1 point towards your gift

Literature on Iterative Development

Here's the entire UX literature on Iterative Development by the Interaction Design Foundation, collated in one place:

Learn more about Iterative Development

Take a deep dive into Iterative Development with our course Agile Methods for UX Design .

Agile, in one form or another, has taken over the software development world and is poised to move into almost every other industry. The problem is that a lot of teams and organizations that call themselves “agile” don’t seem to have much in common with each other. This can be extremely confusing to a new team member, especially if you’ve previously worked on an “agile” team that had an entirely different definition of “agility”!

Since the release of the Agile Manifesto in 2001, agile methodologies have become almost unrecognizable in many organizations, even as they have become wildly popular. 

To understand the real-world challenges and best practices to work under the constraints of agile teams, we spoke with hundreds of professionals with experience working in agile environments. This research led us to create Agile Methods for UX Design.

In this course, we aim to show you what true agility is and how closely agile methodologies can map to design. You will learn both the theory and the real-world implementation of agile, its different flavors, and how you can work with different versions of agile teams.

You will learn about the key principles of agile, examples of teams that perform all the agile “rituals” but aren’t actually agile, and examples of teams that skip the rituals but actually embody the spirit.

You’ll learn about agile-specific techniques for research and design, such as designing smaller things, practicing continuous discovery, refactoring designs, and iterating.

You will also walk away with practical advice for working better with your team and improving processes at your company so that you can get some of the benefits of real agility.

This course is aimed at people who already know how to design or research (or who want to work with designers and researchers) but who want to learn how to operate better within a specific environment. There are lots of tools designers use within an agile environment that are no different from tools they’d use anywhere else, and we won’t be covering how to use those tools generally, but we will talk about how agile deliverables can differ from those you’d find in a more traditional UX team. 

Your course instructor is product management and user experience design expert, Laura Klein. Laura is the author of Build Better Products and UX for Lean Startups and the co-host of the podcast What is Wrong with UX?

With over 20 years of experience in tech, Laura specializes in helping companies innovate responsibly and improve their product development process, and she especially enjoys working with lean startups and agile development teams.

In this course, you will also hear from industry experts Teresa Torres (Product Discovery Coach at Product Talk), Janna Bastow (CEO and Co-founder of ProdPad) and Adam Thomas (product management strategist and consultant).

All open-source articles on Iterative Development

Please check the value and try again.

Open Access—Link to us!

We believe in Open Access and the democratization of knowledge. Unfortunately, world-class educational materials such as this page are normally hidden behind paywalls or in expensive textbooks.

If you want this to change, , link to us, or join us to help us democratize design knowledge!

Privacy Settings
By using this site, you accept our Cookie Policy and Terms of Use.

Share Knowledge, Get Respect!

Share on:

or copy link

Cite according to academic standards

Simply copy and paste the text below into your bibliographic reference list, onto your blog, or anywhere else. You can also just hyperlink to this page.

Interaction Design Foundation - IxDF. (2016, June 2). What is Iterative Development?. Interaction Design Foundation - IxDF.

New to UX Design? We're Giving You a Free eBook!

The Basics of User Experience Design

Download our free ebook “The Basics of User Experience Design” to learn about core concepts of UX design.

In 9 chapters, we'll cover: conducting user interviews, design thinking, interaction design, mobile UX design, usability, UX research, and many more!

A valid email address is required.
315,806 designers enjoy our newsletter—sure you don't want to receive it?