与产品沟通需求

1、深刻理解需求,清楚需求的动机和缘由

程序猿一定会在问,产品为什么想要根据手机壳的颜色来动态实现APP启动时的颜色。既然想听解析,那就先别急着说出自己的结论 —— 技术上无法实现!既然有疑问,那就先将自己的疑问解决,反复讨论之~

2、换位思考

产品有产品的角度。作为程序猿我们追求的是什么?逻辑正确,更快,更容易扩展。产品追求的是什么?一个产品为什么存在,他的存在能解决什么问题,他的用户体验好不好。这些才是决定一个产品的核心价值。站在一个产品的角度去思考每一个需求。

3、站用户角度

站在用户角度如果是需要的即使不是必须,只要为用户工作方便或增加价值那就要做,产品提到是应该,没提到是产品工作没做好

4、不放过每一个细节

产品经理在设计一个产品的时候,都是从大方向去想问题的,大方向没有错就行了,细节脱离不了大方向。这是他们想的。但是对于程序来说,却万万不能。因为一个细节的逻辑往往决定了整个大方向。举个例子:有一个需求,用户的作品需要提交审核,经过审核才可以让所有人看到。当产品经理交这个需求给你的时候,你能察觉到什么问题了吗?这里面有几个细节:
1.用户提交审核后,用户可以不可以再编辑作品;
2.作品是否会多次审核;
3.需不需要记录审核历史;
4.用户作品是否需要有版本的控制,如要产生版本,版本又是如何产生的;
5.审核通过后,用户可以不可以再修改作品,若不可以,那么是不是其他人就看不见用户作品......
话说回来这只是一个简单的逻辑需求!但是涉及的细节却是太多太多。我们往往在编码的时候写不下去,就是因为给的需求太模糊,没有细化到点上。

5、必须遵循文档精神

把实现需求细节记录到产品原型里面或者需求列表里面。也可以直接写tower里面。后来回顾很快就知道当初的想法。还有等到有问题的时候,方便甩锅~

6、需求明确

包括很多细节反复讨论清楚了。再开始动工。工作要分阶段做,每次将该做的功能划分好。开发时不断添加新功能,是不好的。(不过实际上很有可能随着开发会改需求~,但是要尽量避免)

7、当遇到不合理的需求时,积极寻求替换方案 (这个很难把握)


8、对自己的程序有一颗艺术的心,当需求影响到代码扩展性的时候,会首先砍需求,而不是改代码!(这个很难把握)

另:

技术上不能实现的问题?
1、搞清楚需求细节,是不是有什么误解?
2、找资料,列出各种解决方案,适用场景?优缺点?需要哪些支持?
3、找能力更强的同事或者其他人请教

工期无法定问题?
1、将需求实现分阶段化,详细化,基本是可以评估出工期的。逐步拆分。
2、时间紧的话先实现功能,再优化细节体验。工作要分阶段做。

最重要的是要明白到:我们是在解决问题,而不是在制造问题!主要抱着这个核心,一切问题迎刃而解~~

猜你喜欢

转载自blog.csdn.net/weixin_38230961/article/details/86090819