互联网产品需求,其实跟以前我们做开发的软件需求基本是类似的,我也不知道是不是大家从那里搬过来的,暂且不考究这个。今天说下产品需求的4层关系; 首先先说是哪4层:

  1. 业务需求
  2. 用户需求
  3. 功能需求
  4. 系统需求

看官别着急,单独拉出来一个系统需求是有原因的,如果你不是三五年内的小白产品应该能看懂。

业务需求(business requirement)

什么是业务需求? 我觉得是Business Analysis, 就是所谓的 BA吧。不过现在大多数boss或者说创业者不懂这里面具体都是点什么,百度给的定义其实也不是特别的精准,倒是找到一个文库内容,关于业务分析师的定义这里介绍的很精准。好吧,简单的说业务需求是方案范围,经营范围,或者项目范围。业务分析的东西其实就是一种需求的寻找。

举着栗子说: 业务需求就是写出来,我们是做什么的,电商?还是社交?还是其他平台?我们是不是垂直的,线上的还是线下的?我们依赖什么盈利?我们的业务方向怎么发展? 到这里都是业务需求。 业务的需求往往来自boss或者创业的小老板再或者是你们的某个高层领导。专业一些的会有一些大牛给出商业或者业务分析报告给你。更强有力一些。比自己觉得做哪个好要靠谱很多 。当然我现在讲的是互联网,其实很多东西都是通用的。

用户需求(user requirement)

用户需求在互联网中的表现大多是在各种场景下,用户想做某件事情所遇到的问题,或所想满足的欲望。用户需求前期是对比,后期是体验。 在软件中的用户需求则不是,软件用的用户需求是在场景下用户的目标以及能完成的东西是什么。这里需要大量的用例,跟场景描述。 用户需求直白的说就是,你的业务规划,有没有人鸟你,大家对这个事儿咋看,你能帮他们解决啥问题等等。其实还是为了确认project scope 是不是正确的 ,有木有搞头。

功能需求(functional requirement)

功能需求是为了满足业务跟用户而制定的。也就是说,在你的业务需求出来之后,你要满足用户在你这个产品上怎么实现自己的任务。业务需求都包括什么呢?或者说细化到哪一步了呢?

举个栗子:做电商要有购物车,要有商品发布。好的,那购物车里面的功能具体是什么,怎么展示?你可能要细节的写出来,购物车可以批量结账,要有一个单价叠加的计算,如果有打折,可能还有其他的运算; 商品发布,参数都有哪些,发图片、名称、商品描述、颜色、类型等,如果你是一个很有经验的产品人,在这一步你能为前端跟猴子省下很多很多时间。

系统需求(system requirement)

为什么把这个单独拿出来了,是因为在每个需求下都会牵扯到这个系统需求。在软件中是架构师的责任,在互联网中可以是项目经理、产品经理、技术总监共同完成的东西。因为它包含的东西太多了,而且过于繁琐与复杂。那什么是系统需求 ? 系统需求是数字控制。还是举栗子说:


在开发过程中,产品时要反复跟各个部门打交道跟交流的,前端、设计、猴子、项目经理、boss。但是有一点,你必须要出的东西其中有一项叫数据字典,这个程序员帮不了你。 比如你的用户名长度,猴子的思维是,我的是string,长度你随意,前端的世界是,正则判断下不要乱七八糟的符号就好了,然后不要超过样式的宽度或者超过了也没事儿我给隐藏了。 那请问,用户名到底要多长? 区间是什么? 这就是系统需求的一部分,因为你要合理的写出来账号,介绍,密码,描述,等等等等之类的一切能键入的规则,你以为这样就完了吗? 再深化一些,你要跟运营部或者市场部,估算出用户成长,在什么时候达到一个什么活跃度等相关数据,以便猴子们可以分库分表或者早点做防备,可能会有人问,为啥当初不分好呢? 要是当初能分好,阿里巴巴就不用去请oracle的团队来架构自己的数据库了,当井喷的时候你根本想不到是什么时间,所以这些必要的措施跟部署也是需要产品人来参与的,这会直接影响到产品跟用户的。 如果你做的不合理,你的规划不好,那用户的体验就没有了。 说案例: 你的社交功能需求跟业务需求写,客户浏览自己个人中心的时候会加载很多推送,这一页的数据加载量很多,有可能认识的,可能感兴趣的之类的,好的。没有什么经验的猴子可能就直接捅给你数据了,功能实现了没错,首页加载慢的要死。如果你能写出来,这里会跨表,跨库,需要一个沉余或者缓存数据表,要不就用分布式部署来解决。那猴子们会不会能完美的解决东西?

有人说,我是个产品经理,我不懂技术。好吧,你大大小小也是个经理不是么?你的任务就是给公司减少难题解决问题的不是么? 经理也是个管理者不是么?你要操心的问题还有很多,你要涉猎的东西还很多,你的知识面也需要很广。这样你才能是一个合格的产品人。