选择 Deadline 还是没有缺陷的产品?
date
May 31, 2023
slug
my-rework-deadline-or-bug
status
Published
tags
Rework
summary
要不要带着缺陷上线?
type
Post
Created Time
Oct 28, 2023 01:45 PM
Updated Time
Oct 28, 2023 01:45 PM
AI summary
Status
在实际的工作中,有时会遇到这样的问题:开发任务结束了,才发现有缺陷,此时,想要修复这个缺陷,就要延期,但不修复,就要把这个有缺陷的产品交付给用户,你会做出怎样的选择呢?
在职业发展的前几年,我的选择都是前者,也就是修复这个问题,并尽量保证不延期,但近几年,我却会坚定的选择后者,也就是先把这个有着缺陷的产品交付给用户。为什么这么做呢?有以下几个原因:
- 延期会降低士气。开发都结束了,才发现问题,现在采用延期的方式,必然会引起团队中一些成员的不满,一次两次,大家可能碍于情面,加个班,把问题解决了,久而久之,即使大家真的不在明面上说什么,也会对造成问题的成员不满,背地里偷偷说坏话,再和他合作时,就会心生嫌隙。团队合作就像打仗,“一鼓作气,再而衰,三而竭”,延期肯定会降低士气。
- 即使延期了,问题也不见得修的好。在这个阶段发现的缺陷,大概率是比较棘手的,解决方案往往也需要把原有的逻辑推倒重来,任务紧,问题复杂,开发人员此时估计也顾不上代码的优雅了,上来就是干,解决问题最重要,写出来的代码必然既不好看,也不好维护,而且这种加班加点赶出来的代码,往往出错的概率也比较高。
- 缺陷未必是缺陷。软件开发有时候挺玄学的,有时候,设计一个功能完美,质量上乘,没有缺陷的产品,投放到市场上,发现大家根本不买账,反而,一些产品,因为本身的功能不全,不合理的缺陷到了用户那里,却变成了有趣的设计,此时,你可以说它是 Bug,也可以说它是 Feature。
- 不延期也有解决方案。假设,我们现在发现这个即将上线的视频网站其他功能都很完美,但是收费系统有问题,是不是就一定要把收费系统做好呢?也不一定,我们甚至可以把收费系统暂时关了,先把视频网站上线,让用户免费体验,当用户用到收费的功能,想要充值会员的时候,提供一个联系的客服功能,或者干脆直接把你的网络账号丢给用户,让用户直接联系你,前期的用户肯定不会太多,一个兼职的客服人员完全可以处理的过来。换而言之,等到你的产品真的得到了用户的认可时,你再完善付费系统也来得及。
当然,有时候,选择前者,也就是修复好问题再上线,也是非常有必要的。这有点儿像你的女朋友生日到了,你还在准备生日礼物,你没办法带着没有准备好的生日礼物去见她,但你也不想她因为这个原因生气,此时,你最好有 PlanB。