As a design student, or sometimes just when you’re off in imagination land, it can feel like the hardest thing you can do is get your design perfect. Would a drop shadow make this more intuitive? Is it subtle enough? Too subtle and no one can see it but me?
Should I go for the hamburger menu, or avoid it? Will users understand this creative menu I just cooked up? How can I make this elegantly simple and intuitive?
But once you’re out in the desert of the real… Well, if you’re like me, that is not the hard part.
The hard part is…
- …when the developer can only figure out how to get the drop shadow to look one way or the other, and neither of them is right, and you’re shipping in an hour.
- …when you realize your perfect design is not so perfect on a different screen size—but only after it’s totally built perfectly to your drawings.
- …when the design you know is best will take two months, and your team has two weeks. Or two days.
It’s the name of the game as a UX designer on a software team. But that doesn’t make it fun.
Handling compromise well is incredibly tricky. On one hand, you can be overly cooperative. This is often an early noob mistake, totally understandably. Who wants to be that guy that makes unreasonable demands? And it can take time to understand the technology and political landscape you are working in well enough to really make that call.
On the other hand, it’s not that hard to get frustrated to the point of laying down the law. A new UI sheriff is in town, and he’s not taking any prisoners. She is kicking ass and chewing gum, and she’s all outta gum. Ahem.
We must be constantly working to be somewhere in the middle. I feel like people want to act like all designers are equally even-handed, calm, composed—the exquisitely thoughtful professionals we plan to be. If we just pretend that this is the only kind of designer that exists, maybe we can will it into happening.
But realistically, we all have bad days. Days when we feel like the worst designer in the world and can’t stand up for what we know is a better product. Days when we don’t understand why no one appreciates our brilliance. Days when we just want to bust some heads.
To truly be those consummate professionals, we have to acknowledge that internal war against these extremes. It’s our duty to push ourselves towards the middle. It’s our duty to balance the respect and empathy we have for our collaborators with the business need to create great experiences and products. That’s literally our job. Some get caught up feeling like it’s just personal, that as a designer we’re the only ones that care about great UX. But good design is good business. If we fold like a house of cards every time someone puts up any resistance, we’re not doing what we were brought on to do.
So how do we toe that line? Here are some ideas.
Shoot for 80% first
Look, I know this is not intuitive. If you’re an overachiever, a straight-A student, or any kind of visual or detail-oriented designer, this just goes against the grain. Design is about detail. Isn’t it?
Yes and no. In today’s world, we can make build almost anything. Technical restraints lower with practically every day. The big problem of our generation, as Eric Reiss teaches, is more about determining not if something can be built, but should it? Does anyone even want it?
First, make sure that what you’re creating is needed, useful, and usable. Does it really truly solve a problem for someone, in a way that they can afford to pay for? Get some external validation first that this project you’re working on is something that’s going to last, or something that’s going to matter to someone outside your development team. You don’t need perfection to launch and get people using it. In fact, you need user feedback a lot more than you need to refine your design for the tenth time.
Only THEN polish your way towards 100%. Iteratively. On that note…
Agile, baby. It’s where it’s at. Heh, okay, I know that’s over simplification, but sprints and iteration can be your ally. Add the rest of your design that hasn’t been built to the backlog.
Can you get to 85% in the next sprint? The one after that? It may not be perfect, but it’s okay to work toward perfection incrementally. In fact, I think that’s the only way you can achieve “perfection.” Trying to achieve genius in one try usually fails, and when it succeeds, it’s usually luck. ;-]
Try not to be overly self-conscious. Users won’t roll their eyes at you, most of the time. They may not even notice (consciously) that that drop shadow is way darker than it should be.
Keep relationships focused on the future. Turn discussions toward user needs, your organization’s design vision, and the overall business direction, whether you’re arguing to build something more now, or plan to do it in the future. Steer away from anything that smells of ego, criticism, or limitations.
Vent… and maybe get feedback from others
Asking other designers, preferably not on your project team, can give you a more neutral view of if it’s time for more sunshine and roses or hellfire and brimstone. Developers can be great at this too.
Some of the most powerful performance feedback I received early in my career was from developers telling me I should push harder. The anonymous tip that these colleagues were actually frustrated because they had seen me occasionally give up, when the developer I was working with was wrong and what I was asking for was reasonable. It helped to know that the next time I went into a tough conversation.
Be okay with making mistakes
Remember that spectrum? You’re not always going to be mentally right in the middle. And what you need to do as a result will not always be the same. Sometimes it makes sense to make some waves and follow your frustration. Sometimes it makes sense to gulp and let this one slide.
And there’s no scientific way to know. (Or if there is, will you let me know?) ;-] Sometimes you will guess that something is worth disagreeing over, and you might be wrong. Sometimes you will back off, and it will turn out to be a mistake.
And that’s okay. You’re doing your best. Follow these other tips, search the design world for even greater wisdom on this process, and be kind to yourself on your journey towards ever improving. Also, be sure to look for if there are ways to learn from this particular situation.
Done is better than perfect
I know there have been times in my career when handling tradeoffs and compromises made me miserable. Some teams will ask for too many compromises, and that can be a sign that the company does not really value design—or their users. Considering that’s not the best business attitude to have, such an attitude has always been a deal-breaker for me. I don’t want to be a part of a business that doesn’t put the happiness of its customers in the highest regard. (But I also like being apart of teams that, you know, actually ship.)
If you find yourself in this kind of situation, you should start planning for radical cultural change over the long term, a slow process of baby steps—or a new job. Recognize that sometimes you have to cut your losses and find people who value your skills (and ask for a few less concessions), and therefore let you be prouder of your work.
Skillfully balancing different priorities can be extremely rewarding, though, in the long run. I feel like a total badass collaborating on a solution as a team that values UX as well as scope, performance, maintainable code, and all the other myriad factors that can come into play.
Life isn’t perfect. Software is never EVER perfect. By the time you think you got to 100%, you should have learned enough to feel back at 80% anyway. There is always more to do.
So my last tip is: embrace imperfection. We must embrace that slight entropy, that with time comes knowledge, and therefore our tastes will always be ahead of what we’ve created and built.
Don’t settle. Don’t be happy with imperfection forever. Be comfortable with imperfection in the present as something temporary and necessary to move forward.
Then, set your sights on a beautiful distant shore, and pull yourself ever closer.