什么是需求?
需求分析,就是一个将用户需求变成产品需求的过程。要做好用户需求的分析,需要找出来隐藏在用户需求背后的真实需求,还要针对用户的真实需求提出解决方案,最终验证方案是不是能满足好用户需求。
- 用户需求是由用户提出来的,期望满足自身一定需要的要求,例如用户说:“想要一个给三个孩子玩的秋千。”这种原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。
- 产品需求就是在分析提炼用户真实需求后,提出的符合产品定位的解决方案。就像上面“在树上栓两绳子,再吊一块板子”,就是产品经理针对用户需求提出的解决方案。
需求分析是要分析什么?
- 需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。而针对每个用户需求的需求分析过程,需要经过三个步骤:
- 第一步:挖掘真实需求:大部分用户提的需求,都不见得是其真实的需求,需要透过现象看本质,去挖掘其背后真实的需求。
- 要分析用户的真实需求,可以从三个角度入手。
- 目标用户:用户不同,诉求也不一样;
- 使用场景:使用场景不一样,解决方案也会有所不同;
- 想要解决的问题:用户背后想要解决的问题是什么。
- 第二步:提出解决方案:知道了目标用户,其使用场景和想要解决的问题,就可以结合产品定位,提出相应的解决方案。
- 第三步:筛选和验证方案:在提出方案后,我们需要对方案进行筛选。在选好方案后,还需要对方案进行验证,以确保方案能解决用户需求。
怎样做需求分析?
- 对单个用户需求的分析,主要经过三个步骤:第一步:挖掘真实需求;第二步:提出解决方案;第三步:筛选和验证方案。而软件项目的用户需求,从来就不是单一的,而是一系列需求,所以对于软件项目的需求分析,还需要增加收集整理的步骤。整个过程是迭代进行的,如下所示:
- 收集需求:对用户需求进行收集整理;
- 分析需求:对需求进行分析,挖掘用户真实需求;
- 需求评估:筛选过滤掉不可行的需求;
- 需求设计:针对用户需求提出解决方案,设计成产品方案;
- 验证需求:验证方案是否可行。
用户需求背后的真实需求有三个层次:
- 表层需求:用户对解决问题的期望,例如马车更快;
- 深层需求:用户的深层次动机,诉求产生的原因,例如乘客对出行速度的要求;
- 底层需求:人性本能的需求,例如对安全感对舒适的追求。
原型设计
简单来说快速原型模型就是,第一阶段确认界面布局和内容,第二阶段确认交互,第三阶段实现。
- 原型开发,从一个软件开发模型,逐步演变成了一个需求设计工具,让产品经理不用依赖程序员就可以作出逼真的产品原型,也大大降低了项目成员了解需求的难度。
- 原型设计,让产品经理可以用最小的代价完成产品特性,逐步成为产品经理确认需求、设计产品最重要的沟通工具。原型设计工具有很多可以选择的,建议从面向的平台、保真度、功能和价格等多方面因素综合考虑。
要做好原型设计,可以结合工程方法,分成四个阶段:分析、设计、实施和验证。
- 分析阶段,搞清楚用户的需求,原型设计的目标;
- 设计阶段,划分好产品的信息架构,设计好产品操作的流程;
- 实施阶段,按照设计的结果,对每个界面制作原型,并做好界面之间的链接;
- 验证阶段,和项目成员、客户进行确认,收集意见反馈,根据反馈进行修改。
工程方法
产品意识
产品意识,本质就是一种思维方式,一种站在产品角度思考问题的方式。
如果细分一下,产品意识包含:商业意识、用户意识和数据意识。
- 商业意识,就是所做的产品是要有商业价值的。比如说成功的商业产品有 Windows、iPhone、Google 等,这些产品不仅满足用户需求,同时也能创造商业价值,让这些公司变成成功的商业公司,雇用了大批优秀的程序员,从而可以继续研究更多产生商业价值的产品。商业意识的另一方面其实是成本,成本意识也是程序员容易忽视的。
- 用户意识,就是说做产品时,你要能挖掘出用户的真实需求,让产品有好的用户体验。这需要你要有同理心,能站在用户的角度去思考和体验产品。
- 数据意识,就是在产品设计、产品运营时,通过数据来发现问题、证实结果。
如何培养产品意识?
- 首先要解放思想:解放思想,其实就是说,对于程序员,不要总是单纯的用技术眼光看问题,也可以从产品的角度看问题。
技术思维会关注用什么技术,关注技术细节,关注功能“如何”实现;产品思维会关注用户体验,关注一个功能所创造的价值,会去思考为什么要或者不要一个功能。
- 然后要改变习惯:改变习惯是是指在日常使用产品、开发产品的时候,多站在产品的角度思考,去思考它的商业价值、用户体验、使用场景等等。
- 最后要多实践:光有理论还不够的,最好能自己实践一下。
程序员的价值体现,主要体现在两方面:所创造产品的价值和自身的稀缺性。程序员有产品的意识,可以帮助产品和自身提升价值。
- 产品意识,主要包括商业意识、用户意识和数据意识。要提升产品意识,首先要解放思想,然后要改变习惯,最后要多实践。
- 当你慢慢培养了产品意识,不仅可以通过技术来打造更高价值的产品,也可以让你在技术之外有一技之长,能在项目中创造更大价值,减少技术快速革新带来的焦虑感。
需求变更
- 软件工程中需求变更产生的原因。需求频繁变更,主要是由于需求不确定和变更成本过低导致的。并由此提出了三种不同的解决方案。
- 提升需求确定性,来减少需求的变更。这种方案的优势就是对需求理解透彻,后期返工少,缺点是对产品经理的需求分析能力要求很高。
- 提高需求变更的成本,规范需求变更流程,减少需求变更。这种方案的优势就是可以马上起到效果,缺点就是过于繁琐的流程不利于项目协作。
- 降低响应需求变更的成本,积极应对需求变更。这种方案的优势在于可以快速响应需求变更,能快速试错尽快调整,缺点在于对软件架构和项目管理要求比较高。