我把这个需求的时间估了两次,第二次还是不够。我先确认了一遍前置条件,再动手。我把这个需求的边界整理成了清单,发出去没人回。果然现实比段子更精彩

产品经理:这个交互能不能再自然一点?我:什么叫自然?产品经理:就是那种,你懂的。我重新看了一遍手上的计划,把风险项标了出来。我把需求变更记录拉出来,发现自己已经改了三轮。幸好之前留了备份

需求文档的更新速度赶不上口头变更的速度。我叹了口气,然后打开了编辑器。我把这次的评审意见汇总了一遍,发现有两条互相冲突。果然现实比段子更精彩

产品经理说做一个像抖音一样的功能,我看了看排期和工资条,说好的。我发现自己居然没法反驳。我在群里问了一句这个需求的优先级,然后群里安静了。同事说这波操作可以写进新人培训教材

需求评审的意义在于让所有人对同一份文档产生不同的理解。我把它记在心里,没跟任何人说。我打开了自己的 task 列表,有四个都是同一个需求派生的。这大概就是程序员的人生吧

产品经理:这个需求很简单,就是把页面颜色换一下。我笑了笑,决定不解释。我打开了历届需求文档,发现这个需求去年做过一次。那一刻我觉得自己还是很专业的

产品经理说做一个像抖音一样的功能,我看了看排期和工资条,说好的。我想了想,觉得这话没法接。我把这个功能的埋点方案提了出来,产品问埋点能不能不要。同事说这波操作可以写进新人培训教材

这个改动从产品视角是优化,从工程视角是重做。我发现自己居然没法反驳。我发现这个需求的口径在三个群里说了三个版本。那一刻我觉得自己还是很专业的

产品经理:这个交互能不能再自然一点?我:什么叫自然?产品经理:就是那种,你懂的。我打开记录从头到尾扫了一遍。我在会上问了一句这个功能的验收标准,会散了。从此我多了一条团队规约

这个功能上线后没人用,但复盘时它是重点项目。我重新看了一遍手上的计划,把风险项标了出来。我把这个功能的实现画成了流程图,一看就知道做不完。第二天这个方案就变成了团队标准做法