TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Good enough is good enough (2013)

65 点作者 hypertexthero大约 1 年前

13 条评论

jp57大约 1 年前
I think a corollary to the problem of seeking perfection is the notion that there is always a global optimum and that we must be seeking it: a kind of fallacy of the One True Way™. Implicit belief in One True Way™ shows up in many places, like the adoption of &quot;best practices&quot;, rather than &quot;preferred practices&quot;, or merely conventions. Also in the undertone of many discussions that assume that if there are two solutions to a problem, then (at least) one must be suboptimal.<p>The concept that I have started leaning on in development is &quot;satisficing&quot;[0], i.e. finding the first solution that satisfies some criteria for acceptability. My new (tacit) motto is &quot;satisfice first, then only optimize if needed.&quot;<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Satisficing" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Satisficing</a>
moribvndvs大约 1 年前
Two significant overarching challenges I’ve had throughout my career are over engineering and analysis paralysis. Simple things can get spun from days to weeks, and occasionally I have gotten so anxious about edge cases and potential scale, reliability, or performance concerns that I deadlock and can’t get anything done. The advice is to not let perfect be the enemy of good. On the other hand, I think overvaluing expediency is bad craftsmanship.<p>I’ve found it worthwhile to first train yourself or your team to detect thrashing or deadlocks. This can be as simple as leveraging standups to hold each other accountable when it seems we’re lagging, to an individual tool where you set small, achievable goals for the day and regularly check in where you answer the questions “have I made progress towards these goals?” and “will I be able to finish these goals today?” where an answer of no to either question means you have fallen behind or are in danger of it.<p>When necessary activate a “get back on track” checklist:<p>- Does the thing holding me up align with the goal and requirements?<p>- Is there significant risk attached to the concern, e.g. harm to the user or business, jeopardizes the goal or requirements, legal or ethical concerns?<p>- Am I unable to mitigate the risk with workarounds, guide rails, quarantine, etc?<p>- Am I unable to iterate on this e.g. mitigate if possible and fully resolve later but before larger release?<p>- Can a quick pivot be made to address the issue without jeopardizing your deadlines?<p>If the answer to any is no, either throw it in the backlog or drop it entirely if it does not have tangible value to the user or stakeholder. If yes, reformulate a plan and reset upstream expectations.<p>I think this is something most people tend to do instinctively and without ceremony, but can be challenging for less experienced developers, perfectionists, stubborn folks, or people with ADHD.
评论 #40219352 未加载
qwertox大约 1 年前
Most of the &quot;temporary fixes&quot; to my hobbyist projects are good enough and stay as the implemented solution for over a decade. Nobody gets harmed or even dies if they break, which might be the most important criteria for not settling with &quot;it&#x27;s good enough&quot;.
评论 #40218450 未加载
wuj大约 1 年前
I think this sentiment only applies to certain products. A software like Slack can get away with being good enough. Self-driving softwares like Tesla&#x27;s FSD? Not so much. There are certain engineering solutions that aren&#x27;t viable without being perfect. People expect them to be perfect.
评论 #40215871 未加载
评论 #40216299 未加载
评论 #40217635 未加载
评论 #40217648 未加载
xg15大约 1 年前
I&#x27;d like to see some qualification of &quot;Good enough&quot;, &quot;Good enough for what exactly?&quot; - what priority&#x2F;stakeholder&#x2F;scenario are you using for deciding when it&#x27;s &quot;good enough&quot;?<p>Is it good enough to enable users to get their work done?<p>Is it good enough to make a profit?<p>Is it good enough to satisfy investors?<p>Those all lead to quite different outcomes.
edoardo-schnell大约 1 年前
I worked on a system that was good enough, then the requirements changed, becoming far more complex; suddenly it was almost impossible to keep improving and updating the codebase without 10 bugs appearing in production (and not in tests). Good enough may be good enough for the time being, in the long run who knows
chrisweekly大约 1 年前
Years ago some big-name VC or another tweeted &quot;Good enough sucks&quot; and got a ton of attention and praise for their keen insight and commitment to quality. I remember rolling my eyes and thinking, &quot;If it sucks, it wasn&#x27;t good enough&quot;.
评论 #40218910 未加载
chasd00大约 1 年前
engineering is the science of good enough.
评论 #40217120 未加载
m0llusk大约 1 年前
Is there really conflict here? It seems like good enough is an obvious first or second step, but over time experiences accumulate to the point where one more iteration of good enough comes to approximate perfection.
评论 #40215442 未加载
wiredfool大约 1 年前
Alex Martelli&#x27;s talks are always worth watching.
hollander大约 1 年前
Boeing joined the chat...
throwitaway222大约 1 年前
I get the gist and agree to some degree, but two stories down from this one is hackers that stole UHG data...<p>Was that good enough? Someone thought so at the time.
评论 #40215290 未加载
评论 #40215637 未加载
评论 #40215312 未加载
navigate8310大约 1 年前
In this day and age of perfectionism, being good enough to push out half-baked software is definitely cash-grab, especially when it cones to gaming and pre-orders.