写点什么

程序员成长第十一篇:弄懂需求

用户头像
石云升
关注
发布于: 2021 年 02 月 22 日
程序员成长第十一篇:弄懂需求

一、弄懂需求目的。

对开发而言,弄懂需求,就是要知道需求的目的,以及用何种方式去实现。实现后,再看结果跟预期是否相符。如果相符那就做对了。如果不相符,那肯定哪里做错了或想错了。


产品经理的需求文档是通过 X 推导出来的 Y。我刚刚工作那会,需求评审会上讲的都是 Y,从没人告诉我 X 是什么。但 Y 只是实现方式之一,也许还有更合适的方式 Z,在不知道 X 的情况下,团队其他人没办法想到 Z 方案。


有了需求目的,每个参与者都可以想”有没有更好的实现方式?“开发人员也可以提出实现方式,而不只是用编码去实现需求。虽然我们戏称自己是“码农”,但我们不能是”码农“。


回过头看我自己经历的项目,做了很多伪需求。也就是加班加点,做完后对产品没有任何改进的功能。最关键的问题就是产品负责人很少说需求的目的。这也是后来我要求做需求必须先讲需求目的的原因。


二、弄懂需求细节。

代码的世界里没有"随便”,要么 0,要么 1。把需求理清不是一件容易的事情,这是一种需要锻炼的思维方式。你得非常熟悉理解业务和系统,否则你就只能先听、先学。


我们来看一个案例,产品根据用户反馈,做了一个需求。当用户购买的订单,满 49 元就免邮费。


初看很简单的一个需求,但你做的时候,要考虑很多细节。比如:


是一个商家的订单,还是所有商家的订单?


跟虚拟商品一起支付是否也支持?


如果店家有设置不包邮地区,两者冲突了,怎么办?


现在是 29 包邮,以后会不会改成 19 或者 39?


订单满 29 除了包邮,还会不会有其他优惠,比如特价购其他商品?金额减免?


如果商家支持选择快递,需求里的包邮,用户是否可选?


这些细节,你不一定在评审会能完全想到,但在做的过程中,一定要和产品经理保持沟通,把模糊的需求确定。有些新人不好意思问,其实没啥,大家都是这样过来的。这种确认问题的能力,是需要经验积累的。也是程序员非常重要的一个能力。


发布于: 2021 年 02 月 22 日阅读数: 17
用户头像

石云升

关注

做时间的朋友,用文字记录成长。 2017.11.30 加入

微信公众号:石云升SYS 工作内容:组织建设、职业规划、绩效考核、申请知识产权(软著、商标、专利等)、经营资质(微信服务商、icp/edi、国高等),如你有相关问题,可留言,看到后会回复。遇到喜欢的文章请点赞。

评论

发布
暂无评论
程序员成长第十一篇:弄懂需求