ShipAnyways ← All posts

Rough vs. Broken: How to Know Your Thing Is Ready

You're stuck on whether this is rough enough to ship or broken enough to keep working. Here's how to tell the difference, and why it matters more than you think.

You have this thing. You built it. It works. It does what you set out to do. But for the past week or two, you're not adding anything new, just finding edges to smooth, small things to adjust, words to tighten. You already know shipping imperfect work matters. You've read the posts. You've shipped before like this. You're not stuck on belief.

You're stuck on the question: is this rough or broken. And that feels like it matters too much to guess.

Defining 'Done Enough' for Your Project

Done Enough is not completely finished. It's useful in its current form to someone besides you.

Can someone else download it, open it, use it, and get actual value without hitting a blocker. If yes, it's done enough. If they'd run into something that breaks the experience, not something that reads as rough, it's not ready yet.

That distinction matters. A typo or an unpolished UI is rough. A missing core feature or a bug that breaks the flow is broken. Rough ships. Broken doesn't.

The Mechanics of Actually Shipping

Set a ship date before you write the first line of code or copy.

Not a soft target. A date. Tell someone. Put it on your calendar. This is the one move that actually stops the endless loop. Without it, there is no done because you can always imagine something better.

The second thing: list what's in the version you're shipping and what's in v2. Not everything makes it to the first ship. The features that get you to does the job go in v1. Everything else queues up for next time.

The third thing: press send before you're ready. The moment it hits done enough, you ship. Not five minutes later. Not after you clean up one more thing. Right then.

Breaking the Perfectionism Trap

Perfectionism lives in your head. Your shipped version lives in the real world.

What's in your head is imaginary. It's you guessing at what will matter to someone else, designing for scenarios that might not happen, preventing problems that probably won't come up. It's a phantom version that will never ship because the gap between imagined perfect and actually done is infinite.

What you ship is concrete. Real people use it. Real feedback arrives. You iterate on facts, not assumptions.

This is the pivot point. The moment you stop defending what's in your head and start defending what you've actually made is the moment the polishing stops. The thing on the internet is better than the thing in your head, even if it's rough, because it's real.

What You Get Back After Shipping

The first thing you get is momentum. You shipped. That's quantifiable. You're not waiting anymore. You're moving.

The second is real feedback. Not the feedback you invent in isolation, but what actual users run into. Where they get stuck. What they don't use. What they ask for. That information is worth more than any amount of internal polish because it tells you what actually matters.

The third is evidence. You shipped something. It works. People use it. That's proof. The version in your head was a theory. This one is fact.

And the fourth, the one that compounds: you're building in public now. You're not in isolation mode anymore. You've created something other people can respond to, build on, suggest for.

Spot When You're Polishing, Not Progressing

If you're changing things nobody asked you to change, you're polishing.

If you're adjusting the same thing for the second or third time because you're not satisfied, you're polishing. If you're researching a better way to do something you've already done, you're polishing.

Polishing happens because it feels like progress. You're doing something. You're improving something. But you're not shipping anything.

The check: ask yourself if the change moves the project forward or moves it sideways. Forward is feature-complete toward done enough. Sideways is making the thing you've already built prettier.

FAQ

What if there's a bug in the version you shipped?

Fix it in v1.1 and ship that. The advantage of shipping imperfect work is you learn the real issues from actual use instead of inventing them in your head. A user found a bug no one in your head predicted. That's valuable data. You know exactly what to fix because someone showed you.

Shipping broken is different from shipping rough. Rough is fine. Broken is not. But if a bug shows up, you're already live and iterating. That's faster than staying in isolation and guessing.

How do you resist the urge to take it back down and keep polishing after shipping?

The moment it ships, it's the baseline. You're not returning to it to refinish it. You're building the next version.

The urge will come, especially in the first week. You'll see something that bothers you. You'll want to pull it down. Don't. Let it live. The momentum of having shipped matters more than chasing the perfect moment. If you keep taking things down to refinish, you haven't shipped in any meaningful way.

What if you can't tell if something's rough or broken?

You're in the grey area when the line isn't clear. The check: would you actually use this if you weren't the person who built it? If yes, it's rough and ready to ship. If you'd hit a wall trying to use it, it's not done yet.

When you're still unsure after that, show it to one person who hasn't seen the project before and watch them use it cold. You'll know in 30 seconds which category it is. Real-world reaction beats internal debate every time.

What if you ship and the feedback is that it's too rough?

Good. That means you got real feedback instead of imagining it. If people say "this doesn't work," that's a bug to fix in v1.1. If they say "this feels unfinished," you now know what your users actually want instead of what you think they want.

Build v2 faster because you're not guessing anymore. The rough feedback is better information than the silence of shipping nothing.


Ship Anyways is a channel of Round Table Strategy LLC, written and published by Regie Durana. Ship Anyways is a trademark of Round Table Strategy LLC. © 2026. All rights reserved.