需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求。
关键的问题是一定要编写需求文档。我曾经目睹过一个项目中途更换了所有的开发者,客户被迫与新的需求分析者坐到一起。系统的分析人员说:"我们想与你谈谈你的需求。"客户的第一反应便是:"我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统"。而实际上,需求并未编写成文档,因此新的分析人员不得不从头做起。所以如果只有一堆邮件、会谈记录或一些零碎的未整理的对话,你就确信你已明白用户的需求,那完全是自欺欺人。
需求的另外一种定义认为需求是"用户所需要的并能触发一个程序或系统开发工作的说明"。有些需求分析专家拓展了这个概念:"从系统外部能发现系统所具有的满足于用户的特点、功能及属性等"。这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的。而下面的定义则从用户需要进一步转移到了系统特性:
需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的"需求"术语存在,真正的"需求"实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对。系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识。
任何文档形式的需求(例如如下将要描述的需求规格说明书)仅是一个模型,一种描述。
简述为什么要进行需求分析?需求分析的内容和主要步骤数据库需求分析阶段的主要任务:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,手机支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。
系统分析报告的主要内容:1系统概况,系统的目标、范围、背景、历史和现状;2系统的原理和技术,对原系统的改善;3系统总体结构域子系统结构说明;4系统功能说明;5数据处理概要、工程体制和设计阶段划分;6系统方案及技术、经济、功能和 *** 作上的可行性。
软件需求分析的过程
软件需求分析所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件的其它有效性需求。进行需求分析时,应注意一切信息与需求都是站在用户的角度上。尽量避免分析员的主观想象,并尽量将分析进度提交给用户。在不进行直接指导的前提下,让用户进行检查与评价。从而达到需求分析的准确性。分析员通过需求分析,逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。在软件完成后,制定的软件规格说明还要为评价软件质量提供依据。
需求分析的详细分析
从广义上理解:需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程。狭义上理解需求分析指需求的分析、定义过程。 需求分析就是分析软件用户的需求是什么。如果投入大量的人力,物力、财力、时间,开发出的软件却没人要,那所有的投入都是徒劳。如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的(相信大家都有体会)。比如:用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件。当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死。需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,他在软件开发的过程中具有举足轻重的地位,大家一定要对需求分析具有足够的重视。在一个大型软件系统的开发中,他的作用要远远大于程序设计。 需求分析阶段的工作,可以分为四个方面:问题识别、分析与综合、制订规格说明、评审。问题识别:就是从系统角度来理解软件,确定对所开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。这些需求包括:功能需求(做什么)、性能需求(要达到什么指标)、环境需求(如机型、 *** 作系统等)、可靠性需求(不发生故障的概率)、安全保密需求、用户界面需求、资源使用需求(软件运行是所需的内存、CPU等)、软件成本消耗与开发进度需求、预先估计以后系统可能达到的目标。分析与综合: 逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。最后综合成系统的解决方案,给出要开发的系统的详细逻辑模型(做什么的模型)。制订规格说明书: 即编制文档,描述需求的文档称为软件需求规格说明书。请注意,需求分析阶段的成果是需求规格说明书,向下一阶段提交。评审: 对功能的正确性,完整性和清晰性,以及其它需求给予评价。评审通过才可进行下一阶段的工作,否则重新进行需求分析。 需求分析的方法有很多,这里只强调原型化方法,其它的方法如:结构化方法、动态分析法等,从来没用过这些方法在此不讨论。原型化方法是十分重要的,原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能。但是这个系统可能在可靠性、界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性、技术的可行性或考察是否满足用户的需求等。如:为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型:探索型、实验型、进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。在使用原型化方法时有两种不同的策略:废弃策略、追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整、准确、一致、可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。追加策略:先构造一个功能简单而且质量要求不高
需求分析应包括哪些内容
需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段包括:
1业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。
2·用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。
3·功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。
4·非功能性的需求——描述了系统展现给用户的行为和执行的 *** 作等,它包括产品必须遵从的标准、规范和约束, *** 作界面的具体细节和构造上的限制。
5·需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。
软件测试需求分析的主要步骤是什么
软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生命周期中横跨两个阶段:通常在编写出每一个模块之后就需要对它做必要的测试(称为单元测试)。编码和单元测试属于软件生命周期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周期的另一个独立阶段,即测试阶段。软件测试的目的:1、测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;2、好的测试用例在于发现至今未发现的错误;3、成功的测试是发现了至今未发现的错误的测试;4、好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题;软件测试的原则:1、应把“尽早和不断地进行软件测试”作为软件开发者的座右铭,实践证明单元测试能够尽早发现问题,减少后期测试的错误量。可以采用Junit和Jtest来辅助进行单元测试。2、测试用例应由测试输入数据、测试执行步骤和与之对应的预期输出结果三部分组成。3、应当避免由程序员检查自己的程序。(指后期系统测试阶段,不包括单元测试)4、测试用例的设计要确保能覆盖所有可能路径。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的,临界的,可能引起问题的输入条件。5、充分注意测试中的群集现象。经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。应该对错误群集的程序段进行重点测试。6、严格执行测试计划,排除测试的随意性。测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。7、应当对每一个测试结果做全面的检查。8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。软件测试的对象:软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试(评审)的对象。在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来 希望对你有用
如何进行软件需求分析
1概念
需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求
关键的问题是一定要编写需求文档我曾经目睹过一个项目中途更换了所有的开发者,客户被迫与新的需求分析者坐到一起系统的分析人员说:"我们想与你谈谈你的需求"客户的第一反应便是:"我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统"
百事通
而实际上,UGGs,需求并未编写成文档,因此新的分析人员不得不从头做起所以如果只有一堆邮件、会谈记录或一些零碎的未整理的对话,你就确信你已明白用户的需求,那完全是自欺欺人
需求的另外一种定义认为需求是"用户所需要的并能触发一个程序或系统开发工作的说明"有些需求分析专家拓展了这个概念:"从系统外部能发现系统所具有的满足于用户的特点、功能及属性等"这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的而下面的定义则从用户需要进一步转移到了系统特性:
需求是指明必须实现什么的规格说明它描述了系统的行为、特性或属性,是在开发过程中对系统的约束
从上面这些不同形式的定义不难发现:并没有一个清晰、毫无二义性的"需求"术语存在,真正的"需求"实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识
任何文档形式的需求(例如如下将要描述的需求规格说明书)仅是一个模型,一种描述
2需求分析的任务
开发软件系统最为困难的部分就是准确说明开发什么最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难
目前,国内产品的庞杂,一家企业可能有几个系统并立运行,它们之间接口是系统开发人员最头痛的问题
对于商业最终用户应用程序,企业信息系统和软件作为一个大系统的一部分的产品是显而易见的但是对于我们开发人员来说,并没有编写出客户认可的需求文档,我们如何知道项目于何时结束而如果我们不知道什么对客户来说是重要的,那我们又如何能使客户感到满意呢
然而,即便并非出于商业目的的软件需求也是必须的例如库、组件和工具这些供开发小组内部使用的软件当然你可能偶尔勿需文档说明就能与其他人意见较为一致,但更常见的是出现重复返工这种不可避免的后果,而重新编制代码的代价远远超过重写一份需求文档的代价,这些血的教训正在国内的软件开发者身上发生
近来,我遇到一个开发小组开发包括代码编辑器在内的一套内部使用的计算机辅助软件不幸的是,当他们开发完这个工具后,发现这个工具不能打印出源代码文件,使用者当然希望有这个功能结果这个小组只好手工抄写源代码文档以供代码检查这说明那怕需求明确无误并构思准确,如果我们没有编写文档,软件达不到期望目标也只能是咎由自取了
相反的情况,我曾见一个要集成到"错误跟踪系统"中的简单界面写了一页需求说明而 *** 作系统系统管理员在为处理脚本时发现简单的一张需求清单竟是如此有用他们依据需求对系统进行测试时,此系统不仅非常清晰地实现了所有必需功能,而且未发现任何错误
事实上,需求文档在开发过程中一直起指导作用
3需求分析过程
需求分析的作用及如何进行需求分析
通过对应问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。
需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。后来软件开发引入了生命周期的概念,需求分析成为其第一阶段。随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。80年代中期,形成了软件工程的子领域——需求工程(requirementengineering,RE)。进入90年代以来,需求工程成为研究的热点之一。从1993年起每两年举办一次需求工程国际研讨会(ISRE),自1994年起每两年举办一次需求工程国际会议(ICRE),在1996年Springer-Verlag发行了一新的刊物——《RequirementsEngineering》。一些关于需求工程的工作小组也相继成立,如欧洲的RENOIR(RequirementsEngineeringNetworkofInternationalCooperatingResearchGroups),并开始开展工作。需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科。它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。RE可分为系统需求工程(如果是针对由软硬件共同组成的整个系统)和软件需求工程(如果仅是专门针对纯软件部分)。软件需求工程是一门分析并记录软件需求的学科,它把系统需求分解成一些主要的子系统和任务,把这些子系统或任务分配给软件,并通过一系列重复的分析、设计、比较研究、原型开发过程把这些系统需求转换成软件的需求描述和一些性能参数。
需求工程是一个不断反复的需求定义、文档记录、需求演进的过程,并最终在验证的基础上冻结需求。80年代,HerbKrasner定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理。近来,MatthiasJarke和KlausPohl提出了三阶段周期的说法:获取、表示和验证。
综合了几种观点,可以把需求工程的活动划分为以下5个独立的阶段:
(1)需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;
(2)需求建模:为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义;
(3)形成需求规格:生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约;
(4)需求验证:以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性;
(5)需求管理:支持系统的需求演进,如需求变化和可跟踪性问题。
系统开发过程中,需求分析的步骤是什么?
⑴首先调查组织机构情况
包括了解该组织的部门组成情况,各部门的职能等,为分析信息流程作准备。
⑵然后调查各部门的业务活动情况
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。
⑶协助用户明确对新系统的各种要求
包括信息要求、处理要求、完全性与完整性要求。
⑷确定新系统的边界
确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。
⑸分析系统功能
⑹分析系统数据
⑺编写分析报告
基于用例的需求分析过程包括哪些步骤
基于用例的需求分析需我帮助否?1、 企业资金需求分析可以通过定性预测法和定量预测法来分析。定性预测方法是基于调查和研究所掌握的情况和数据,依靠预测员的知识和经验来判断资本需求。定量预测方法是基于资本需求与相关因素之间的关系。在掌握大量历史数据的基础上,采用一定的数学方法进行计算,并将计算结果作为预测方法。
2、 营运资金量=上年度销售收入(1-上年度销售利润率)(1+预计销售收入年增长率)/营运资金周转次数。
1、 “企业”是指《企业所得税法》及其实施条例所规定的居民企业和非居民企业。居民企业是指依法在中国境内设立的企业或者依照外国(地区)法律设立的但在中国有实际管理机关的企业。非居民企业是指依照外国(地区)法律设立的实际管理机构不在中国设立机构、所在地,或者在中国没有机构、所在地,在中国设立机构或者所在地的企业。来自中国来源的收入。在商品经济范围内,有机经济实体作为各种组织形式之一,按照一定的组织规则,一般以利润为目的,使投资者、客户、员工和公众的利益最大化,并通过提供产品或服务来交换收入。它是社会发展的产物,随着社会分工的发展而发展。企业是市场经济活动的主要参与者,在社会主义经济体制下,各类企业共存,共同构成了社会主义市场经济的微观基础。组织有三种基本形式:独资、合伙和公司。公司是现代企业中最重要、最典型的组织形式。
2、 营运资本需求是指企业流动资产弥补流动负债后需要筹集和投资的资金,不包括货币资金、可立即清算的票据、需要立即支付的短期贷款和应付票据。是企业在生产经营过程中持续定期生产的必要资金。
软件测试工程师如何做好需求分析
什么是需求
需求是产品必须完成的事以及必须具备的品质。
功能性需求
功能性需求是产品必须完成的那些事,要求一定的功能和品质。
例子:培训机构的班主任可以给所在班级学员打考勤
非功能性需求
非功能性需求是产品必须具备的属性或品质。诸如观感、可用性、安全性和法律限制等。
例子: 平台用户数为5万人,每天登录用户数为10000左右,网络的带宽为100M带宽。在工作时间根据资料名称条件进行搜索,可以在3秒内得到搜索结果。
这类需求通常在产品的功能确定之后(但并非总是如此)。也就是说,一旦知道了产品要做的事情,就可以确定它的行为方式,它需要具备什么品质以及它的响应速度、可用性、可读性和安全性。
限制条件
限制条件是全局性的需求。它们可以是对项目本身的限制,或是对产品最终设计的限制。
例子:南京平台必须在2010年开学的第一学期上线
客户是在说,如果顾客不能在给定的时间前使用该产品,那么它就没有什么用了。其效果是,需求分析师必须对需求进行限制,只包括那些在最后期限前能够提供最大价值的需求。
需求分析的重要性
需求分析没有做好的后果一般会有下列现象:
1、浪费时间和资源来满足用户并不需要的需求(过度实现一些功能);
2、开发出来的产品技术上先进,但不满足用户需求;
3、总是需要比较长的时间来达成对产品设计的共识;
4、在产品设计,开发和测试工作中对于用户需求的解释不一致;
5、员工会厌倦因需求不断被重新解释而导致的返工;
6、未说明的或不正确的需求会导致员工与用户间的不满;
7、不稳定的产品,用户的不满意对我们未来的市场造成损失;
8、浪费时间,增加成本,使得在一些投标的项目中不能低价;
1、如果你在编码的时候发现某几行有误,那么改掉这几行就行了。而如果在编码阶段发现需求有误,那么你很可能需要改变所有代码来适应新的需求
2、在需求阶段消除问题的代价最小,而如果需求问题等到产品发布出去后才发现的话,那修复的成本就会N倍的增加。
3、稳定的需求是软件开发的关键。有了稳定的需求,软件开发工作可能从结构设计到详细设计到代码到测试都会平稳顺利的进行。
为什么要做需求分析
1、“决策性”--要不要做这个产品,通过对市场需求的分析来决策项目是否需要立项;
2、“方向性”--良好的需求分析可以对项目人员明确方向,让项目成员知道下面应该如何实施;
3、“策略性”--既然知道了为什么要做需求分析,就需要了解什么是需求分析,及如何做。需求分析并不是简单的对与错,比如说做一个产品,“做技术最先进的软件,还是做最好卖的软件”,这个需求有错吗,没有,只能说需要从不同的地方去考虑,去定位。
如何进行需求分析
“ 需求分析”不代表“用户要求什么就是什么”也不代表“我们能做什么就做什么”,做为需求人员,在进行需求分析的时候,首先应该明白用户的需求,然后再加上 自己的分析处理过程,知道哪些我们现在能做,哪些我们做不了,哪些我们咬咬牙齿能做,需求人员在做需求分析的时候不能一味的成为客户的传话筒,要有自己的 分析。
一般可以从三个方面去考虑:
1、功能需求--产品应该完成哪些功能,即向用户提供的功能,一般来说这个都是比较硬性的标准;
2、非功能性需求--用户可能不能明确告诉你的一些需求,比如说性能达到什么要求,可靠性方面,响应时间,扩展性,性能方面等,这块的内容并不 是说用户需要,而是说不知道需要做成什么样的,我们不能不做,做了只会对自己受益。要不然等到后期用户使用感觉这慢,那不爽,那倒霉的还是是自己;
3、限制条件--在需求分析中需要考虑一些条件约束,规则等,比如客户的约束,行业的约束,法律的约束以及自己的约束等,这些都需要在需求分析考虑清楚,要不然做出一款白人狂殴黑人的游戏给黑人玩,那就惨了……
测试需求分析的步骤
1 、 熟悉需求背景及商业目标:
a) 了解清楚项目发起的原因,是为了解决用户的什么问题。
b) 当前的解决方案是不是最优的,为什么会这样做
2 、业务模型法:
a) 考虑本项目与外部系统的交互,划分系统边界(除了本项目的需求中要求做的事情,其他的都可以是外部系统,本系统和外部系统之间的交互就是系统的边界),可以参考系统分析说明书。
b) 确定测试范围和关注点。系统的边界是测试的重点,特别需要关注边界交互时的数据交互。 ;最近在看一些刻意练习相关的知识点,觉得自己之前虽然收集了一些知识点,但并没有完全转化成自己的东西。
所以打算按照模块化和体系化的方式,把产品技能树里面一些重要的技能点,重新梳理一下,大体的技能点可参考下之前的文章:
搭建产品经理技能树,看完这篇就够了
本篇文章主要是需求分析相关的东西,包括需求定义、需求收集、需求过滤、需求分析和需求取舍这几部分;在此之间一定要问一问这个需求要不要解决;多问为什么,为什么要解决,解决之后能对这个产品带来什么,在开发成本会不会提高,会不会有很多的利益等等;
需求定义主要是定义什么是需求,毕竟不同的人理解的需求可能不太一样,需求收集主要是尽可能多的收集需求,并且进行合理的归类。
当我们把需求收集完之后,再考虑要不要做,怎么做。需求过滤就是初步的进行需求筛选,需求分析是挖掘真实的需求,以及进行需求价值的评估,需求取舍是不同的需求之间进行较量,追求产品价值最大化。
下面我们来分别看下这些部分。
这部分主要是需求的定义,这个定义来源于飞哥《产品思维》中的定义
▲ 需求定义
这个定义来源于飞哥在《产品思维》中的定义:
用户对解决现存问题的需要。
这里面有几个关键词:目标用户、现存问题、需要解决。
目标用户很好理解,我们定义的产品就是为了解决一部分人的问题,如果遇到问题的用户根本不是我们的目标用户群,那就需要慎重考虑了。
现存问题指的是有实际场景,有切实遇到的问题,而不是我们主观臆测用户可能会有这样的场景,可能会需要。
需要解决指的是现存的问题是需要被解决的,包括能力和意愿。
假定我们定义的问题,用户根本不觉得这是个问题,或者问题根本不需要解决的,那我们提供的产品就很难有市场。
如果我们定义的方案成本过高,用户没有能力负担,那我们也需要考虑其他的策略。
▲ 需求成因
这部分主要是尝试着探寻需求形成的原因,也就是 Why。
当我们采取一些行动的时候,我们是期望获得更好的结果,那倒退一步来看,其实就是对现状并不满意,所以我尝试着给出这样一个定义:
因欲求不满,引发某种动机,想要填补现实和理想之间的落差。这种动机,就是需求产生的原因。
这里面有这么几个关键点,现状、预期、成本。
现状指的是对现状不满意,如果对现状很满意,那可能就没有后面的东西了,然而人的欲望是无穷无尽的,总归会一些不满意的地方。
预期指的是想要更好,这个预期的解决方案,好的标准是基于用户以往的经历、经验来形成的。
比如同样是下午时光,有的人会想着点杯下午茶,有的人不会有这个想法,至于下午茶是奶茶、是咖啡还是果汁,以及同一家店的东西好喝不好喝,取决于个人的情况。
成本指的是为了达成预期收益,用户需要付出的成本,包括直接采取行动的时间、金钱、脑力、体力等,也包括间接行动的心理成本、决策成本等,此外还有潜在的机会成本。
用户对现状的不满意程度,以及预期的收益是推动用户产生行动的动力,而行动成本则是阻止用户产生行动的阻力,最终用户行动的可能性是:
行动可能性=(预期收益值-现状满意度)-行动成本
这个值越大,用户产生行动的可能性也就越大,需求的迫切程度也就越强。
我们做产品,就是找到现状满意度较低的点,给用户提供预期收益值更高的产品或服务,然后降低行动成本。
即使预期收益和现状都没有发生变化,仅仅只降低行动成本,也能让原本不可能发生的行为发生。
比如共享单车之前在很多城市都有,不过是有桩的,需要到指定的地点骑车、还车,还要到特定的地方办卡、充值,移动支付+无桩+遍地都是的共享单车出来之后,很多原来不骑的人也开始骑了。
▲ 需求层次
当我们做用户研究的时候,有时候会遇到用户说一套做一套的情况,也会遇到用户直接给解决方案的情况,如果直接听用户的,我们可能会被带到坑里去。
这个时候,需要更深层次的去理解需求,也就是:
表层:观点和行为;
深层:目标和动机;
人性:人性和价值观。
表层就是不管看用户怎么说,还要看用户是怎么做的。
深层就是挖掘用户这么做是想达成什么目标,促使用户达成目标背后的动机又是什么。
再往下挖其实就到了人性和价值观的层面,人性是基于我们作为人类的共同特点,七宗罪、贪嗔痴等,价值观则取决于我们的经历、教育背景、生活环境、家庭教育等等。
以减肥为例,同样是减肥,有的人可能就是说说,有的人为了减肥甚至会采用节食的方法,这是怎么说与怎么做。
有的人减肥是为了塑形,有的人是为了身体健康,背后的动机也可能不太一样,有的人可能是为了找对象,有的人可能是最近受到刺激了。
再往下深挖有些东西可能是相通的,比如我们大家都追求美的东西,都希望获得他人的赞美,都希望能够身体健康。
当我们遇到一个需求的时候,需要不断的进行深挖,因为不同的需求对应的解决方案是不同的。
▲ 需求是动态的
最后想简单说下,需求其实是动态变化的,一是需求重点会不断转移,二是需求量会发生变化。
需求重点的转移主要指的是当需求被很好的满足的时候,原来高层次需求会变成基础需求,原来不那么重要的需求可能会变成新的需求点。
以手机为例,最开始的手机都是打电话、发短信,后来开始拼外观、拼性能、拼使用体验,有一些手机也会主打拍照这些差异化的功能点。
需求的量指的是在其他条件不变时,相对价格降低,需求量上升。
相对价格=(直接成本+交易成本)/效用组合。
在功能机的时代,最开始用的流量是1个月30M,那个时候觉得100M绰绰有余了,根本用不完,现在每个月至少几十G了,我们最开始其实是不知道自己对流量有这么大需求的。
需求收集
我们在工作中会收到来自各方的各种需求,可以把需求先收集起来,后面再进行过滤和分析。
这部分主要包括需求收集和需求分类。
▲ 需求收集
一是收集尽可能多的数量,二是覆盖尽可能多的渠道。
收集是不需要进行大量思考的,分析是需要进行深入思考的,所以可以把收集和分析作为两个独立的步骤,先追求数量,再追求质量,数量足够多的情况下,质量自然也就上去了。
我们收集需求的时候要尽量覆盖不同渠道的用户,因为来自同一个渠道的用户可能会比较接近,而不同渠道的用户特征是不一样的。
比如App内反馈的用户大多是产品的重度用户,QQ的用户则会偏年轻一些。
▲ 需求分类
为便于我们后续的需求分析,需要按照合理的分类方式来组织需求。
我们可以按照用户的使用流程、功能类型或者需求类型来进行分类。
使用流程指的就是用户使用产品的流程,以内容型产品为例,发现内容、消费内容、内容互动、内容分享、生产内容、管理内容等。
需求类型指的是需求对于用户的重要程度,是底线需求,还是够用就好,是越多越好,还是制造惊喜的需求。
功能类型指的是按照功能本身的重要程度,比如体验优化、核心功能、付费相关、运营需求等。
需求过滤
当我们把需求收集、分类好之后,就是对需求的初步过滤了。
当我们发现一些明显不符合常理,或者根本没有什么使用场景的需求,可以暂时先过滤掉。
另外是一些我们初步判定没有什么价值,或者短期内暂时无法实现的,也可以暂时先过滤掉。
对于这部分被过滤掉的需求,可以进行定期回顾,有些需求可能受限于当时的环境、认知、阶段目标觉得没有价值,不可以做,后续可能又会变得可以做了。
比如在网易云音乐中,最开始是没有做专辑收藏这个功能的,产品发展到一定程度之后,又做了专辑收藏这个功能。
本来打算一篇文章写完,写着写着发现内容好像有些多,索性就拆成了两篇。
好久都没有更新了,最近几天会及时更新的,我最近也在做垂直电商和社群电商,有意的可以一起聊聊哦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)