⑴ 使用“需求实例化”方法,构建“需求体系化”产品--完结篇--
产品特性的分类规划,新增需求的分析维护,是软件产品研发的基础。两者之间的关系维护,也一直是困扰产品研发团队的老大难问题。
是否可以借助需求分析的利器--“需求实例化”方法,来构建“需求体系化”这项产品,解决产品研发的需求全生命周期管理问题?
step 0--建立愿景
确定这个“需求体系化”产品誉晌圆要达成的整体效果,它所存在的价值就是助力产品价值交付,为产品价值交付流程的相关干系人提供一种知识服务、工具服务、管理服务。
step 1--确定系统
“ 需求体系化 ”的外部表现是一个网络空间,向上提供一个产品的 文档持续交付平台 ,向下依赖产品研发的 DevOps工具链 ,这三者构成一个完整的系统,为各类用户提供他们需要的服务内容。
step 2--寻找用户
一个产品或者服务,必须以满足用户的需要而存在。所以,我们要找到“需求体系化”的产品用户,分析他们的特征,以及使用产品的频度,便于后续产品功能的优先级评估。
step 3--问询目的
优先寻找产品使用频度高,内容贡献量大的用户,开始用户目的探寻。
目的探寻不能仅仅停留在浅层,必须深入庆塌挖掘,找出用户背后的动机,才能有可能真正实现用户想要的产品。
在研发流程的诸多角色中,PO、SE、BA均为本系统的重度使用者,他们的目的需要优先分析探寻。
每个角色在产品交付中的位置,决定了他们看待问题的角度,对“需求体系化”产品的要求也都存在差异。印证了一句经典名言:
但是,我们可以找到两个共识:
产品由一系列必选和可选的特性组成,每个特性包含一个或多个相互独立的组件/子特性。
特性与组件/子特性之间可以有两种关系:
①or关系:多个同类组件/子特性可以同时服务于父特性
②xor关系:多个同类组件/子特性只能有一个服务于父特性
需求交付全过程的相关角色,都可以通过全景图都得自己想要的关注点。
step 4--勾画场景
下面,我们可以依据前面3步的工作成果,确定典型的产品场景,构建一个“需求体系化”的MVP(最小化可行产品)。谨祥
我们商业模式画布的方法,分析“需求体系化”MVP的典型场景。
结合客户细分、价值主张、客户关系、渠道通路等关键要素,可以推导出其它关联要素,共同确定系统的运作模式。
下面列举了一个PO和SE交互的典型场景,使用故事板的形式呈现。
step 5--列举功能
根据上一步的典型场景,可以开始基本功能的梳理和分解。
以上步骤4和5,仅仅完成了MVP中一个典型场景和基本功能输出,在产品原型得到使用者的实际反馈后,需要重复迭代步骤4和5,输出完整结果,规划产品的交付计划。
--end--
⑵ 一次需求实例化后的思考
最近参与了需求实例化讨论,当前处于敏捷开发流程的学习过程,记录下参与过程中的感受、思考、困惑
在当前项目的研发流程中,需求落团队开发前,会先经历一个环节:需求实例化;他的目的和本质是为了消除歧义,市场原始需求中是一些描述性语言,有些原始需求往往是一句话,在需求传递过程中存在失真,需求实例化是通过举例的方式理出实际场景、编写一定的验收准则,以实际应用场景,帮助大家理解需求,其实就是把抽象的东西用例子把需求描述得更清楚些;
当前项目需求实例化安排固定铁三角(规划SE、开发BA、测试专家)来参与;借着学习的机会参与了需求讨论;
1、感受:项目的需求实例化过程利用行业内常用的步骤来进行,有相关的模板;需求实例化5步骤:
定系统边界:对外提供的软件接口、服务输出;
找用户:提出方(市场SE)、规划方(PO)、分析方(需求SE)、需求实现方(开发)、需求测试者(测试)、工程运维者(工程)、需求用户
问目的:各用户的目的挖掘分析;Want-Need-Win结构
画场景:不同用户所使用的场景,包含常规场景和特殊场景
列功能:根据典型场景,拆分功能项
2、思考:针对测试人员为什么参与、需要注意什么、输出是什么来思考测试人员参与需求实例化过程
Q:哪些测试人员会参与需求实例化?
A:在需求实例化阶段,主要由测试专家参与,在测试团队中属于技术骨干,在某一领域内对系统框架、系统特性、特性交配羡互精通;
Q:测试人员参与需求实例化的目的和作用是什么?是否一定要参与需求实例化?
A:测试人员参与需求实例化,主要从用户的角度来思考该特性的开通上线、实际应用、后期维护操作的可行性,方便性、可维护性;从用户的角度来挖掘需求;测试专家参与需求实例化很有必要,在前期分析透,想明白需求要点,在测试过程中就能更准确、更全面
Q:需求实例化过程中测试人员重点关注什么?
A:测试专家需要关注该需求及波及特性:
1)可测试性,主要有
可呈现:测试结果的输出可呈现,可以被清楚明确的被观察,通过观察可分析出正确合理性
可控制:有各种输入和明确输出,可以通过工具进行自动化
可解耦:可以拆分成独立的模块来进行测试
可理解:对用户来说是否清晰可维护,易于理解
2)已有自动化的覆盖情况
3)需求分析的场景覆培渗拍盖全面性(这点会影响测试场景的全面性)
Q:需求实例化一般会有多次讨论才会定稿,测试人员在什么时候参与最合适?
A:理想的情况,测试专家是跟随需求的讨论贯穿始终;目前的项目流程这点可持续优化改进,目前需求一次讨论、一次定稿(在落团队澄清需求时一起参与)
3、行动:如果参与需求实例化……
提前收集信息:了解需求,收集需求来源相关信息(需求相关波及文档、背景细节等)
输出倒逼输入:在了解完需求后尝试测试分析的输出,带着问题参与需求讨论(理想状态,对个人和项目流程有一定要求;提前完成需求分析喊扒输出、预留时间)
参与后灵魂问:
这次的讨论有什么收获?
这次的讨论哪些可以直接应用?
这次的讨论后第一步可以做什么?
这次的讨论我需要加强的是哪方面?
⑶ 如何开发手机软件
1、软件开发的第一个流程是项目开发目的分析与确定,主要是在软件开发商将开发项目确定下来之后,需要与需求方进行讨论,确定需求方对于软件开发的需要实现目标及其具体需要的功能等等,并确定是否可达成;
2、接下来就是需求分析,这个步骤也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发生,保证软件开发流程的顺畅进行;
3、接下来就是软件设计。软件设计要根据上一阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。它主要分为总体设计和详细设计两个部分;
4、接下来就是编程实施步骤。编程也是根据对软件设计,将软件设计的各部分需求通计算纯耐机程序代码来实现运行,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性;
5、接下来就是软件测试步骤。也就是在根据设计将客户软件需用编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进行单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程;
6、通过以上核心环节完成了软件开发,接下来就是在软件开发达到客户需斗核求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等产物交付给客户,同时指导客户进行软件安装、以及安装技巧,提醒客户注意软件运行状况、环境、服务器及相关中间件的检测与注意事项,知道客户软件的实际操作方法、使用流程等等问题,实现合同规定任务;
7、用户在接受开发商交付的软件开发结果,并进行实际操作、测试运行,实现满意结果之后,对开发出来的软件进行验收;
8、定制开发的软件通常都需要提供售后服务,定期对软件进行维护,或者根据用户出现的新需求,进行应用软件程序的修改,使之不断满足客户实空裤掘际需求。
⑷ 需求实例化输出主要包括哪些内容
1.需求来源分析,主要输出内容为需求来源表。一般采用电子表格方式进行整理。内容包括,需求编号、来源、描述、真实诉求等内容。编号主要记录需求的数量。来源主要记录谁提出的?客户,还是市场人员某某。描述,主要是需求描述。真实诉求,主要是客户背后的诉求需求,通过需求还原客户的需求的真实性。比如,我自己曾经遇到过个真实的事情。我氏态需要买一瓶水,并不是我口渴,而真实需求是我需要零钱坐公交车。这里主要输出内容为需求来源表,或叫需求池。
2.需求梳理,输出内容主要为流程图,分析模型,用户图像,最后形成的功能清歼前源单等内容。悔谈获取到的需求,通过流程图,分析模型等。分析的需求功能。需要通过商业文档的方式,说明该功能需求对于产品的价值,公司的利益等进行项目立项申请,申请完成后再做技术评估内容。当然,这个输出内容是在项目立项的输出内容(判断需求是否要做的输出内容)。实际在梳理需求主要输出的内容,就是流程图,分析模型,功能清单等文档。
3.需求优先级排期,这个过程的输出内容主要是根据需求清单,按照紧急程度进行排期开发,比较紧急重要的作为优先排规划开发。最后根据优先级情况进行原型规划,需求文档编写进入到下个环节。所以,这块输出内容主要是需求优先级排期表。