你好,我是七牛云许式伟。
前面我们多次提到过,架构的第一步是需求分析。那么,为什么要做需求分析?如何做好需求分析?
今天让我们一起聊一聊需求分析这个话题。
关于需求分析的那些事
为何要做需求分析?
首先,当然是因为我们做软件本身就是为了满足用户需求。那么,用户需求到底为何,我们需要清楚定义。
其次,需求边界定义的需要。用户需求理清楚了,不代表产品理清楚了。用户需求的满足一定会有行业分工,我们做什么,合作伙伴做什么,需要厘清大家的边界。
最后,架构设计的需要。架构需要切分子系统,需要我们梳理并对用户需求进行归纳与抽象。架构还需要防止过度设计,把简单的事情复杂化。
但什么是过度设计?不会发生的事情你考虑了并且为它做足了准备,就是过度设计。所以判断是不是过度设计是很困难的,需要对需求未来演化有很强的判断力。
从这几个维度来看,需求分析过程必然会涉及以下这些内容。
我们要面向的核心用户人群是谁?
用户原始需求是什么?最核心问题是哪几个?
已经有哪些玩家在里面?上下游有哪些类型的公司,在我们之前,用户是怎么解决他们的问题的?我们的替换方案又是怎样的?
进而,我们的产品创造的价值点是什么?用户最关注的核心指标是什么?
用户需求潜在的变化在哪些地方?区分出需求的变化点和稳定点。