.

项目经理是否要懂一点软件开发知识

时间:2019-03-22 18:49

知识是懂得,是学出来的;技能是会做,是练出来的。

王语嫣会不会武功?不会!但是她熟知各路门派的武功,甚至知道在实战中应该如何出招,这叫知识。段誉学过六脉神剑与凌波微步的招式,虽无法灵活运用,但实战中也会帮助自己巧妙地防守与进攻,这叫技能。乔峰精益内功,自小受得少林高僧指点,并勤习丐帮打狗棒法与降龙十八掌,用得出神入化,这叫知识+技能。

知识能学到,而技能只能习得。知识学习是瞬间的,知道与不知道之间几乎瞬间完成。但技能则需要漫长的笨拙期——如果你不接受自己笨拙的开始,你永远也不会学好任何技能。

——《你的生命有什么可能》, 古典

我们再回过头来看标题中的问题:产品经理需要会软件开发吗?不一定。但产品经理需要懂软件开发吗?需要!

例如在Web形态的软件中,产品经理可能不需要知道python与php语言分别用哪个对象去set cookie,当然显然需要懂得cookie和session的知识,并在此知识基础上设计会话保持与失效机制。所以产品经理不需要具备软件开发的技能,但需要掌握软件开发的知识。

目前的行业环境中,产品经理对软件开发知识的掌握程度参差不齐,而且有相当大一部分产品经理不懂技术。按照存在即合理的原则来判断,可以得出产品经理不懂技术也能够胜任工作的结论,但我认为如果想要成为一名出色的产品经理,在软件开发知识方面的短板至少会带来如下这些掣肘:

1.难以迅速察觉行业变化

坊间流传一段比尔盖茨与通用汽车总裁杰克·威治特的一段对话

比尔盖茨:如果汽车工业能像计算机领域一样发展,那么今天买一辆汽车仅需25美元,一升汽油能跑400公里。

杰克·威治特:我20年前买的车还能跑在路上,你20年前配置的486去向如何?

虽然这段对话真实性有待考证,但它本质上是在阐述一个道理:硬件不断在发展,软件也不断在发展,每一次硬件升级都会带来软件的变化,这叫做安迪-比尔定律。

互联网产品的发展同样高度依赖环境的变化,这些变化包括但不限于硬件、OS、框架、带宽、通信协议等。纵观互联网发展史上成功的产品,我们不难发现产品与环境之间的依赖关系:

NFC与手机支付,4G网络与直播软件,ajax与交互表单,HTML5与页游,陀螺仪与赛车手游等等

苹果、微软、谷歌等公司每年都在召开开发者大会,不断推出更多的接口、框架,而如果产品经理缺乏软件开发知识,也有可能走入马云所说的“看不到、看不起、看不懂、跟不上”怪圈。

2.制约想象空间

互联网产品的设计是面向需求的设计,但是开发的时候却是面向API开发。例如Web软件设计需要考虑浏览器的沙盒机制,也需要考虑BOM、DOM所提供对象的能力与兼容性;iOS与Android平台下的app设计同样要受到操作系统的制约,比如说传感器与其他硬件接口的能力与兼容性等。

在缺乏软件开发知识的情况下,产品经理在这些细节的处理上就很难展开自己的想象空间,这对于产品经理最大的影响并不是设计的东西不能做,而是产品经理压根就不知道“居然还能这样玩”。

可能你也见过一些PM拿着别人家的产品,去向开发人员解释:做成这个效果。这便是想象空间被制约的一种体现——创新能力被削减了。

3.制约技术成本评估的能力

软件开发技术是有成本的,“这个细节容不容易实现”与“这个细节能不能实现”同样重要。无论是敏捷方法中提倡的故事点排序,还是迭代式开发中说的需求版本控制,在对开发周期做规划时都很少提及技术成本这一因素。但在实际工作中,尤其在新建团队或小团队中,它却会对产品开发产生很大影响。

在开发人员与产品经理的沟通中我们也常常听到这样的反馈:这个功能技术上确实可以实现,但我们团队现在没有这个领域的专家......

如果产品经理具备软件开发知识,最起码能在产品设计环节便考虑到技术实现成本,并考虑替代方案或作为风险提交给项目管理人员。

4.不利于团队的沟通效率的提升

虽然产品经理与软件开发团队之间的沟通是建立在PRD文档之上的,但有太多的细节需要软件技术知识来说明。下面以两种不同的产品经理的口吻来表述一个概念,大家感受一下:

产品经理A:这个输入项是身份证号,如果用户填写错了要能够在填写完毕之后填写下一项之前识别出来并提醒,并且整个表单都不允许填写错,如果有写错的情况下不能让用户提交。

产品经理B:这个输入项是身份证号,前端需要通过正则表达式来判断合法性,不合法则在onBlur事件发生时提醒,并在整个表单合法之前把提交按钮disable掉。

是不是第二种表述方式更准确也更有效率?而且在实际的工作中,用专业术语来与开发人员进行沟通也更能够得到对方的认同。

软件开发的实际工作就是编码,如果缺乏足够的软件开发知识,在与开发人员进行沟通的时候有些事情将会陷入描述、确认、修改、确认的循环中来,很不利于沟通。但是产品经理根据自己所具备的软件开发的知识和技能来与开发人员进行沟通时,也需要注意沟通方式,更要避免越俎代庖,每当想要这么做的时候需要想一想《天龙八部》中慕容复面对王语嫣的指指点点时的反感情绪——你行你上?