第107篇
极客时间《许式伟的架构课》课程笔记。
为何做需求分析?
- 做软件本身就是为了满足用户需求
- 需要定义需求边界
- 架构设计的需要
需求分析过程需要思考的问题
- 我们要面向的核心用户人群是谁?
- 用户原始需求是什么?最核心问题是哪几个?
- 已经有哪些玩家在里面?上下游有哪些类型的公司,在我们之前,用户是怎么解决他们的问题的?我们的替换方案又是怎样的?
- 进而,我们的产品创造的价值点是什么?用户最关注的核心指标是什么?
- 用户需求潜在的变化在哪些地方?区分出需求的变化点和稳定点。
产品经理与架构师
- 用户需求的深层理解很难传递,所以架构师需要自己亲身近距离地接触用户,和用户沟通,去体会用户的诉求
- 产品设计过程需要架构师的深度参与,而不是单向的信息传递。产品经理非常需要来自架构师的建设性意见
- 产品是桥,一端连接用户需求,一端连接先进的技术
- 产品经理和架构师其实是一体两面。两者都需要关心用户需求与产品定义,但产品经理更多从用户需求出发,而架构师更多从技术实现出发
- 准确的需求分析是做出良好架构设计的基础。架构师在整个架构设计的过程中,至少应该花费三分之一的精力在需求分析上
怎么做需求分析?
- 心态第一,心里得装着用户
- "在心里对需求反复推敲"的严谨态度
- 对用户反馈的尊重之心
- 对问题刨根究底,找到根源需求
- 多问多推敲,还原到不带任何技术实现假设的根源需求
- 明显不关心的需求排除在外,明确需求范围
- 在理清楚需求后,要对需求进行归纳整
- 将需求分别归类到不同的子类别中
- 形成需求的变化点和稳定点的基本判断,站在要设计的产品角度来说
产品定义
- 明确产品中有哪些元素,或者叫资源,以及这些资源的各类操作方式
- 对产品如何满足用户需求进行确认
- 考虑市场策略,如:产品如何进入市场,和既有市场格局中的其他主流解决方案的关系是什么样的