编辑导读:程序员是公司里的技术岗,也是产品经理最密切的合作伙伴。但是,程序员能看懂产品经理的工作,产品经理却不一定能明白程序员的工作,因此也常常被无良程序员坑。本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。
产品经理在日常工作中,负责推进项目进度。当他们与程序员对接的时候,询问这个功能几天能做完,程序员给的答案是五天。虽然你预计的时间只有三天,但你无计可施,只能相信他,并如约给了他五天时间,最后却导致项目延期。
你并不知道这个功能的代码究竟有多少,程序员的工作量有多大,他利用你的一无所知有意拖延你的项目进度,最后背锅的还是你。
程序员,是公司里的极致技术类职位,他能看懂我们的工作,我们却很难理解他们。为了PM们在实际工作中不被无良程序员祸害,本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。
一、API的概念
API,官方定义为应用程序编程接口。就是把是一些预先定义的接口,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。测试API接口
二、为什么要懂API文档
既然API如此复杂,又不属于PM的工作范畴,我们为何需要大费周章的理解它呢,我们的目的是什么。
1. 明确需要的接口服务
API分为很多种,最基础也是产品最需要的诸如短信API,地图API,语音API等,如果我们的产品涉及到此方面的功能,那就必须了解这方面的API以便于在需求设计阶段考虑更全面
2. 掌握项目开发的工作量,合理安排计划
这里说白一点就是防止被程序员欺骗。你走过去,发现程序员正在勤勤恳恳,对不起,人家在做外包,就是欺负你代码看不懂,气不气?但是如果你知道接口的难度和工作量,规定他在多久之内给你,就不会出现拖延项目的情况,也更有利于项目流程的更进
3. 联调测试,识别项目风险点
一些关键接口、数据量大需要进行大数据压测的接口,必须经过联掉测试,测出它的最大访问量,并对其进行优化或者设置限制,防止系统崩溃。
4. 方便项目对接
PM懂一点技术,就不会闹出明明不能做,却还非要程序员做出来的笑话了。从这个角度看,也更有利于PM和程序员之间的团队沟通与和谐,避免矛盾,不至于弄翻友谊的小船。了解API可以使PM对技术理解更深刻,更好地衡量开发工作量和制定功能内容。
三、举例说明API的重要性
优点:
开发人员A开发了软件A,开发人员B正在开发软件B,A想用B的部分成果或功能辅助开发B软件,但不想完整输入A的软件,怎么办?于是A将软件打包成一个函数,放在B软件中,这个函数就是API。
如果没有API,B就必须把A软件的流程整个走一遍,耗费大量的时间精力,但如果是接口接入部分功能,轻松便捷,想用就用,想拔出就拔出。
有一杯密封果汁叫做数据库;果汁上面插着吸管,叫做API。如果你想喝到杯子里的果汁,由于它是密封的,你只能依靠吸管插入,否则你就喝不到果汁。
在这个故事中,你属于某系统,你想获得果汁,就必须通过吸管,也就是接口,API来实现,而且这个API是数据库的唯一API。这样说来,API是一种完善项目功能,提高产品价值的辅助工具。
缺点:
因为API是借助了第三方软件,接入方在使用其他软件包功能的同时相当于为自身插入了一个监控,会有数据泄露给第三方的危险。所以如果是公司的核心功能,最好是使用企业内部的API。
四、总结:万物相通
也许大家都是看了美国的科幻大片,把程序员想象成黑客一般的高智商人物。但现实是,在大多数情况下他们也只是负责修复BUG,真正的源代码不过是网上复制粘贴。所以PM们不要被他的表象所迷惑,了解他们的工作量,在团队中只要给出明确的指令管理项目进度,并且大致了解程序员的工作内容以便于你管理对接就行了。
最后我想说的是,在产品行业,万物都是相通的,PM不用质疑自己的工作或者感到自卑,如果说程序员是科学家,那么PM就相当于哲学家,只不过是负责改造自然环境和人类社会的区别罢了,其思维逻辑都是大同小异,程序员其实就是PM知识的技术流。