为何优秀如程序员,也会构建 Bug 满格的软件?( 十 )

2.找到问题并进行迭代

事实上,现代软件的结构如此复杂,变化如此之快,以至于我们无法通过良好的计划消灭所有缺陷。如同撰写一篇好文章一样,即便早期的草稿非常尴尬,但我们只能通过这些草稿了解最终的论文。要想构建优秀的软件,首先需要构建糟糕的软件,然后再积极寻找问题并改进解决方案。

刚开始的时候,你只需要跟需要帮助的人交谈。了解你需要解决的根本问题,并避免仅凭先入为主的偏见早早提出解决方案。当年,我们刚启动Parking.sg项目的时候,我们曾假设执法人员很难坚持心算纸质的优惠券。然而,在与某位经验丰富的官员交谈了一个下午之后,我们发现,对于专业人士来说,这些计算实际上非常容易。此次谈话为我们节省了数月的潜在工作,并让我们将项目重点放在了帮助司机上。

谨防伪装成问题陈述的官僚目标。比如:

“驾驶员在处理停车券时感到很沮丧”:是一个问题。

“作为政府部门家庭数字化计划的一部分,我们需要为司机构建应用”:不是问题。

推荐阅读