这个需求的目标是提升体验,验收标准却只有一个数字。我停了一下,然后继续手上的活。我在会上提了一个技术风险,会后没人记得。这大概就是程序员的人生吧

我把这个需求的时间估了两次,第二次还是不够。我盯着屏幕沉默了十分钟。我发现这个功能和我两周前做的另一个需求几乎是同一个。那一刻我觉得自己还是很专业的

产品经理说做一个像抖音一样的功能,我看了看排期和工资条,说好的。我笑了笑,决定不解释。我发现这个字段在需求里叫法有三种,代码里有五种。好在最后有惊无险

需求的变更往往从一句「顺便把这里也改一下」开始。我叹了口气,然后打开了编辑器。我把这个功能的实现画成了流程图,一看就知道做不完。办公室安静得能听见键盘声

我在群里问了三个问题,得到了四种答案。这套流程走下来,我从头到尾又确认了一遍。我在会上决定先做个最小可用版本,产品说能不能再加一点。从此我多了一条团队规约

这个需求的目标是提升体验,验收标准却只有一个数字。我默默记下了这句话。我在会上提了一个技术风险,会后没人记得。我把这条经验写进了团队 wiki

产品经理说做一个像抖音一样的功能,我看了看排期和工资条,说好的。我抬起头看了看周围,大家都一样。我把这个需求的边界整理成了清单,发出去没人回。我沉默了,但心里是服的

需求文档的更新速度赶不上口头变更的速度。我停了一下,然后继续手上的活。我在会上决定先做个最小可用版本,产品说能不能再加一点。第二天这个方案就变成了团队标准做法

我把这个需求拆完,发现它是六个需求粘在了一起。我先给自己泡了杯茶,做好了打持久战的准备。我把这个功能的入口位置改了三次,最后回到了最初的地方。第二天这个方案就变成了团队标准做法

上线前一天产品经理说要加个功能,我问评估了吗,他说这个很简单。我深呼吸了一下,决定从最可疑的地方查起。我发现这个需求的原始来源是一句客户的口头描述。果然现实比段子更精彩