I largely agree with these, except for #4:<p><pre><code> Ship First, Refine Never
Write good enough code that solves a user’s problem and only optimise when metrics demand it.
Too often, we’re focused on perfectionism or premature optimisation, which prevents getting our code in the hands of users quickly.
- Identify the critical components of your feature.
- Deliver only those to the user.
- Users just want to click the button, do the thing, and move on—anything else is wasting time.
</code></pre>
This only briefly touches on “only optimize when metrics demand it,” yet equally import is “collect the metrics and analyze them!”<p>Namely, talk to your customers, or use software to see how they are using your product. Often times, we don’t get something right the first time, so the idea that you’d aggressively deprioritizing refinement seems like a mistake.