How to Succeed as a Designer on Agile Teams: Embrace Imperfection

by Laura Klein | | 16 min read
545 shares

An agile team values shipping working software in order to gain customer feedback and respond to it. This emphasis on shipping working software, combined with short timelines to ship it in, often only a week or two, puts excessive pressure on designers to deliver designs to engineers in unrealistic time frames. How can a designer survive, let alone succeed in such a team? The key lies in a shift in mindset — to embrace imperfection. Let’s see why.

One of the biggest challenges facing UX designers in agile teams is time. If you feel that it is unrealistic to deliver polished designs within a week, then you’re right! It may not be possible to churn out pixel-perfect mockups at speed, all the time. And it is this expectation that often burns out designers. But it needn’t be this way. Agile teams function in a fundamentally different way than a design agency, and so, as a designer, you must adapt your work accordingly. This doesn’t mean skipping research or getting burned out in handing over polished assets. It’s somewhere in between — letting go of “perfection,” especially when it comes to mockups and functional prototypes.

Every professional strives to put their best foot forward, and designers are no exception. However, agile teams are not great places to be perfectionists, partly because there isn’t much time for it, but mostly because we rarely know what makes something perfect. And, what designers think of as “perfect” is almost never the same as what a user would consider “perfect.”

Instead of aiming for some nebulous version of a perfect design, aim for getting things good enough to learn from and iterate.

In this video, Laura Klein uses the analogy of a familiar household activity to explain how you can train yourself to think in terms of good enough, instead of “perfect.”

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

    A really hard part about agile design  for a lot of designers is this idea that we're going to put something out  into the world that isn't perfect. It's tempting to spend a lot of time tinkering with things, adding those little elements that we think will delight users. A lot of those things tend to get skipped on agile teams, and that can be really disheartening, frankly. The thing is, they're *not supposed to be skipped* on agile teams. It's kind of sad that they often are, but on good agile  teams that are constantly iterating and improving,

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

    there's plenty of time to add those touches  and to perfect the design. The key is *not to do it too soon*, and again this can be tough. A lot of designers seem to have some sort of belief in the idea of good design as its own thing, like there's a cosmic governing panel that decides whether something is well designed that's totally independent of whether the product makes users happy or makes money for the company or makes the world a better place. And it's a tricky balance. I'm the first one to point out that if you release an incredibly crappy product,

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

    you're not going to learn anything other than whether or not  people like to use crappy products. We're already pretty clear on that – they don't. On the other hand, if you spend months tweaking the fonts and obsessing over every single word or loading the product up with unnecessary features, you're very likely to waste a huge amount of time and money building things that nobody cares about but you. I really wish I had a simple system that would allow you to decide when you've hit *good enough* every single time. You know – a "Can I ship it yet? [] Yes [] No"; maybe someday we'll get that working.

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

    Until then, I want to talk about cooking for a  minute. Stay with me; I promise it'll all come together. It might make you a little hungry, though. Let's say you're cooking dinner, and the first step in this brand-new recipe  you're trying out is to cut up some potatoes. Now, if you do a terrible job of it and hack them up  into uneven pieces, it's probably going to ruin the dish and make it inedible because half of the potatoes will be raw and half will be overcooked and mushy and the whole thing will be awful. If you're not much of a cook, the important thing to understand here is that things of wildly different sizes tend to cook at different rates.

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

    And that ends up with some things being overdone and some things being underdone. So, instead of doing that, you take a little time, you use good knife skills and you cut the potatoes better. But now you have to decide how much  time you're going to spend on the potatoes.  Obviously, you could make them perfect, where  "perfect" means all exactly the same size and shape and weight, or cut into animal shapes or  trapezoids or whatever. Molecular gastronomists have almost certainly discovered the golden ratio of surface area to interior of potato,

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

    and I am sure that they would love to tell you all about it.  But the more time you spend carving your potatoes into identically sized polygons or whatever, the  less time you have for cooking the rest of the meal. And, frankly, having the potatoes perfect  doesn't contribute that much to the overall meal. The end result of perfect potatoes might not  be *noticeable* to the person eating the meal, and even if they did notice, it wouldn't increase their enjoyment of the meal enough to justify the time it took you to do it.

  7. 00:03:00 --> 00:03:33

    Nobody wants perfect potatoes  at midnight. They want good potatoes at 7pm. Remember, your goal isn't to make a perfect potato,  whatever that means; your goal is to *make dinner* – preferably a dinner that people enjoy eating. And what even is a perfect potato, anyway? Maybe you get them all the exact same size but they're still  too big, so they take too long to cook, and what you should have done was make them 20% smaller so that  they came out at the same time as the rest of the meal. Or maybe what makes a potato perfect depends  on who's eating it. I mean, if you're ever cooking it for me, just make mine sweet potatoes and just  go ahead and fry them, OK?

  8. 00:03:33 --> 00:04:01

    So, what's the solution? *Satisficing and iteration*. What is satisficing?  That doesn't sound like a word. Satisficing is a decision-making process that aims for *adequate or good enough*. What makes the potatoes good enough to eat and enjoy but doesn't take so much time that you never get them on the table and you don't have to take a bunch of expensive cooking lessons just to get them right? By the way, before you get mad at me and say, "We shouldn't just be going for good enough!" – *yes*, we should!

  9. 00:04:01 --> 00:04:30

    That's what *good enough* means! As long as we're not defining good enough as "barely edible" – we're just defining it as something we can make that people will enjoy eating. In agile design, we're also often saying that good enough is something that people will be able to use to *solve a problem* and that we can *learn something from*. What we want to learn is: *What would make the thing even better?* Because on agile teams and, honestly,  when cooking potatoes, we get to *iterate*. I mean, no, you're hopefully not going to just keep  throwing out the potatoes and doing them over and

  10. 00:04:30 --> 00:05:03

    over and over again before ever serving them, but  the neat thing about dinner is that a lot of us eat it every night. We can try these potatoes  tomorrow or next week or whenever we feel like it. Maybe we wouldn't try out a brand-new recipe  if our boss was coming over for dinner, but you could practice making  potatoes as often as you want. Same with a lot of the kinds of products  that we build using agile technologies. We get to make things and share them with subsets  of users in safe environments and get feedback   and then make them better. And the cool thing is  when we iterate like this we actually start to develop an idea of what *better* means.

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

    Let's say the first time that we make the potatoes we cut them roughly the same size, but we try not to stress too  much about them being a little off. This lets you get the potatoes on the table so that you or your  family or whoever you are cooking them for can try them. Maybe the potatoes would be better if you cut them a little smaller. Maybe the dish needs twice as many potatoes. Maybe you decide to substitute  cauliflower potatoes like a terrible person who hates food. Maybe the problem isn't the potatoes at all – it's the spices; they're all wrong; you didn't see that coming, did you?

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

    You'll have a much better  idea of what *better* means once you've shipped the meal and gotten feedback about what people liked  and hated and what they left on the plate and why. This is why I say there's nothing wrong with aiming for good enough, especially on the first few versions of something. Good enough doesn't mean gross and inedible, and it doesn't mean too broken or bad to learn from. It definitely doesn't mean we're never improving on it. It means we're getting something out that is *good enough to get feedback on and then we can improve it over time*.

  13. 00:06:01 --> 00:06:09

    Besides, spending less time obsessing  about the potatoes lets you spend time   on more important things like the fact that you  should have just made dessert and ordered a pizza!

The Take Away

Teams that can learn from user feedback and iterate on features tend to stress less about making a product “perfect” before it gets released. They know that, as long as it’s good enough, solves a user problem, and can be learned from, they can go back and make it better later. 

Unfortunately, a lot of teams that call themselves agile don’t ever go back and iterate, which makes this a tricky thing to implement. Work with your team to find out what “good enough” means for any given feature and then commit to going back and improving it once you have a better idea of what “perfect” looks like. You may still never make it perfect, but at least you won’t waste a lot of time adding things that make the product worse!

Images

© Interaction Design Foundation, CC BY-SA 3.0

Get Weekly Design Insights

Join 315,755 designers who get useful UX / UI Design tips from our newsletter.
A valid email address is required.
545 shares

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

Klein, L. (2024, April 3). How to Succeed as a Designer on Agile Teams: Embrace Imperfection. 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,755 designers enjoy our newsletter—sure you don't want to receive it?

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,755 designers enjoy our newsletter—sure you don't want to receive it?