Every time I forget the mantra “F(orget) It, Ship It”, things don’t go well. Analysis Paralysis. Develop towards a stale goal.
Historically, projects get bogged down for ages making sure it’s “perfect”.
Face it, it’s never perfect. Ever.
This applies to software, companies, features, church activities and anything else that might be new and untried before. Analysis and rework is the killer of new ideas.
I build products for people to use. I know the data that my products use. I know some of the pain points I’m trying to solve for customers (current and future!). It’s SO easy to say “oh dang, let’s just add this one more XYZ widget before we call MVP”. It’s easier to add new features than it is to declare a product “good enough”.
OMG! HE SAID GOOD ENOUGH!
Yes, I did, and will again. Nothing is ever perfect, and “good enough” is not a declaration on the quality/reliability/security of a new piece of software code. It’s ‘good enough’ for someone to use. This is why we strive for a minimally viable product, or MVP.
Counter that with the bad attitude: “good enough”. That’s a statement on being lazy, not having professional quality standards and not giving a crap about what happens once something leaves your desk. This is NOT what I’m advocating for.
Draw a line in the sand
Before you build, define your target. Define your MVP. Define what is ‘good enough’ to your customer. It can’t suck. It has to add value. It has to be easy (enough) to use. It can’t be ugly, but it doesn’t have to be a work of art. Ever see the first Google home page or the first version of Splunk? Compare them to the current interfaces. Good enough at work.