知道什么时候停止

程序员修炼之道

Posted by Peter Lau on November 24, 2024

when to stop

这是一个相当大的主题,可以在许多领域用到,今天主要在软件开发领域聊聊这个话题。

Elon Musk 和 OpenAI CEO Sam Altman 都推崇这样一个做法:你先迈出一步,再逐步精进。不要妄想等到万事俱备才开始,也不要期盼所需的前置学习都要掌握才开始,那样你永远都不会开始。

为什么会有这样的论调?

首先我们要承认没有绝对完美的计划,条件大差不差的时候,可以着手去做就要赶紧去做了。因为在实践中,你总会碰到意料之外的事情,这时候反过头来调整计划,反倒是一件好事。其次我们要得接受没有完美的产品,放到软件开发领域,也是如此。这时候我们就得知道在什么时候停止。

为什么?为什么软件存在瑕疵不去修理?为什么产品存在问题不去改进?

为了回答这个问题,需要弄清楚客户想要什么,可以接受什么,不能接受什么。根据客户的需求设定边界,我们就可以知道软件要做到什么程度。对于开发人员来说,够好即可,但不是没有边界的好。这个客户当然可以是我们自己,我们给自己安排任务,何时停止,也就是做到何种程度即可,也是很重要的,事事完美是很要命的。任务不可能都一样重要,都一样紧急,在次要任务上过度雕琢反而耽误了主线任务的进展。