如何做好项目需求分析

时间:2024.3.4

在软件组织中,需求分析师的作用举足轻重。统计表明,软件缺陷一半以上的原因来自于需求分析中的问题。仅凭这个数字,就足以告诉我们要提高软件的质量、增强产品的竞争力,培养高水平的分析师队伍,建立有效的需求团队,定义合理的需求过程,坚持正确的需求规范是多么重要。但是目前在软件需求分析领域,还存在着过程粗糙、方法随意、分析欠深入等问题,进而极大的影响产品质量,这正是在软件项目中,我们需要对需求分析下功夫的最大原因,我们有理由认为需求分析是奠定优秀软件的基础,本课程的主要思想如下:

1,需求工程在整个软件工程中的地位十分特殊,良好的需求将支撑整个工程项目有序而高效的进展,并对产品质量控制提供依据。目前在创新成为重要主题的环境下,软件开发已演变成通过反馈逐步求精的过程,在这个过程中需求变更不可避免,因此我们不再认为需求仅仅是一个前期的工作,而几乎在每一个具体过程域中都在发挥作用。这就必须通过需求管理确保需求变更不至于对开发造成混乱,由此对需求管理提出了苛刻的要求。

2,软件需求是一项在复杂环境中高风险、高影响力的活动,所以单靠经验肯定是不行的,我们需要把问题抽象出来进行理论分析,发现它们之间的逻辑,通过缜密的逻辑思维,从系统的观点把方方面面的问题都关注到。这就需要以工程学的方法来处理需求,这要求分析师对需求过程有透彻的理解。

3,需求分析的本质是在问题域中,为现实世界中的问题找到解决方案。事实上软件工程学就是发现问题并提出解决方案的一种工程方法。为了对“问题”这个主题有更加透彻的理解,我们需要更加理性的来探讨“问题”。需求分析师对于问题域的理解应该非常深入,需要有能力技巧性的处理问题域和问题框架,从而提出解决问题的产品构思。

4,需求分析师不能仅仅是记录员,他需要理解客户思维,帮助客户理清问题。这就需要分析师的工作有一整套方法论来支撑。包括业务建模、产品建模、在建模的过程中收集与理清想法,把握问题的关键,发现需求背后的需求,从而构思出真正符合用户需要的产品。在这样的过程中,要求分析师应该具有相当强的归纳能力。

5,软件产品的价值在于其不断的创新,企业唯有将创新纳入有效的管理规划之中,遵循明确的指导原则和方法论,进行持续不断的系统化创新,才能长久地保持竞争优势。分析师的作用不仅仅是了解用户的需要,更需要在早期以一种创新思维参与产品构思,帮助用户从自己的现状中释放出来,这就要求分析师具有很强的创新能力。

6,为了提高需求分析的质量,除了要系统研究需求分析中的方法论以外,更要研究需求过程中的质量控制问题。需求的质量控制不仅仅是评审,在整个需求分析过程中都需要有可控制的质量保证,我们必须对每一种需求开发方法的优点与局限性理解深刻,把合适的方法用在合适的地方,从而极大的提升需求分析的质量,以得到高质量的软件产品。

7,目前在需求分析中广泛使用着用例方法,但这也是误解最多的一种方法。我们必须对用例有深刻而正确的理解。如果编写恰当,不需要把用例转换为需求的其它形式,就可以准确地对系统行为进行详细地描述。编写有效用例,正确而专业的书写需求文档,完整定义功能性、非功能性需求及其测试条件,都是提升需求分析质量的重要控制点。

8,近年来,由于项目越来越大、越来越复杂,应对软件的易变性就不可能完全从需求分析方法本身解决问题,而需要有更加合理的项目过程。需求分析师需要对软件开发过程及其相应的需求分析方法有深刻的理解,从而主动使需求分析成为整个软件开发过程有效的一环,为高质量软件开发提供关键的支撑,这一切都对需求分析人员提出了十分苛刻的要求。 本课程的授课特点是在理论指导下进行案例教学,通过汇集许多专家多年来理论和实践的总结,使课程既有理论高度,又通过“沙盘推演”提升实践技巧,使理论与实践完美结合,达到从根本上提升企业需求分析能力的目的。在授课过程中还根据不同项目特点提出不同的建模与需求分析方法,毕竟一个高级分析人员最重要的特征,就是根据具体环境,寻找更加合适的方法,从而避免死板僵化毫无生气的分析模式,代之以生动活泼富有创造性的分析过程,

通过学习,希望国内IT企业项目开发达到一个新的水平。


第二篇:如何做好项目中的需求管理


项目管理人员继续教育论文

如何做好项目中的需求管理

20xx年12月24日

摘要:项目需求管理是软件设计和实现的基础,是构成任何项目范围的基础部分,也是项目能否建设成功的基础。本文主要通过对信息系统项目管理知识的系统学习并结合多年来自己参与部分软件项目实施的工作经验,介绍在项目建设过程中如何对需求进行有效的管理探索出的一些有效措施。

关键词:需求获取 需求分析 需求评审 需求变更

如今尽管有关开发的知识和经验不断丰富,可利用的工具也不断增多,但仍然有相当比例的软件项目失败,原因常常是因为在开始时没有正确地确定和定义需求,或者随着项目的展开没有正确地管理需求,对获取到的需求没有进行有效的分析,或者获取到的需求本身就是不准确的。

软件需求管理正是解决用户这种需求,软件需求管理是关乎软件项目开发成败的重要因素。现在的软件项目中返工开销几乎占了总开发的一半,而导致返工的主要原因是需求分析不明确。从而引发项目开发中的一系列更改。这些更改可能导致浪费大量的资源、软件项目无法按时完成等严重问题。

本人通过对软件项目管理知识的系统学习并结合近年来自己参与部分软件项目实施的经验,介绍在需求管理研究中探索出的一些有效措施。

一、明确项目干系人

项目干系人又称为项目相关利益者,是指积极参与项目、或其利益会受到项目执行或完成情况影响的个人或组织。项目干系人对项目的目的和结果施加影响。应当从项目的启动开始,项目管理团队就要识别项目用户方干系人包含哪些人和组织,通过沟通协调确定他们的需求和期望,尽最大可能地明确项目干系人中的决策者在项目中所起到的作用,以确保项目获得成功。

很多项目往往都是由客户单位的技术主管部门主导,项目经理在前期接触时,跟这些技术部门接触的比较多,而没有和业务部门或系统开发完成后的实际的使用者接触。该类人员对技术比较精通,但对应用部门的相关业务可能不是特别熟悉,从而导致项目组获取到的需求发生偏差,在软件开发完成后和用户的实际需求相差甚远,导致用户频繁提出需求更改,更有甚者推翻重建。

第1页 共6页

项目管理人员继续教育论文

因此项目经理在与客户初次接触时应首先明确干系人,识别项目干系人及其角色,确定项目组的组织架构,确定项目组各干系人的职责范围,确定对需求实现的最终决策者。

二、熟悉业务采用合理方法获取需求

在明确了项目干系人后,那么在这个项目中各个业务场景,业务流程,业务规则,组织结构和岗位角色就是我们在接下去所需要重要调研的内容。而往往一些项目经理在获取需求的过程中,仅仅是充当了一个“书记员”的角色,即客户说什么?他就记录什么?在获取的过程中缺少与客户的互动。我们的的目的是为了搞清楚用户的业务现状和问题,而不是简单的听到或问到用户要什么,因为有些客户自己缺乏计算机知识,无法提出完整准确、隐含的或潜在的需求。

我们一般可以通过双方对需求的了解情况上,分为四种情况:开发方和用户方都清楚项目需求;开发方不清楚项目需求但用户方清楚;开发方和用户方都不清楚项目需求;开发方清楚项目需求但用户方不清楚。针对这四种情况,我们可以采用问卷调查法、会议讨论法、界面原型法、原型系统法来获取客户的需求,这四种方法可以在需求获取过程中组合使用。我们结合以往的项目经验对用户采用诱导式、启发式的调研方法和手段,和用户一起探讨业务流程设计的合理性、准确性、便易性、习惯性。用户可以操作简单演示的DEMO,来感受一下整个业务流程的设计合理性、准确性等等问题,及时地提出改进意见和方法。

因此需求调研分析人员应善于想用户所想,不但要确定明确的需求,还要善于用启发的方式与用户探讨隐含的或潜在的需求,并结合各种调研分析技术挖掘超出客户期望的令人兴奋的需求。这就要求需求调研分析员要尽快完整地熟悉相关业务,从而能够站在用户的立场看待软件需求,想用户所想,这样才能设计出真正符合客户需求的系统。通过界面原型法或原型系统法,使客户人员能够比较直观的明白以后他们的业务流程在系统中是如何展现的,使客户人员对系统有一个观感上的认知,同时项目组成员也能够明确客户所期望的产品是怎么样的。

使用上述方法有以下优点:(1)增进软件开发者和用户对需求的理解,使比较含糊的具有不确定性的软件需求(主要功能性的需求)明确化;(2)可以容易地确定系统的性能,确认系统主要服务的可应用性,确认系统设计的可行性,确认系统最终作为产品。

第2页 共6页

项目管理人员继续教育论文

三、分析需求的可行性

在需求获取过程中,项目组收集的需求往往存在以下几问题:⑴需求范围超出合同范围;⑵对同一功能,各干系人提出的需求不一致;⑶存在明显不合理的需求;⑷对需求理解发生偏差。因此对获取到的需求进行有效、准确的分析是必不可少的步骤。

在项目建设过程中,不同的项目用户方干系人其愿望和追求的目标可能会存在不一致,有些干系人的期望值较高,远超合同建设范围;而有些干系人提交的需求,相互之间不一致,造成需求冲突。因此需求分析人员应对获取到的需求进行整理并进行有效分析。对于超出合同范围的需求,可由商务一起协调进行增补或在二期中进行建设;对于需求不一致的,可召开项目协调会,由甲方最终决策者拍板确定或寻求平衡点折衷处理;对于需求理解偏差和客户描述不清的需求,可通过原型界面法,反复确认。因为对于需求分析是需求管理中很重要的一个工作部分。

对获取到的需求,进行优先级评估。需求分析人员应分清客户提出的需求,哪些特性是必要的,哪些是重要的,是需求开发的主要部分,设定这些需求的优先级,并与客户进行讨论明确。因为开发者应该按照客户的观点决定项目需求的优先级;开发人员将为您确定优先级提供有关每个需求的花费和风险的信息。在时间和资源限制下,关于所需特性能否完成或完成多少应尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对现实,业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。

在需求分析过程中,应尽量使用已有的软件组件来实现,以节省资源。需求通常有一定灵活性,分析人员可能发现已有的某个软件组件与客户描述的需求很相符,在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够降低新系统的开发成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合您所需的特性,这时一定程度上的需求灵活性就显得极为重要了。

很多时候,用户的想法在实际实施过程中是不现实的。若一味地求全和盲目遵从用户的设想,将为项目的后续工作带来很大的风险。因此应尽量避免在需求

第3页 共6页

项目管理人员继续教育论文

分析中包含技术实施上有难度的功能。

四、编写需求规格书和进行需求评审

在准确领会客户的意图后,软件需求规格说明书就是需求分析阶段需要产生的最主要的文档。准确而详细地编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且耗时,因此很容易留下模糊不清的需求。但是在开发过程中,必须解决这种模糊性和不准确性,在编写文档时,开发人员严禁采用“猜测”的方式编写。在需求文档中暂时加上“待定”标志是个好方法。用该标志可指明哪些是需要再进一步讨论、分析或增加信息的地方,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而标注上 “待定” 。客户要尽量将每项需求的内容都阐述清楚,以便分析人员能准确地将它们写进“软件需求报告”中去。如果客户一时不能准确表达,通常就要求用原型技术,通过原型开发,客户可以同开发人员一起反复修改,不断完善需求定义。

需求规格说明书的每个功能点的描述要通俗易懂,能够使客户明白和理解,客户在理解之上的确认才能够保证日后一旦出现问题不致出现双方互相推托责任纠缠不清的情况。所以分析说明书对功能细节的描述不能有歧义或二义性,描述一定要全面、准确,防止开发方和客户只见对同一个问题有两个截然不同的理解。

需求规格说明书一定要经过一个有技术人员和业务人员参加的评审,要充分发挥团队的力量,重视每个人的才智,一个模块一个功能的逐一的审核,让大家来共同找出需求报告里不合理的、有歧义的、不完善的、遗漏的等等问题。

需求文档完成之后,并不是把它扔给后面的设计人员就了事了。作为项目组其他成员,对需求的有效性也起到某种程度的验证作用。虽然软件项目的生命周期按照各种开发模型有不同阶段的划分,但每个阶段的结束不是简单地把阶段工作成果塞给下一阶段的成员就可以了。特别是高科技的软件开发项目,上一阶段的工作成果往往要通过多次的沟通才能更为清晰地被下一阶段成员接受,其有效性、合理性也要被下一阶段的工作所检验,通过检验有时也有必要对上一阶段的工作结果进行相应的调整,需求分析也是如此。因此,无论是同一阶段不同人员之间,或是不同阶段人员之间都应根据需要相互协作,相互配合,共同完成软件开发任务。

第4页 共6页

项目管理人员继续教育论文

五、做好项目需求变更管理

在软件项目建设过程中,需求变更是不可避免的,但在开发生命周期中,变更越在晚期出现,其影响越大;变更不仅会导致代价极高的返工,而且工期将被延误,特别是在大体结构已完成后又需要增加新特性时。所以,一旦客户发现需要变更需求时,请立即通知分析人员。分析人员及时评估,为将变更带来的负面影响减少到最低限度,所有参与者必须遵照项目变更控制过程。在不放弃所提出的需求变更情况下,对每项要求的变更进行分析、综合考虑,最后做出合适的决策。

造成需求变化的原因有很多。比如:随着项目的进展,开发方和客户方对需求的了解越来越深入,原先的需求文档可能存在这样或那样的错误和不足,因此要变更需求;以或者由于市场、业务发生了变化,原先的需求文档可能跟不上当前市场的要求,因此要变更需求等等。需求的变更问题是每个开发人员、项目经理都会遇到的问题,需求的变更不一定是坏事,常常提出需求变更的动机是好的,目的是希望产品更加符合用户的需求。但是一旦需求发生了变化,随之而来的将是不得不修改设计、重写代码、修改测试用例、调整项目计划等问题,对项目开发小组而言,变更需求意味着要调整资源、重新分配任务、修改前期工作成果等,这将为项目的正常进展带来诸多的麻烦,开发小组也要为此付出较重的代价。

当然在软件项目建设过程中,并不是所有的需求变更都能够被采纳的话,要学会适当的拒绝,通过变通的方法实现。否则有可能,这个项目也许永远不能按时完成,进度无限期滞后。因此在需求变更过程中最难办的事情就是拒绝客户提出的需求变更请求,通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。因此作为一名项目经理,你应当规范需求管理,对客户的需求变更进行评估分析,对变更带来的影响、成本和得失告知客户。当然开发人员不能由于不想实施变更而随意夸大评估成本。

结论:项目需求管是是一个项目建设生命周期中的一个重要开端,也是项目建设成功的基石。在以往建设失败的项目中,80%是由于需求的不明确或需求变更没有控制好而造成的。因此一个项目成功的关键因素之一,就是对需求管理的把握程度。

参考文献:

第5页 共6页

项目管理人员继续教育论文

【1】 软件需求管理用例方法第二版——莱芬韦尔——【M】中国电力出版

社 2004

【2】 软件需求管理——K.E.维格斯——【M】机械工业出版社2009

作者简介:

第6页 共6页

更多相关推荐:
项目需求分析报告

项目需求分析报告文档名称项目名称软件标识项目负责人项目团队成员填写时间文档编号版本号项目需求分析报告药品进销存管理系统20xx年5月20日目录1引言311编写目的312项目背景313定义314参考资料32项目概...

项目需求分析报告(范本)

xxxxx项目需求分析报告编号序号文档作者项目经理日期日期日期日期部门主管管理员XXXXXXXXXXXXXXX版权所有不得复制修订记录页第1目录1引言4111213142编写目的4项目背景4定义4参考资料4概述...

软件项目需求分析通用模板

1引言11目的说明编写这份报告的目的指出预期的读者12背景指出待开发的软件系统的名称行业情况本项目的任务提出者开发者用户该软件系统同其他系统或其他机构的基本的相互来往关系13参考资料列出编写本报告时参考的文件如...

软件需求分析报告

北京联合大学信息学院软件工程实验报告实验名称网上教务管理系统姓名学号专业计算机科学与技术编制时间指导教师北京联合大学信息学院编制软件需求分析报告文档模板1引言311编写目的312项目风险313预期读者和阅读建议...

项目需求调研报告通用模版

XXXXX项目需求调严报告深圳市博安达软件开发有限公司二一三年XX月XXX项目需求调研报告深圳市博安达软件开发有限公司文档控制文档更新记录文档审核记录文档去向记录1XXX项目需求调研报告深圳市博安达软件开发有限...

需求分析报告模板

需求分析报告系统需求分析报告目录一项目概述篇11引言12项目背景包括行业背景企业基本情况项目可行性等23项目意义34项目总体需求45项目总论451预期目标452项目预期安排453项目范围56方案概要661业务需...

项目需求分析模板

XXX项目需求分析XXX部门XXX项目XXX项目目录1文档说明1111编制目的1112适用范围1113前提与约束112系统概述2221用户特点2222运行环境22221硬件平台22222支持软件22223通信环...

需求分析报告

三需求规格说明书需求分析需求分析11引言211编写目的212项目背景213定义214参考资料22任务概述321目标322运行环境323条件与限制43数据描述431静态数据432动态数据533数据库介绍534数据...

怎么做项目需求分析报告

项目需求分析看了听棠的客户需求何时休深有感触何曾自己不是被这个问题整天困扰客户需求为什么总在变阿做项目真辛苦阿这样的感叹整天都挂在口上客户需求变动确实是一个软件开发永远不变的话题为什么小的软件企业面对经常变动的...

广东省首届“行业-专业-就业人才需求分析”大赛项目分析报告书模板

广东省首届行业专业就业人才需求分析大赛项目分析报告编制参考项目名称项目所属学校学校联系人地址电话传真盖章广东省就业指导中心编制行业专业就业人才需求分析大赛行业专业就业人才需求分析大赛团队信息表1行业专业就业人才...

项目需求分析报告编制要求(试用)

国家电子政务工程建设项目需求分析报告编制要求试用一说明一本文件是编制国家电子政务工程建设项目需求分析报告以下可简称需求分析报告的指导性文件二国家电子政务工程建设项目需求分析的任务旨在通过对与政务职能相关社会问题...

需求分析报告

文档编号NO001版本号10文档名称需求规格说明书项目名称C语言贪吃蛇项目负责人王阿海编写王阿海校对车进辉审核车进辉批准车进辉开发单位北华大学计算机学院软件工程121111引言编写目的通过与多位软件使用者进行全...

项目需求分析报告(35篇)