完成定义
The Definition of Done

原始链接: https://adi.bio/done

在软件开发中,“完成”是衡量现实情况和交付价值的指标,而非个人努力的程度。开发人员经常陷入一种误区,即在任务仍处于测试、预发布或待处理合并请求阶段时,就宣称任务已完成。 真正的完成不仅仅是做完了你个人的那部分工作;它意味着代码能在所有设备上运行,经过了迭代反馈,已合并到主分支,并且用户可以在生产环境中完全使用。依赖人工智能来判定任务何时完成是一种危险的捷径,这会削弱专业判断力并危及职业稳定性。 归根结底,工作并不会仅仅因为你停止了操作就意味着“完成”了。只有当它在现实世界中创造了实际价值时,才算真正完成。在此之外的任何状态都仅仅是进度报告,而非已完成的目标。

对不起。
相关文章

原文

Done is a claim about reality, not about effort.

One of the most common traps that I see software developers falling into is considering something as done when it is clearly not done.

  • If it only works on your machine, it’s not done
  • If it hasn’t been tested, or there’s not been multiple rounds of feedback and iteration, it’s not done
  • If the pull request is not merged yet, it’s not done
  • If it’s live on dev or staging but not in production, it’s not done
  • If you’ve done your part, but another developer still has to do theirs, it’s not done
  • If it’s deployed, but still not available to the users it’s meant for, it’s not done

If you’re a software developer, I advise you to use the following definition of done.

It is done if it works on all supported devices, it has been tested with multiple rounds of feedback and iteration, the PR is merged, your team’s related work is also done, and it is live in production and available to the users.

And by the way, AI cannot really tell you when it is done either. You have to be the one to tell the AI when it is done. And guess what? If you believe the AI when it tells you that it’s done, then yes, you are the one who has to be afraid of AI taking your job.

Done isn’t when your work is over. Done is when value is created in the world.

So please tell me again, are you done?

联系我们 contact @ memedata.com