精华内容
下载资源
问答
  • 浅谈软件项目中的需求分析与需求管理 李杰-11603080115 2019年4月14日 摘要: 需求管理在软件开发项目管理中起着至关重要的作用。本人以曾作为项目经理参与的国内某期货交易所核心结算业务系统(下称“结算系统”)的...

    浅谈软件项目中的需求分析与需求管理
    李杰-11603080115
    2019年4月14日
    摘要:
    需求管理在软件开发项目管理中起着至关重要的作用。本人以曾作为项目经理参与的国内某期货交易所核心结算业务系统(下称“结算系统”)的项目为例,阐述需求管理的流程和自已摸索出的–些需求管理方法和心得。
    关键词:
    项目管理需求管理软件项目开发
    引言:
    在如今软件开发领域,尽管各种开发技术越来越先进,可利用的软件开发工具和方法也越来越多,但仍然有相当比例的软件项目失败。究其原因,常常是由于在项目开始阶段没有正确地理解、确定和定义需求,或者是由于在项目进展过程中没有正确地管理需求。
    众所周知,项目管理的三要求为TQC (时间、质量、成本)。我个人认为,在软件开发项目中,要使TQC目标最大化,范围管理中的需求管理有着至关重要的作用,这与当今中国软件开发的特征有很大关系。当前中国软件开发的领域集中在应用开发领域,多以开发业务管理系统为主。而中国是新型经济体,在企业管理等领域处于逐步摸索、不断变更,以适应国际化竞争的转型初期。在此转型阶段,各企业的管理模式、业务管理方法等有很大不同,且自身也处于不断否定自己的管理、不断变更自己的管理方法和调整业务模式之中。
    软件需求管理的流程:
    软件需求是软件项目开发工作的-一个重要源头。需求管理一-般由需求分析师和项目经理共同完成的。需求分析师尽可能准确的理解和获取客户需求及潜在需求,编写《需求规格说明书》,而项目经理则需通过加强需求管理,有效的防范和减少不必要的需求变更。按我多年项目开发管理经验,我个人认为,需求阶段准备把握了各类需求(功能、非功能、潜在需求等)并有效地管理需求,项目也就已经成功了一半。
    在负系统时,按需求工程的方法论,将需求管理的流程可划分为如下几部分:
    一、制定需求管理计划
    需求管理计划往往被软件项目管理人员所忽视,很多项目经理在开发项目时,一上来就是让需求分析师跟客户谈需求去,这样做会导致需求工作的盲目性甚至可能让需求分析师无所适从。
    在本项目启动时,我通过如下步骤制定需求管理计划:
    ① 确定需求沟通机制;确定需求变更管理办法;
    ② 确定需求跟踪方法;
    ③ 确定需求管理涉及的干系人,并明确职责;
    ④ 明确需求管理工具;
    ⑤ 编写需求管理计划。
    二、需求调研
    需求调研是需求分析师一项非常 重要的工作。在本项目中,我确定了对期货核心结算业务吃得很透,具有5年以上相关经验的技术人员作为需求分析师负责与客户的需求访谈和调研,并成立需求组,在需求组中还配备了软件设计师和软件测试工程师旁听。我认为,在需求阶段,虽然以需求分析师为主,但软件设计师和软件测试工程师参与非常重要,他们可以了解第一手的需求信息。
    三、需求分析与定义
    针对获取的用户需求进行分析和整理,并规格化,形成需求规格说明书。针对每项功能需求,定义需求的重要性、优先级、实现的难易程度。
    四、需求确认
    针对需求规格说明,和客户业务、技术人员起来,通过讲解的方式,确认需求,并最终让客户方需求接口负责人签字确认。
    五、管理需求变更
    管理需求变更是需求管理中非常重要的一环,也是经验不足的项目经理容易忽视的地方。
    在软件项目中,没有不变的需求,不能指望在需求阶段- -蹴而就,就此确定下来。随着设计和开发的深入,有些原定的需求本来就可能显得不合理;加之时间的推移会伴随着客户业务的变化和发展,需求变更是不可避免的。管理需求变更,是项目成功的关键因素。
    在结算系统项目中,我采用如下方式对需求变更进行管理:
    1.需求变更申请需书面提出,并由客户方需求接口人签字认可。当我方收到需求变更申请时,先由项目组经理与客户方需求接口人协商,协商未果,由包括双方领导在内组成的CCB(变更控制委员会)审核,是否接受变更;
    2.CCB审核确定接受的需求变更,录入需求管理工具TD,并通知相关方(包括设计组、开发组、测试组),评估影响范围及工作量;
    3.针对需求变更,进行相应的设计和开发的调整;
    4.验证需求变更是否完成。
    六、需求跟踪
    针对需求列表,定期对需求进展进行跟踪。
    需求跟踪是指跟踪一“个需求从定 义、实现到验证的全过程,包括编制每个需求同系统各类元素之间的联系文档,这些元素包括其他类型的需求、体系结构、其他设计组件或模块、源代码模块、测试用例、帮助文件等。需求跟踪的目的是建立与维护“需求-设计编码测试”之间的一致性, 确保所有的工作成果符合用户需求。
    如果采用手工操作方式,对需求进行跟踪,将是一个非常繁重的体力活。在本项目中,我们应用TD(Test Director,主要用来管理需求,bug缺陷,测试计划,测试用例,测试报告)管理工具,该工具把需求定义、设计(每项设计关联一.个或多个需求点)、开发(建立开发模块与需求点的关联矩阵)、测试(每个测试用例关联一一个或多个需求点)有机的联系在一起。
    我负责专人(本项目以系统集成人员兼职)来定期扫描和跟踪需求的进展,可以让我随时了解项目的进展以及离完全符合客户所有需求还有多远的距离。
    关于软件需求管理的提醒:
    (1)要充分识别客户的需求和潜在需求
    客户的需求各种各样,纷繁复杂,我们要从中将这些需求进行分类。有些需求是现

    有的业务规则和功能、有些是对现有工作的抱怨、有些是客户根据自已理解设想的业务规则和功能。针对各类需求,我们要有不同的对待方法,尤其要慎重对待对现有工作抱怨的需求,这类客户他对现实不满,但又没有想法设想一套新的业务规则和功能,这时候需要我们充分理解,抓住客户抱怨的本质,通过自身对客户业务的理解,帮助客户设计一套能解决他的抱怨的新的规则和功能。
    在本项目开发中,我们有重点地针对客户抱怨较大或较多的需求,内部召集相关人员充分挖掘客户的需求和潜在需求,并运用快速开发工具AxureRP搭建系统原型,以直观易懂的界面作为交流工具,充分讨论其是否满足客户的真实需求。
    (2)需求确认非常重要
    在以前的项目中,经常在项目验收时存在客户反悔、扯皮的事情,而项目开发时需
    求文档等各类开发文档却都很齐全。究其原因,跟需求没有正式确认有很大关系。有些项目经理或需求分析人员抱怨项目时间紧,客户需求人员没空,所以免了需求确认这一环节。但我认为这一环节一定不能免。哪怕项目组再忙,客户再忙,一定要想办法让客户书面确认需求并签字。在本项目中,需求分析完成后,我通过给客户逐步讲解需求,同时逐步让客户对需求进行确认。在客户需求变更后,我通过会议纪要、需求变更单等让客户确认签字以保存当前协商的成果。
    (3)需求双方都要务实
    需要双方领导层达成共识,需求是无止境的,项目成功才是关键的。在本项目初期,我请求我方领导和客户方领导多次沟通,定下保证实现项目主要需求,一定要保障项目成功的基调,并为此做了一.些物质上的一些激励,即我方拿出项目合同额10%的钱,激励由甲、乙双方共同实际参与此项目的项目人员,当然包括客户方的需求人员,如果项目按时上线,实现所有主要的日常业务功能,那么就可以参与分享此项目奖,否则该项目奖池归零。
    (4)设计实现别让需求扩大化
    追求完美是技术人员的通病。在校期间,课程设计等计算机实现方面,学生追求算法完美可以认为是一种美德,但项目是受多种因素约束的,我们不可能实现完美无缺的项目。我们的设计人员-定不要把需求放大,放到-个更完美,适应性更强的模型中,这样无形中扩大了项目范围,加大了项目的实现成本,对项目对个人都是有害的。我们在提炼客户需求的时候,可以采用“往前跨半步”的方式,满足客户现在以最近的将来可能需要的需求以满足系统的灵活性,切总追求更加抽象化,更加完美,盲目扩大需求范围,要知道,简单是美,适用的才是最好的。
    (5)严格规范需求变更控制流程
    项目开发中,需求变更是永恒的主题,我们要采取恰当的措施,正视这个问题。以前项目开发过程中,由于客户方相关人单方面跟项目某一个开发人员指出说原理解的需求不正确,需重新拟定,导致后来需求变更泛滥,项目无法收尾的惨剧。
    在本项目中,由双方领导层、双方项目经理等组成变更控制委员会CCB,并要求开发人员不得私自答应或接受客户某一个需求提出人员的需求变更,所有变更必须以客户方需求接口人汇总整理后,以书面方式提出向开发方项目经理申请,开发方项目经理可以与客户方需求接口人讨论是否接受和拒绝需求变更,当不能达成一致时,交由CCB,由CCB决定是否变更,确有变更的,录入到变更控制系统TD,并通知各方实施变更。通过这套机制,客户要实现需求变更不是那么随便,有很多人会参与监督这一变更过程,客户也害怕自己的形象受损,有效杜绝了客户需求提出人员对需求的朝令夕改和源源不断提出的可有可无的需求的情况发生。
    (6)别忽视需求跟踪
    不要等到UAT(User Acceptance Test,也就是用户验收测试,或用户可接受测试)时,才发现需求未实现,或实现不全,这样会让验收工作苦笑不得,影响在客户方的形象。在本项目中,我委派系统集成人员兼做定期的需求跟踪,每个月-次,以检查正在进行的设计和开发,其功能点是否符合对应的需求。
    (7)抓住客户方需求接口人
    在项目启动初期,一定要要求客户规定唯一一个需求接口人,这个接口人就是项目开发方的教练(coach)。在需求阶段,需求接口人需始终跟需求组一起,跟客户的各个部门-起讨论客户需求,所有部门的需求需经需求接口人同意。这样做好处很多,客户方需求接口人起着沟通项目甲乙双方桥梁的作用,甚至算半个乙方(项目开发方)的人。在讨论和汇总客户各部门、各人员的需求时,客户方需求接口人可以帮项目组过滤-些无用或很次要的需求,也可以协调客户部门各人员需求的冲突,更可以协调项目甲、乙双方的需求理解偏差和冲突。客户方需求接口人还可以通过全程参与项目需求管理,了解更多以前没有机会了解的业务,提升自身业务能力,这也是他(她)所乐见的。在项目验收时,客户方需求接口人可以根据自身全程参与,更深入地理解系统需求的重点,在验收或试用阶段如果有实际操作人员有反悔的情况,他(她)可以更深入地对业务和对系统的理解来调停。
    (8)苦练内功,适当引导客户需求
    有很多时候,项目组开发人员抱怨客户需求太霸道,实现起来很别扭。但究其原因,发现是由于你别客户牵着鼻子走,客户说怎样就怎样,但客户又不是计算机设计专家,导致项目开发人员抱怨不断。我们在项目开发过程中,-定先要虚心听,且要多问几个为什么,然后在自已公司找相关业务专家、行业顾问多咨询,以更简洁、更合理的模型来满足客户需求。如果自己公司缺乏行业经验,一定要聘请业务专家、行业顾问等专业人士,通过行业知识和业务的培训和专业指导等方式,提高项目团队特别是需求分析师对客户需求的把握能力。此外,还可以对客户方业务人员提供免费的计算机和软件开发等基础支持的培训,以便引导客户需求提出人员以更接近技术人员的方式提出合理的需求。

    展开全文
  • 需求工程规格说明、需求验证、需求管理

    千次阅读 多人点赞 2020-04-24 18:52:14
    需求工程系列: 软件需求工程习题1(1~4章) 软件需求工程习题2(5~7章) 需求工程中的面谈和原型(8、9章) 需求获取方法之观察与文档审查(10章) 第十一章 需求规格说明 需求获取:目标是得到用户需求——收集...

    需求工程系列:

    软件需求工程习题1(1~4章)
    软件需求工程习题2(5~7章)
    需求工程中的面谈和原型(8、9章)
    需求获取方法之观察与文档审查(10章)
    需求工程规格说明、需求验证、需求管理(11~13章)


    第十一章 需求规格说明

    需求获取:目标是得到用户需求——收集需求信息
    需求分析:目标是更深刻的理解用户需求——界定能够让用户满意的解决方案准则
    需求规格说明:目标是定义用户需求——准确描述需求及其解决方案

    需求规格说明文档类型:
    在这里插入图片描述
    需求规格说明文档的描述手段:
    非形式化:自然语言、限制性文本
    半形式化:结构化文本(伪码/结构化英语)、模型语言(图、表…)
    形式化:形式化语言(数学语言:BNF,Z…)

    优秀需求规格说明文档的特性:
    完备性、一致性、根据重要性和稳定性分级、可修改、可跟踪

    习题:

    1.系统需求开发的结果最终会写入( 系统需求规格说明)。
    2.项目的前景和范围文档、用户需求文档都被视为属于( 用户文档),重点都是用户的现实世界。
    3.系统需求规格说明文档、软件需求规格说明文档、硬件需求规格说明文档、接口需求规格说明文档和人机交互文档一起被用于系统开发的目的,都被认为是(开发文档)。
    4.下列( C)不是需求规格说明文档的读者。
    A、项目管理者
    B、编程人员
    C、销售商
    D、律师
    5.编写需求规格说明文档的意义(ABCD
    A、需求规格说明文档可以成为各方人员之间有关软件系统的协议基准。
    B、需求规格说明文档可以成为项目开发活动的一个重要依据。
    C、在需求规格说明文档的编写过程 中,可以尽早的发现和减少可能的需求错误,从而减少项目的返工,降低项目的工作量。
    D、需求规格说明文档可以成为有效的智力资产。
    6.编写需求规格说明文档所使用的语言类型有(非形式化语言、半形式化语言、形式化语言)。
    7.【判断题】软件需求规格说明文档是对部分系统功能分配给软件部分的详细描述。(×
    8.【判断题】人机交互文档是对整个系统功能中需要进行人机交互部分的详细描述。(
    9.【判断题】需求规格文档化的目标是交流。(


    第十二章 需求验证

    验证(Validation)与确认(Verification)
    一方面,它要确保正确地得到需求(需求验证)得到足以作为软件创建基础的需求;
    另一方面,它要确保得到正确的需求(需求确认),得到能够准确反映用户意图的需求。

    需求验证活动的四个步骤:
    需求验证普遍存在于需求开发活动中
    1、在需求获取中:获得的用户需求是否正确和充分的支持业务需求?
    2、在需求分析中:建立的分析模型是否正确的反映了问题域特性和需求?细化的系统需求是否充分和正确的支持用户需求?
    3、需求规格说明:需求规格说明文档是否组织良好、书写正确?需求规格说明文档内的需求是否充分和正确的反映了涉众的意图?需求规格说明文档是否可以作为后续开发工作(设计、实现、测试等等)的基础?
    4、需求验证:是指在需求规格说明完成之后,对需求规格说明文档进行的验证活动。

    需求验证常见的方法;
    需求评审、原型与模拟、开发测试用例、用户手册编制、利用跟踪关系和自动化分析。

    评审过程的6个阶段:
    1.规划阶段
    2.总体部署阶段
    3.准备阶段
    4.评审会议阶段
    5.返工阶段
    6.跟踪阶段

    评审的类型:
    审查(最为严格)、小组评审(轻型审查)、走查、轮查、临时评审(最不正式)

    习题:

    1.在大多数情况下,需求都是在静态的方式下被加以验证。那么对复杂的动态行为就需要使用模拟或原型方法来加以验证。
    2.评审的检查方法有自由方法、检查清单、缺陷、功能点、视角、场景和逐步提升。
    3.【判断题】 需求验证活动同样普遍存在于需求分析过程中。( ×
    4.【判断题】需求验证是需求工程中最后一个活动。( ×
    5.需求验证并不是一个可以一次结束的活动,它可能需要多次、反复地执行验证。(
    6.在大多数情况下,需求都是在静态的方式下被加以验证。那么对复杂的动态行为就需要使用原型或模拟方法来加以验证。 ( )
    7.审查类型中最正式评审类型是轮查。(×
    8.验证是贯穿于整个软件生命周期的。(
    9.基于场景方法也是需求评审当中常用的一种检查方法。(
    10.需求验证和需求确认一样,都能确保得到正确的需求。( ×


    第十三章 需求管理

    在需求开发活动之后,需求基线应该成为后续软件系统开发的工作基础和黏合剂:

    • 项目管理者根据需求安排、监控和管理项目计划;
    • 开发者依据需求开发相应的产品功能和特性;
    • 测试人员按照需求执行系统测试和验收测试;
    • 客户和顾客依照需求验收最终产品;
    • 维护人员参考需求执行产品的演化。

    也就是说,需求的影响力贯穿于整个后续的产品生命周期,而不是单纯地存在于需求开发阶段。软件需求规格说明文档要在产品生命周期的各个阶段都扮演重要角色,发挥重要作用。软件需求说明文档的内容是开发各阶段的标准和目标来进行。

    需求管理的3个活动:
    维护需求基线、实现需求跟踪和控制变更。

    需求基线的内容:
    软件需求是需求基线的关键内容,还包括很多和软件需求相关的描述信息,它们将为软件需求在项目中的作用的有效发挥提供信息支持。

    需求基线的维护:
    1.配置管理
    2.状态维护

    需求跟踪:
    以软件需求规格说明文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力。
    1.前向跟踪
    前向跟踪是指需求被定义到软件需求规格说明文档之前的演化过程
    (1)向前跟踪到需求:说明涉众的需要和目标产生了哪些软件需求
    (2)从需求向后回溯:说明软件需求来源于哪些涉众的需要和目标
    在这里插入图片描述

    2.后向跟踪
    后向跟踪是指需求被定义到软件需求规格说明文档之后的演化过程
    (1)从需求向前跟踪:说明软件需求是如何被后续的开发物件支持和实现的
    (2)回溯到需求的跟踪:说明各种系统开发的物件是因为什么原因(软件需求)而被开发出来的
    在这里插入图片描述
    需求跟踪的实现方法:
    主要有矩阵、实体关系模型和交叉引用3种。

    习题:

    1.需求工程是所有需求处理活动的总和,它包括需求开发和需求管理两个部分。
    2需求基线的维护主要包括配置管理和状态维护
    3.从需求向后回溯(前向跟踪的两种联系之一)说明软件需求来源于哪些涉众的需要和目标
    4.后向跟踪是指 需求被定义到软件需求规格说明文档之后的演化过程。
    5.【判断题】前向跟踪是指需求在被 获取 到软件需求规格说明文档之前的演化过程。(×
    6.【判断题】后向跟踪包括两种联系:从需求向前跟踪和 回溯到需求的跟踪 。(
    7.【判断题】需求基线其实不是被明确和固定的需求集合,是项目团队需要在某一特定产品版本中实现的特征和需求集合。(×
    8.【判断题】需求跟踪是一种有效的控制手段,能够在涉众的需求变化中协调系统的演化,保持各项开发工作对需求的一致性。(
    9.【判断题】需求跟踪是以前景与范围文档为基线,在向前和向后两个方向上,描述需求以及跟踪需求变化的能力,分为前向跟踪和后向跟踪两种。(×应该是以软件需求规格说明文档为基线

    展开全文
  • 需求管理

    千次阅读 2017-01-07 14:57:03
    需求管理是确保各方对需求的理解一致,管理和控制需求变更,从需求到最终产品的双向跟踪。 需求管理概述 把所有与需求直接相关的活动称为需求工程。需求工程的活动可以分为两类:需求开发、需求管理。需求开发是...

    需求指由项目接受的或项目生产的产品和产品构建的需求,包括由组织征集的对项目的需求。需求管理是确保各方对需求的理解一致,管理和控制需求变更,从需求到最终产品的双向跟踪。


    需求管理概述

    把所有与需求直接相关的活动称为需求工程。需求工程的活动可以分为两类:需求开发、需求管理。需求开发是通过调查和分析,获取用户需求并定义产品的需求。需求开发产生的输出有:项目视图、范围文档、用例文档、软件需求规格说明、相关分析模型。需求开发过程有四个主要活动:需求获取、需求分析、需求定义、需求验证。

    需求开发把项目干系人的需求转换成产品需求和决定如何在各个产品构建之间安排或分配需求。需求管理是收集需求变更和变更的原因,维持对原有需求和所有产品及产品构件需求的双向跟踪。

    需求管理的流程:

    1.制定需求管理计划。内容包括确定软硬件资源、需求跟踪矩阵、需求变更请求表等,由项目经理审批该计划

    2.求得对需求的理解。对需求的解读达成一致

    3.求得对需求的承诺。先对需求达成共识承诺,然后实施需求达成一致的承诺

    4.管理需求变更

    5.维护队需求的双向跟踪

    6.识别项目工作与需求之间的不一致

    需求属性是进行管理需求的一些指标,例如:创建时间、版本号、状态、稳定性等,一般情况下,最值得关注的是需求的状态,状态的取值有:已建议、已批准、已实现、已验证、已删除。


    指定需求管理计划的主要步骤

    1.建立并维护需求管理的组织方针

    2.确定需求管理使用的资源

    3.分配责任

    4.培训计划

    5.确定需管理的项目干系人,并确定其计入时机

    6.制定判断项目工作与需求不一致的准则和纠正措施

    7.制定需求跟踪性矩阵

    8.制定需求变更审批规程

    9.制定审批规程


    需求规格说明的版本控制

    版本控制是需求管理的一个必要方面。版本控制最简单的方法是根据标准约定手动标记软件需求规格说明的每一次修改。使用版本控制工具更佳。


    需求变更管理

    为了使开发组织能够严格控制软件项目应用,需要保证以下事项:

    1.仔细评估已建议的变更

    2.挑选合适的人选对变更做出决定

    3.变更应及时通知所有涉及人员

    4,项目要按一定的流程进行需求变更

    当进行变更时,按从高到低级别顺序对受影响的文档进行变更。

    扩展需求指在软件需求基线已经确定后添加新的功能或进行大范围改动,这种修改影响非常大。为了控制这种需求扩展,可以采用两种方法:第一种是预留需求改动的余地;第二种使用原型法为客户提供基于原型上的可能扩展,帮助客户了解真实需求

    变更控制策略描述了如何处理需求变更。下列需求变更策略是有用的:

    1.所有需求变更都必须遵循过程

    2.未获批准的变更只能做可行性论证

    3.变更请求不能保证变更实现,有变更控制委员会决定实现那些变更

    4.项目风险承担者应了解变更数据库内容

    5.不能从数据库中删除或修改变更请求的原始文档

    6.每一个集成的需求变更必须能跟踪到一个批准的变更请求

    变更控制中的组件:

    1.开始条件,执行变更控制之前应满足的条件

    2.过程或步骤中包含的不同任务及项目中负责完成他们的角色

    3.验证任务正确完成的步骤

    4.结束条件,指出过程或步骤完成的条件

    变更控制过程描述:

    1.绪论。说明此步骤或过程的目的,确定步骤或过程应用的范围

    2.角色和责任。列出参与变更控制活动的项目组成员并描绘他们的责任

    3.变更请求的状态。每个变更请求都有生命周期,用状态表示周期中的变化

    4.开始条件。基本开始条件:从何时渠道接受一个合法的变更请求

    5.任务。变更控制任务,包括评估可行性、批准或拒绝、传达变更决定

    6.验证。验证变更情况

    7.结束条件

    变更控制状态报告,用报告、图表总结变更控制数据库的内容和按状态分类的变更请求。

    变更控制工具,辅助变更控制过程,挑选时注意以下内容:

    1.可自定义变更请求的数据项

    2.可自定义变更请求生命周期的状态转换图

    3.可加强状态转化图使被授权用户做出可允许的修改

    4.可记录每种状态变更数据,确认做出变更的人员

    5.可在请求提出或请求状态修改后通知相关人员

    6.可根据需要生成标准或定制的报告或图表

    变更控制委员会(CCB)是控制需求变更的优良策略之一。

    软件度量是深入项目、产品、处理过程的调查研究,以面临的问题和要达成的目标为依据的评估活动。测量变更活动是衡量需求变更的一项重要活动。


    需求跟踪

    需求跟踪包括编制每个需求同系统元素间的联系文档。

    需求跟踪目的是保证需求跟实际开发任务的关联性,这会提高开发费用,降低运维费用。

    表示需求和别的系统元素联系链的最普遍方式是使用需求跟踪能力矩阵。

    变更需求的代价需要作出影响分析,例如成本、进度、收益、风险等。


    需求管理好不好看需求变更控制。


    选择性考察、客观性考察、论述性考察

    展开全文
  • 需求管理6个最佳方法

    千次阅读 2020-12-02 16:31:24
    这就是为什么我们需要一个持续的需求管理流程,这样能不仅能帮助控制成本,避免规模失控,还能保证完整的可追溯性。好的需求管理系统在需求变化时,能够实现灵活地管理,还能高效地交付功能。我们在实践中总结了一些...

    需求变更,相信大家一定都遭遇过,即使项目在启动时已经具备完整的需求,在项目启动后还是可能会变动。而且由于管理模型的不同,在项目启动后对需求变更会是件特别耗时费力的事。

    这就是为什么我们需要一个持续的需求管理流程,这样能不仅能帮助控制成本,避免规模失控,还能保证完整的可追溯性。好的需求管理系统在需求变化时,能够实现灵活地管理,还能高效地交付功能。我们在实践中总结了一些能帮助我们避免需求的频繁变更的方法,下面就来简单介绍。

    一、尽可能多的渠道搜集需求

    首先是搜集需求。这个过程要包含所有相关的渠道:比如新老用户、管理人员、业务分析师和其他的参与人员。尤其是注意那些会真正使用系统的用户,因为在系统性能和用户界面方面,他们会给你提供最可用的信息。把他们作为最高级别的需求来源能让你的产品或服务真正解决客户的痛点。

    怎么从用户获得需求?

    • 注意用户非正式的评价或吐槽 - 需求也许就藏在其中。
    • 对于预设的问题,要捕捉用户的反应。
    • 和那些能与用户直接交流的管理人员持续的开展头脑风暴。
    • 仔细的看看用户所处的环境。
    • 更多的从用户角度去了解 - 比如他们日常是如何使用产品来开展任务的,他们的工作流程、任务的排序、内部规则、可能会遇到哪类问题,或者是用户、团队成员之间的交流。

    我们通过PingCode,汇集了用户、市场人员、售前、客服等不同渠道的用户需求

    二、确定需求优先级

    分类需求并不是一件简单的事。当项目成熟时,我们要把需求文档化,并把所有信息保持在最新状态,来保证其在测试和验证时可追溯。需求的优先级整理,能确保团队发现缺失,矛盾或者是重复。清晰的需求结构有助于测试管理期间更容易的决定执行哪些操作,包括指定相关的测试用例。这两个流程彼此紧密关联,只有在受控和良好的计划下进行,才能达到项目目标。

    在与相关人员商量需求的优先级时,他们自然会提出各种的意见:哪些关键,哪些想要,又有哪些是强制或可选的。关于需求的优先级,让所有参与者统一意见是困难的, 这也是为什么这件事最好在项目早期做。为了更好的掌握需求的优先级及其依赖关系,按层级关系把它们组织在树状图中是最佳途径。
    在这里插入图片描述

    通过组织确定需求的优先级,可以使团队快速筛选出缺失、重复或者矛盾的需求

    三、尽可能邀请所有相关人员参与评审,并达成共识

    一旦需求整理完毕,与所有相关人员开会评审是必须的。并且尽可能确保项目成员都参与进来。这个过程中中即使是在会议的最后一刻需求也可会发生变动,而这恰好是大家取得共识的关键时刻。在整个应用生命周期中,我们需要确保系统的开发不只是盲目的在符合一组宽泛的需求,而是应该灵活处理,优先减少成本,尽早交付。这就是为什么要尽早确定需求的优先级,然后再是是集齐需求,等待最终评审。这些需求以及他们的优先级将指明项目未来的方向。

    在此之后,剩下的就是让那些具备丰富需求管理经验的同事来检验你的需求规范。

    总之,在核实需求时我们要注意下列标准:
    1.特有的、整个项目过程完整不变。
    2.易于测试、可追溯。
    3.在团队能力范围之内,便于后期验证。
    如果你觉得哪些需求没有达到这些标准,修改或干脆删掉。

    四、需求验证

    通常,要时不时的让提出需求的相关人员来审核文档,并且要尽力帮助他们理解需求。当这些需求实现时,还要准备好相关的说明文件。根据不同的工作流程,你要提供不同格式的比如活动图,工作流模型图以及流程图来说明。最好是把需求以文件夹形式的来组织,并以树状图显示,方便用来验证。这样你就能构建一个包含少数功能的可用环境,用户就可以在需求最终评审之前尝试不同的方法来验证。另外,这种组织形式还能让参与者明了,具体的需求是如何代表他们的工作目标,以及它们是如何组成项目的总体目标。同理,清晰的展示所有对象间的关系和问题也同样重要。

    五、评估需求变更的影响

    这种类型的评估会让团队认识到需求变更带来的影响,能帮助团队做出最有效的业务决策。影响力分析在那些重视质量和安全性的项目中非常重要(比如医疗或自动化项目)。这种分析用来检查需求的变更会导致哪些组件也需要更改。

    大体来说,影响力分析是指:
    理解需求变更带来的影响 - 例如, 在产品中新增一组功能会降低性能,对部分用户来说是不可接受的;

    如果需求变更了,要指出哪些文档,模型,和文件可能需要修改。

    明白哪些任务涉及到变更的需求,以及要实现这个变动要花费的成本,两者同样重要。

    如同你改变已有的需求,系统本身也会变动。开发团队需要良好的版本管理机制来控制这些变动,包括测试管理在内,还要有个的组织良好的后期执行方案,来降低因成员间误解带来的风险。
    在这里插入图片描述
    在这里插入图片描述

    六、用好需求管理工具

    使用PingCode管理需求

    借助正确的工具来搜集和文档化需求是最有效的。如果你的开发团队使用PingCode,就可以很好的进行需求管理。因为它覆盖了包含项目、任务、需求、缺陷、迭代规划、测试、目标管理在内的研发管理全流程。

    就以需求管理来说,借助于PingCode,你能够通过建立一个项目便捷的汇集市场人员、销售人员、及内部其他渠道产生的需求或者缺陷,并且使用史诗/特性/用户故事对需求进行分级管理,让产品负责人可以为需求设定优先级以及指定需求的业务价值。而这些,都可以作为迭代规划时的依据。

    在这里插入图片描述

    PingCode官网

    原文作者Dzmitry Hryb
    译|WT刘亮

    展开全文
  • doors需求管理工具

    热门讨论 2009-11-25 17:12:44
    Telelogic DOORS企业需求管理套件(DOORS/ERS)是仅有的面向管理者、开发者与最终用户及整个生命周期的综合需求管理套件。不同于那些只能通过一种方式工作的解决方案,DOORS/ERS赋予你多种工具与方法对需求进行管理,...
  • 1、Feature List:需求特性列表,日常的需求管理,管理好了,治大国如烹小鲜,管理不好,每时每刻被动煎熬。 2、Feedback List:反馈列表,各个渠道反馈的问题记录,可能有用户的骂声,Thats Great!,用户的痛点...
  • DevOps ACA 云效需求管理与迭代(五)

    千次阅读 2021-03-06 10:26:43
    文章目录云效需求管理与迭代1. 需求录入与评审2. 需求细化3. 迭代规划4. 需求变更5. 需求看板 云效需求管理与迭代 1. 需求录入与评审 2. 需求细化 3. 迭代规划 4. 需求变更 5. 需求看板
  • 禅道需求管理和需求流程建议方案

    千次阅读 2019-06-21 14:21:04
    禅道需求管理和需求流程建议方案: 方案一:提需求时可以选择评审人,需求评审通过才能关联进项目。 强制评审 ,能强制选择具体人,能让哪些人提交需求是必须要评审之后才能转换成需求。如下图: 方案二...
  • 如何做到项目准时交付之需求管理

    千次阅读 2018-12-02 12:10:16
    很多人可能都还不明白需求分析和需求管理之间的区别,通常我们说起来最多的都是需求沟通和需求分析,开会都是讨论需求如何如何做,这其实是需求分析的过程如何如何,而与需求有关的其他活动提及的比较少。...
  • 产品经理如何有效进行需求管理?

    千次阅读 2020-01-19 16:47:40
    但是需求又是整个项目能否成功的决定性因素,所以我们必须对需求进行管理,从而使需求成为整个软件工程的基线。使得所有产品、设计、研发、测试、运维工作能围绕着统一的需求开展。保证项目能顺利进行,完成目...
  • 轻量级过程改进之需求管理

    千次阅读 2014-11-03 08:29:59
    需求管理在于管理产品研发过程中的客户需求,建立项目相关干系人对需求的共同理解,维护需求与所开发产品之间的一致性,并控制需求的变更。项目启动、项目计划和项目监控等改进域中,客户需求都是我们开发工作的输入...
  • 对项目需求管理的认识和体会

    千次阅读 2018-06-12 17:33:55
    下面是对一位项目经理关于需求管理的访谈: 做了那么多个项目,我深深感到对项目的需求把握管理好了,是项目成功的关键。对需求的管理大概有那么几个活动,首先是需求获取,这是一个确定和理解客户的需要和期望的...
  • 国内外需求管理工具使用感悟!

    万次阅读 2015-07-09 10:41:52
    需求管理(REQM,Requirements Management)属于成熟度2级(受管理级)的过程域,是其他许多过程域实施的前提。对于暂未实施CMMI的企业,同样也可以借鉴CMMI的原则,实施和优化需求管理。 许多IT企业都有过需求失控...
  • 禅道需求管理规范

    万次阅读 多人点赞 2017-03-21 14:39:13
    需求管理规范 2 4.1 需求管理流程 2 4.2 需求开发指引 3 4.3 需求录入规范 6 4.4 需求评审规范 7 4.5 需求计划规范 7 4.6 需求关闭规范 7 4.7 需求变更 8 1版本记录 2目的 目前存在需求描述不明确,录入、评审不...
  • SAP需求管理

    千次阅读 2018-02-28 15:34:45
    一、什么是需求管理 对制造业来说,客户需要什么,什么时候需要,与之对应的生产什么,什么时候生产,什么时候交货,这些是需求所在。对计划部门而言,首要任务就是做好需求管理,平衡计划独立需求与客户订单,平衡...
  • 1)第1次迭代:需求分析挑战之旅 用半天的时间,通过“疯狂的订餐系统”全程实战需求分析与需求变更管理,通过实例掌握需求分析与管理的基本技巧。 2)第2次迭代:需求分析四阶段全程实战 + 综合演练 这部分内容约2...
  • 软件项目管理 需求管理

    千次阅读 2018-04-08 10:04:25
    需求管理的过程是保证需求以一种形式描述一个产品应该具有的功能,性能,让需求可靠 需求过程的一个重要的活动是系统化需求,并建立相应的文档 软件需求调研员 需求获取的方法 (需求调研:需求要能解决用户实际...
  • 项目管理 : 需求管理的6个流程

    千次阅读 2019-06-11 21:45:42
    1.问题分析 问题分析可以通过了解问题及涉众的最初需要,并提出高层解决方案来实现。它是为找出“隐藏在问题之后的问题”而进行的推理和分析。问题分析期间,将对“什么是面临实际问题”和...需求来自各个方面,比...
  • 一切伟大产品的实现都是从需求管理开始的。敏捷开发中的需求管理大致分为三个阶段:需求调研,需求分析和需求确认。 需求调研阶段 产品立项后,产品经理便开始了和需求打交道的漫长过程。第一步就是需求的调研工作...
  • 需求开发与需求管理

    千次阅读 2013-08-31 22:05:54
    需求开发与需求管理概述   在我看来, 项目管理的日常活动包括了:需求管理、故障管理、版本管理、任务管理。   需求管理贯穿了项目的大部分生命周期,故障管理则从第一个迭代版本出现直到产品维护阶段(包括内部...
  • IBM Rational DOORS 可实现对整个产品的全生命周期需求管理,覆盖从需求、到设计以及测试阶段。是一款具有广泛使用的企业级专业需求管理工具。DOORS 可以将项目开发过程中产生的各级需求和与需求相关的文件进行链接...
  • 简单的使用EA进行需求管理

    千次阅读 2018-01-03 14:05:50
    简单使用EA进行需求管理
  • 一提到需求管理类工具软件,很多人可能都只知道IBM的DOORS,毕竟它大名鼎鼎,也做了很多年了,不过要说行业的NO.1,它恐怕已经不能胜任了。 最近也有很多朋友一直在问我,公司要上需求管理平台,国内软件鱼龙混杂...
  • 软件需求管理

    千次阅读 2015-03-08 03:42:53
    如何做好需求评审 注:
  • 【DOORS】如何基于DOORS实施需求管理

    千次阅读 2017-04-13 10:50:40
    IBM Rational DOORS,简称DOORS,是被业界广泛认可的需求管理工具,在国内外需求管理领域具有较高的市场占有率。需求管理作为传统的工程领域,理论发展相对成熟和健全。随着越来越多的企业开始注重在需求管理工程...
  • 需求管理的方法整理

    千次阅读 2016-01-07 11:09:12
    下面是本人对于需求管理的个人方法整理: 【需求收集】 需求的收集分为两个阶段。 第一阶段在产品还未成型时,因为一个核心的理念展开了需求的前期收集,比如一个产品想要满足人们的某种欲望,那么之后的需求...
  • 国内流行的需求管理工具比较

    千次阅读 2012-12-13 19:43:52
    本人从网上收集整理的几个需求管理工具 - 项目管理 需求是研发团队工作的起点,很多研发团队的开发过程混乱的源头都在于需求管理没有做好。这里是本人收集整理的几个需求管理系统,希望对大家有点帮助。 ...
  • 今天我们来介绍六个最佳经验的前两个:迭代化开发和需求管理。对应的英文部分可以参看前面的图文。迭代化开发主要理解瀑布模型在需求变更方面带来的缺陷,以及迭代化开发的基本步骤,从风险控制的角度,迭代化开发...
  • 不要指望你的客户会给需求分析者提供一个简洁、完整、组织良好的需求清单。分析者必须把代表客户需求的许多信息分成不同的类型,这样他们就能合理地编写信息文档并把它们用于最合理的方式上。那些不属于这些类型的...
  • 需求管理与分析——需求池

    千次阅读 2016-09-20 15:43:39
    产品经理会聆听用户声音进行需求收集,但是真正的需求需要我们去优化。真正优化的应该是从需求的收集到最终形成功能融入到产品中的这个过程。下面做一个简单科学的流程。 一、需求收集 · 从用户、市场、竞品、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,318,600
精华内容 527,440
关键字:

需求管理