When a product is close to launch, I become a perfectionist. Each misaligned element or awkward interaction is like a thorn in my side. There’ll be a dozen tiny implementation mistakes that taunt me each time I run into them. Everything seems so broken.
But to everyone else on the team, the product seems fine! It’s functional. They ask, “Will moving that button by 3 pixels really improve our product?” They argue, “The last time we fixed a small design bug, the product didn’t feel any different.” And so the team moves onto the next big idea and the next set of features.
If you’re anything like me, this situation can be incredibly frustrating. As designers, we are held responsible for the overall quality of the experience. Yet we’re at the mercy of our teams. We can design beautiful, intricate, delightful details — but we can’t build, test, and deploy them all.
As the design editor of my high school yearbook, I can relate to this 100%. While not precisely analogous to software development, I faced the same struggle: my aim for perfection clashed with my colleagues desire to ship.
Most people who look through the yearbook we shipped won’t notice the section titles next to the page numbers, how they’re all perfectly uniform and beautiful. But if they weren’t all uniform or if we’d left some out, then people would notice. Immaculate attention to detail in design isn’t often praised, but it goes a long way towards making a product “nice”.