Saying goodbye to “Good enough”

Photo by Clark Tibbs on Unsplah

One of the great debates of any cross-functional product team is “are we ready to ship?” Design wants to get that last little pixel detail in, Engineering wants that extra bit of refactoring done, and Product wants it released to users. How do we balance all of this into a release that everyone can be proud of?

Through my past experiences, I’ve realized there’s a spectrum to this—from good enough to perfect. It’s easy to fall into the trap of being on either end, but there’s a middle ground here that I think is critical to the success of your product as well as your team’s dynamic. Let’s dig in!


“Good enough to ship”

A polarizing phrase. For some, it’s simply the path of action. For others, it can make your hair stand on end and send chills down your spine. The problem with phrases like good enough is that there’s this negative connotation tied to it—that we’re taking a shortcut.

“We know it’s not really there yet, but it’s fine.” “We’ll put it out, and we’ll fix it later.”

But other work takes priority and later never comes. The danger here is that you wind up losing the user’s trust with a solution so far off the mark it makes it difficult for users to have faith in your next iteration.

“Not quite perfect yet”

On the other end of the spectrum is the idea of creating THE solution. The perfect design, the perfect code, the perfect product. On the surface, striving for this seems inspiring, but in reality it means you’re going to burn out trying to achieve the unachievable. Let’s be real: there is no perfect product out there. A product is never finished. It’s continually evolving and there’s always something that can be improved.

Striving for perfect means you’re willing to sink time and resources with diminishing returns in terms of the value you bring to users. You can also fall into a situation where your perfect solution doesn’t even satisfy user needs. You can easily end up building a low-value product, forfeiting the opportunity to learn, and leaving your users empty-handed.


Finding the middle ground

Perfection is unattainable and good enough is simply not enough. Instead, let’s shift the mindset towards great enough, a new mentality and theme to weave into your everyday work.

Great enough means you don’t settle just for the sake of getting something out. You also don’t allow yourself to spiral out of control in pursuit of an unattainable goal.

You sit squarely in the middle, striking a balance between the two extremes. You push further than “it’s good enough; let’s ship,” but you also pull back and consider, “are we over-indexing on this? Can we get this out now and start to learn?”

Practically, great enough isn’t the easiest thing to quantify because everyone will have their own definition of great. It will be a sliding scale, but the idea is to have this thought in the back of your mind as you approach every problem. Work with your team to determine what great enough means for you and use that as your benchmark.

One way that our design team here at Envoy focuses on living up to this bar is through something we call the product design backlog. Each designer brings to this backlog solutions in our products they’ve found to be only good enough. We get together weekly to review these individual tickets and prioritize the ones that we can tackle alongside our regular work. These prioritizing sessions allow us to scope down the work, preventing it from ballooning into attempts to perfect the solution. Through this process, we’re able to elevate our products to great enough even in the small extra details that may otherwise be forgotten.


Today, try instead to push for everything to be great enough. Fight a little bit extra for your user and their experience, but remember at the end of the day, they need something in their hands to actually use. Your product is only as good as the value people get from using it.


Thanks for reading! Be sure to visit envoy.design and subscribe to get notified when we publish something new. Or check out my previous story: Redesigning the core Envoy experience.