老用户在活动期间下单,现金(含支付宝,微信,信用卡;不是预充值即可)支付,满500减100。每单单独结算。
另外,充值满1000赠100。充值上限10万元。
【前提假设】
已经存在一个电商系统,包括购物,下单,支付,物流等功能都已经存在;
本次只考虑需求变更的部分;
移动端使用。
业务价值是指:解决别人愿意花钱解决的问题,就是业务价值。它通常是市场、企业、用户三方可以获得的价值主张,结合组织战略规划以及产品/项目生命周期进行定义。
本案例中,需要明确了商业价值才能够围绕着商业价值进行需求分析的展开,一切后续活动都是围绕着商业价值展开的。因此要明确商业价值:
角色分析是指:系统为哪些类型的用户提供服务,他们都各自承担哪些不同的职责,并据此定义系统边界,也就是系统是对现实世界哪个范围的内容进行的模拟,这影响到需求设计和实现的范围以及工作量。
在对需求进行分析时,要明确该需求中涉及到的角色,避免产生遗漏问题。本案例中涉及的角色主要为3个:
术语定义是指:统一语言为今后的交流提供了统一的术语定义。要定义统一语言,最好是提供原名(本地语言)和英文名。英文名称是为了让开发者在源代码中统一名称。而它的描述是为了明确它是什么。如果可能的话,附上一张图片会增强可理解性。
因此需要对术语进行明确定义,本案例中需要确认的术语:
主流程梳理是指:利用闭环等思维,以用户身份按照各种场景从头到尾走一遍,以确认场景的完整性。
梳理流程过程中,需要注意的是流程是否产生遗漏、业务整体逻辑是否正确。因为我们可以借助一些思维方式来保证需求分析的质量。
在本案例中,可以利用闭环思维来确认整个活动流程的节点和出口:
本案例中,可以使用边界思维来确认活动的条件,避免出现恶意事件:
本案例中,利用并联思维来分析容易遗漏的场景,做到需求全面覆盖。
优惠券和代金券可以并用吗?
代金券和充值金如何进行消费的,可以单独使用代金券吗?
充值金额是可以任意的吗?
赠送的金额和消费顺序?
本案例中,利用发散思维来挖掘更多的潜在需求,例如凑单。
本案例中,利用对称思维进一步来检查需求分析是否存在遗漏,整体流程逻辑是否无误。
确认双时间的范围:
一般情况下,BA会通过头脑风暴的方式来梳理一些问题,向业务方提出问题,获得答案。但是头脑风暴的方式在这里能够发挥的作用有限,即使是问了很多问题,仍然不知道自己是否梳理了所有该梳理的场景,是否还有场景遗漏。因此需要一个有条理,有脉络的方式进行一页纸需求的分析。从而能够快速而有效地建立起整个需求文档,以推进开发工作。
应对一页纸需求,大锤梳理了一个五步法,得到广泛应用,并且妥善的解决了一页纸需求的问题。五步法是指通过业务价值、角色梳理、术语定义、主业务流程梳理、纲举目张详细分析的方式进行需求分析。
当BA接到一页纸需求时,可以按照五步法需求分析法进行:
第三步对需求的术语进行定义。在一些项目中可能涉及专业词汇术语,因此在前期明确术语的定义,后期在与客户确认需求功能时,可以统一用词习惯。不会出现一词多义或者一意多词的情况。并且,术语定义可以为开发工程师和测试工程师提供统一的用语,为开发过程的沟通效率提高奠定基础。并且由于术语定义的环节能够将术语的含义讲清楚,也对后续的需求分析理解产生了不可磨灭的重要作用。
进行完前三步后,应对主流程进行梳理。一般来说,一页纸需求当中会包含必要的乐观路径的描述。通常描述主流程不会特别困难。但是缺失往往都在于悲观路径,边界条件等环节,因此第五步,通过纲举目张的方式对需求的细节进行梳理补充。纲举目张表示渔民晾渔网的时候,将渔网挂起来之后,渔网的孔就会自然的张开。引申到写文章的时候,文章的大纲要是先定义好了,文章的内容自然就清晰了。同样的,在分析需求的时候如果能够对于细节环节的梳理方式有个总体脉络,就可以清晰地梳理出各种隐含的需求。第五步可以包括:边界思维、对陈思维、异常思维、发散思维、关联思维、并发思维等各种思维方式的应用,以梳理出各种需求的细节。
1.1什么是业务价值
解决别人愿意花钱解决的问题,就是业务价值。它通常是市场、企业、用户三方可以获得的价值主张,结合组织战略规划以及产品/项目生命周期进行定义。
1.2业务价值解决的问题
1.2.1发现潜在需求
干系人提供的原始需求可能包含的信息不充分,如果BA照搬就可能产生场景遗漏,但是如果BA能够考虑业务价值,从用户角度出发分析需求,就会发现潜在的需求。因此我们需要明确组织业务目标和价值,之后的分析都围绕这个目标展开。
1.2.2划分需求优先级
需求的排序首先应该是依照业务价值来进行的,结合市场的趋势、产品所处的生命周期阶段、组织当前的产品/项目组合战略、研发的投入成本等进行综合考虑。根据业务价值可以协助我们更好的对需求进行优先级划分。
1.3如何实现业务价值
1.3.1建立业务目标
BA在进行需求分析的过程中,会有很多想法和见解,但如果无法将其进行串联和推动,那就会忙于交付而不知道为什么交付。一般来说业务目标会有:赚钱、省钱这两大方向。赚钱又分为直接盈利(比如说:促进销售)和间接盈利(比如说:提高访问量,用户粘性等)。
1.3.2满足核心业务
首先要满足核心业务,才能够确保价值的交付。然而核心的业务识别是一个相对较为有难度的事情。其实现方式也有很多种。之后会撰写文章讲述如何识别核心业务。比如在贷款业务中,还款模块可以分为:正常还款,提前划款,逾期还款,坏账还款等多个场景,而正常还款是最核心的业务。
1.3.3满足正确优先级划分
优先级的分级最为常见的是按紧急、重要关联词构建。下图是常见的优先级划分方式,但是如果不掌握更具体的方式,就会陷入到,不知道该如何排序的境地。我们会在另外的文章中讲述如何进行合理有效地需求排序。这里先了解基本概念。
2) 做了-会产生的好处以及实现的目标?
3) 是否跟核心用户利益有关?
4) 是否跟大部分用户权益有关?
5) 是否跟效率或成本有关?
2.2角色梳理解决的问题
角色梳理可以帮助我们差缺补漏,减少遗忘场景的问题。存在有可能不使用系统,但是对系统却有很大左右权的潜在角色。比如:老板给HR买了一套考勤打卡系统,他不打卡,但是他却要关注如何通过打卡系统管理员工。
2.3如何进行角色梳理
2.3.1进行角色分析
系统为哪些类型的用户提供服务,他们都各自承担哪些不同的职责,并据此定义系统边界,也就是系统是对现实世界哪个范围的内容进行的模拟,这影响到需求设计和实现的范围以及工作。
2.3.2利用角色功能矩阵进行梳理
在需求分析中,我们可以利用角色功能矩阵进行角色梳理,角色-功能矩阵将角色和功能进行正交排布,从而梳理那个角色可以执行哪个功能。
3.2术语定义解决的问题
进行需求梳理时,明确系统术语定义方便于后期的沟通与功能确认。
3.3如何对术语进行定义
3.3.1统一语言
统一语言为今后的交流提供了统一的术语定义。要定义统一语言,最好是提供原名(本地语言)和英文名。英文名称是为了让开发者在源代码中统一名称。而它的描述是为了明确它是什么。如果可能的话,附上一张图片会增强可理解性。
定义项目中使用到的所有术语,包括同义词。这里的内容就是一个字典,为每个名字写下简明扼要的定义,其中包括在需求规格说明书中使用的所有名称的含义。
这个字典应该使用你的组织或行业使用的标准名称。这些名称也应该反映出在工作领域中当前使用的术语。该字典包括项目中用到的所有名称。请仔细地选择名称,以避免传达不同的、不期望的含义。
4.2主业务流程梳理解决的问题
4.2.1避免核心场景遗漏
根据用户的视角来对主业务流程进行梳理,可以避免核心业务场景的遗漏,同时也避免遗漏页面和交互。比如说,在一个电商促销活动模块的开发中,一页纸需求中只描述了如何促销,却忘记了引流功能的描述,如果不加以分析,就会遗漏引流这个模块导致整个电商活动的失败。
4.2.2保证流程的逻辑性
根据用户的视角来对主业务流程进行梳理,确保主业务场景和业务的完整性。
4.3如何对主业务流程梳理
4.3.1绘制主业务流程图
流程图能够提供一种快速了解业务如何运作的视图。因此通过绘制主业务流程图能够快速明白业务的最终目标是什么,有哪些角色在参与以及他们的职责,以及彼此之间的联接。一般来说,流程图是个有效的工具,也有的场景只用流程图无法清晰的描述需求,可能要选取其他的合适工具。
5.2纲举目张解决的问题
通过纲举目张的方式可以顺利的梳理出各种细节场景。对于已经有明确答案的,可以直接提供答案;对于有多个选项的,可以提供选项让业务代表选择;对于没有明确答案的情况,可以留白,让业务代表填写。这样通过较为有条理脉络的方式进行各种场景细节的梳理的方式,可以帮助更快的一次性建立较为完整的需求体系,并且迅速推动开发工作。并且在此过程中,容易对需求质量建立信心。不至于像散点式提问的方式,BA自己也不清楚需求到底还有多少没有确认的细节。
5.3如何对纲举目张详细分析