2.1 需求分类
从技术视角看,产品需求是指由产品经理进行产品化设计后的需求,需求的原始来源可能是用户、运营、产品经理、法务或其他业务相关方;而技术需求则是指完全由技术侧发起的需求,如包升级、中间件升级、平台迁移、数据库优化等。不同类别的需求,参与角色、关注点、项目流程通常也不同。
在互联网行业,需求以产品需求为主,除了一些基础设施(如操作系统、网关等)研发部门,纯技术需求非常少,且纯技术需求的分析相对简单,因此本书中需求分析相关的内容,特指产品需求分析。
2.1.1 产品需求
前面提到,产品需求的本质是业务方的原始诉求经过产品经理演绎、拆解后的产物,那么产品需求具体应该包含哪些内容呢?主要有两个方面:产品定义和产品设计。
1.产品定义
产品经理对业务方的原始需求进行加工,确定产品需要做哪些事情,通常采用产品需求文档(PRD)来进行描述,一般应包含以下信息:需求背景或愿景、目标市场和用户、价值分析、竞对分析、产品功能的详细描述、产品功能的优先级、产品用例。
2.产品设计
产品设计是指确定产品的外观,包括用户界面设计(User Interface,UI)、用户交互设计(User Interaction)等所有涉及用户体验的内容。在大型互联网企业中,产品经理通常需协同UI设计师和交互设计师一起完成产品设计。
产品定义和产品设计是产品经理的核心职能。在互联网公司中,产品经理处于核心位置,需要非常强的沟通能力、协调能力、市场洞察力和商业敏感度。不但要了解用户、了解市场,还要能与各种风格迥异的团队进行默契配合。很多时候,产品经理关乎一个互联网产品的成败,比如知名产品经理张小龙,正是他成就了微信和QQ音乐。
2.1.2 技术需求
技术需求的来源通常有两个方面:一方面,随着业务的发展,技术层面可能因容量、性能、可用性、安全等问题不足以支撑业务;另一方面,随着技术的进步,现有技术体系的隐藏问题暴露,新的技术解法诞生。为了应对以上问题,技术层面必须进行技术改进。
相较于产品需求,技术需求则“单纯”得多,参与者通常只涉及服务端开发、客户端开发、测试等技术角色,没有产品需求文档,无需产品经理、项目经理、运营、财务等非技术角色参与。为了便于技术需求信息在各个参与者之间准确传递、保障项目顺利推进,技术需求也需要文档来描述,涉及内容有技术问题或瓶颈、技术目标、技术方案、业务影响分析、上下游影响分析、可操作性分析、技术风险分析。
其中,业务影响分析、上下游影响分析和技术风险分析尤为重要,一旦有疏漏,极有可能导致线上故障(如2021年10月,微信因技术升级引发线上故障,影响亿级用户)。