APP下载

浅析免疫规划信息管理系统的需求管理

2018-07-10

福建质量管理 2018年13期
关键词:文档人员用户

 

(中国人民大学信息学院 北京 100872)

一、项目需求管理主要活动

需求管理是需求工程生命周期中重要的一环,它负责“建立并维护在软件工程中同客户达成的合同”,力图实现最终铲平同需求性的最佳结合。这种合同都包含在编写的需求说明书与模型中。通常需求管理活动包括:

1.定义需求基线(baseline,需求文档的主体)。

2.评审提出的需求变更,评估每项变更的可能影响从而决定是否实施它。

3.以一种可控制的方式将需求融入到项目中。使当前的项目计划与需求一致。

4.估计变更需求所产生的影响并在此基础上协商新的承诺。

5.让每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪。

6.在整个项目过程中跟踪需求的状态及变更情况。

(一)项目需求提出

针对客户的需求提出,开发方进入需求了解环节。需求了解采用访谈、文档、多方会议等形式采集基础信息,在此基础上结合系统原型进行差异化分析。

(二)项目需求分析及评审

在团队开发中,充分的沟通是非常有必要的,沟通的方式之一就是通过文档。不论评审的效果如何,发现多少问题都可以让相关人员了解需求与设计。而通过相互之间的讨论,澄清一些模糊的认识,进一步理解文档的含义。评审不但是软件开发活动中一个重要的质量控制机制,而且也是一个重要而有效的沟通方式。通过评审可以利用为软件开发寻找最佳的解决方案。

评审的作用和目的主要是尽早发现潜在的问题,尽早纠正缺陷,控制纠正成本的滚雪球效应。本阶段造成的错误如果能够及时地发现,或者在后面越早的阶段发现,就能够及早发现潜在的风险,及时做好防范的对策,做到未雨绸缪。

(三)需求变更控制

需求变更控制是指依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,确保需求的变更不会失去控制而导致项目发生混乱。

用户对于系统、需求的理解是渐进的过程,因此某种意义上说需求变更存在必然性。如何有效率和有效果地管理这些新增需求或变更需求是很重要的。如果需求变更控制不当,不但造成新的需求变更得不到满足,而且对于需求进度的管理、对于系统稳定性的影响都将是负面的。变更控制,需要追溯变更的缘由,记录变更的原因、内容,并做好变更比例的度量。保证需求的可追溯性,对于需求变更管理至关重要;在进行需求变更对项目计划、活动及工作产品的影响评估时尤其需要需求追溯表这些管理工具。

1.需求变更申请

需求变更申请人撰写“需求变更申请书”,递交给项目经理或客户方负责人。“需求变更申请书”必须阐述:(1)变更原因;(2)变更的内容;(3)此变更对项目造成的影响。

2.审批需求变更申请

开发方负责人(项目经理)和客户共同审批“需求变更申请书”。

如果任何一方不同意变更,则退回变更请求,项目按照“原需求文档”执行。

3.更改需求文档

需求分析员根据第一步和第二步更改“原需求文档”,产生新的需求文档。

4.重新进行需求确认

重新进行需求评审,重新获取书面的需求承诺。

(四)项目需求跟踪

需求跟踪是指通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。

二、免疫规划项目需求管理措施

需求管理是需求分析过程中的一个步骤,是一个持续的不断完善的过程,软件项目开发过程中需求管理的问题有很多,随时都有用户需求变更,需求分析的错误也时常发生,需求质量难以保,针对这些问题,如何采取有效的措施尽可能减少这些问题可能给项目造成的影响也显得尤其重要,因为一旦需求的管理出现问题,将会影响到不只是那部分需求所相关的功能,若是在项目的后期才发现这样或那样的需求偏差或者是需求理解错误,将会给项目造成不可估量的损失,甚至是直接导致项目的失败。而运用良好的机制和组织来管理需求不仅可以使得需求更加的规范,也会使得整个项目管理起来更加方便,实施起来不会与原始的需求有太大的偏差,或者换句话说,就是最后能够完成一个用户想要的产品。

(一)制定需求管理计划

需求管理计划往往被软件项目管理人员所忽视,很多项目经理在开发项目时,一上来就是让需求分析师跟客户谈需求去,这样做会导致需求工作的盲目性甚至可能让需求分析师无所适从。

在本项目启动时,我通过如下步骤制定需求管理计划:

1.确定需求沟通机制;

2.确定需求变更管理办法;

3.确定需求跟踪方法;

4.确定需求管理涉及的干系人,并明确职责;

5.明确需求管理工具;

6.编写需求管理计划。

(二)需求调研与定义

1.业务场景分析

业务场景场景描述使用人群一、预防接种信息系统1.网络预约接种通过微信或APP通过网上进行预约(时间、地点)儿童家长成人2.儿童接种  1.首次接种需要建档2.再次来的儿童直接接种接种单位工作人员3.查询统计等监管功能  给各级疾控中心提供查询统计等监管功能市、区疾控中心二、疫苗信息系统1.疫苗出入库查询和进销存系统对接各级可以查询区级疾控中心市级疾控中心2.查询统计给各级疾控中心提供查询统计等监管功能市、区疾控中心

2.系统边界分析

序号系统边界关系描述1与国家平台的关系√ 预防接种(个案主索引、常规报表、个案报表等)通过国家提供的省级免疫平台接口传输到国家平台。疫苗注射器、冷链设备和温度检测、AEFI监测等业务操作都是在北京市免疫系统内进行,产生的数据通过国家提供的省级免疫平台接口传输到国家平台。2与市区域卫生平台的关系√ 与市区域卫生平台数据交换,获取产科医院儿童建档的基本信息和卡介苗、乙肝疫苗接种信息,并向市区域卫生平台共享人群免疫接种信息。3与市政务信息资源共享交换平台的关系√ 对于需要使用疫苗接种信息,而未与市区域卫生平台建立数据交换关系的各政务系统(如市教委的学生管理系统),市免疫规划信息系统将利用市政务信息资源共享平台共享数据。

(三)变更控制的应对措施

需求变更控制一般要经过变更申请、变更评估、决策、回复这四大步骤。针对变更控制流程,在项目实际工作中总结出了软件研发人员在需求变更管理实践中的几点对策:

相互协作。在讨论需求时,研发人员和用户应该尽量采取相互理解、相互协作的态度,对能解决的问题尽量解决。

充分交流。需求变更管理的过程非常大程度上就是用户和研发人员的交流过程。软件研发人员必须学会认真听取用户的需求、考虑和设想,并加以分析和整理。

安排专职人员负责需求变更管理。有时研发任务较重,研发人员容易陷入研发工作中而忽略了和用户的随时沟通,因此需要一名专职的需求变更管理人员负责和用户及时交流。

合同约束。需求变更给软件研发带来的影响有目共睹,所以在和用户签订合同时,能增加一些相关条款,如限定用户提出需求变更的时间,规定何种情况的变更能接受、拒绝接受或部分接受,还能规定发生需求变更时必须执行变更控制流程。

差别对待随着研发进展,有些用户会不断提出一些在项目组看来确实无法实现或工作量比较大、对项目进度有重大影响的需求。遇见这种情况,研发人员能向用户说明,项目的启动是以最初的基本需求作为研发前提的,如果大量增加新的需求(虽然用户认为是细化需求,但实际上是增加了工作量的新需求),会使项目不能按时完成。如果用户坚持实施新需求,能建议用户将新需求按重要和紧迫程度划分档次,作为需求变更评估的一项依据。同时,还要注意控制新需求提出的频率。

选用适当的研发模型。采用建立原型的研发模型比较适合需求不明确的研发项目。研发人员先根据用户对需求的说明建立一个系统原型,再和用户沟通。一般用户看到一些实际的东西后,对需求会有更为周详的解释,研发人员可根据用户的说明进一步完善系统原型。这个过程重复几次后,系统原型逐渐向最终的用户需求靠拢,从根本上减少需求变更的出现。

用户参和需求评审。作为需求的提出者,用户理所当然是最具权威的发言人之一。实际上,在需求评审过程中,用户往往能提出许多有价值的意见。同时,这也是由用户对需求进行最后确认的机会,能有效减少需求变更的发生。

(四)需求跟踪方法

1.建立与维护需求跟踪矩阵

正向跟踪。检查需求文档中的每个需求是否都能在后续工作成果中找到对应点。

逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在需求文档中找到出处。

正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后续工作成果的对应关系。矩阵单元之间可能存在“一对一”、“一对多”或“多对多”的关系。由于对应关系比较复杂,最好在表格中加必要的文字解释。

当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。

2.查找不一致

使用需求跟踪矩阵的优点是很容易发现需求文档与后续工作成果之间的不一致之处,例如:

后续工作成果没有实现需求文档中的某些需求。

后续工作成果实现了需求文档中不存在的需求。

后续工作成果没有正确实现需求文档中的需求。

项目经理将发现的“不一致性”记录在《需求跟踪报告》之中,并通报给相关责任人。

3.消除不一致

相关责任人给出消除“不一致性”的措施和计划,项目经理将该措施和计划记录到《需求跟踪报告》之中。

相关责任人消除“不一致性”之后,项目经理更新“需求跟踪矩阵”。

三、项目需求管理流程与实践

(一)需求管理流程

1.需求开发阶段:需求责任人组织进行需求调研,汇总、分析和整理需求。

2.需求评审:对项目需求进行评审,如评审通过,则转入下一步。

3.根据技术需求说明书制定开发计划,相关人员对开发计划进行承诺。

4.项目开发过程:包括开发和测试,在开发阶段建立需求跟踪进度表。

5.需求变更控制过程。

6.开发完毕后,提交项目产品进行验收,验收通过后产品发布。

(二)需求管理实践

1.抓住决策者最迫切和最关心的问题,引起重视。用户方决策者对项目的关心重视程度是项目能否顺利开展的关键,决策者的真实意图也是用户方的最终需求,因此,在开发过程中要利用一切机会了解决策者关心的问题,同时也要让他们了解项目的情况。当决策者认识到项目的重要性时,需求分析工作在人力、物力、时间上就有了保障。

2.建立良好的沟通环境和氛围。在沟通时分析人员应注意以下几个方面:1)态度上要尊重对方,但不谦恭。谦恭可能会让用户一时感到满意,但对长期合作并没有好处,尤其是在发生冲突的时候,用户会习惯性地感到自己的优势,而忽略分析人员地意见。2)分析人员要努力适应不同用户的语言表达方式。每个人都有自己的表达方式,所以优秀的分析人员应该是一个优秀的“倾听者”,他们能很快的适应用户的语言风格,理解他们的意思。

3.建立组织保障,明确的责任分工。项目开发一般都会成立相应的项目组,常见的组织形式是:产品管理组、质量与测试组、程序开发组、用户代表组,各组的主要分工是:产品管理组负责确定和设置项目目标,根据需求的优先级确定功能规范,向相关人员通报项目进展。程序管理组负责系统分析,根据软件开发标准协调日常开发工作确保及时交付开发任务,控制项目进度。程序开发组负责按照功能规范要求交付软件系统。质量与测试组负责保证系统符合功能规范的要求,测试工作与开发工作是独立并行的。用户代表组负责代表用户方提出需求,负责软件的用户方测试。

四、结语

本文论述围绕于需求管理,需求管理是开发工作有效进行的确证。很明显需求管理是一种很高层次的系统行为,涉及整个开发过程和产品本身。需求管理首先要针对需求做出分析,随后应用于产品并提出方案。需求分析的模型正是产品的原型样本,优秀的需求管理提高了这样的可能性:它使最终产品更接近于解决需求,提高了用户对产品的满意度,从而使产品成为真正优质合格的产品。从这层意义上说,需求管理是产品质量的基础。

猜你喜欢

文档人员用户
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
让刑满释放人员找到家的感觉
不得与工会组织任职期内人员解除劳动合同
关注用户
基于RI码计算的Word复制文档鉴别
关注用户
关注用户
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
如何获取一亿海外用户