浅谈需求管理在银行业IT项目中的重要性

一、行业背景分析

信息科技管理正以迅猛之势更新着银行业发展环境,信息技术不再仅作为一项独立技术而存在。银行业信息化手段与技术的采用越来越突出,软件需求量越来越大,各种开发技术也越来越先进,可利用的软件开发工具和方法也越来越多,但仍然有相当比例的IT项目失败。究其原因,常常是由于在项目开始阶段没有正确地理解、确定和定义需求,或者是由于在项目进展过程中没有正确地管理项目需求。

项目管理的三个基本要求是:时间、质量、成本(简称为TQC)。那么,在银行业软件开发项目中,要使TQC目标最大化,范围管理中的需求管理有着至关重要的作用,这与当今中国IT软件开发的特征有很大关系。当前中国IT开发的领域集中在应用开发领域,多以开发业务管理系统为主。而中国是新型经济体,在企业管理等领域处于逐步摸索、不断变更,以适应国际化竞争的转型初期。在此转型阶段,各银行的管理模式、业务管理方法等有很大不同,且自身也处于不断否定自己的管理、不断变更自己的管理方法和调整业务模式之中。作为IT项目开发承接方,必须适应中国各银行“需求各不相同”、“需求多变”的国情。

二、银行IT项目需求管理的必要性

银行IT项目的开发过程中主要包括三个管理对象,分别为IT需求管理、IT产品以及开发活动,其中,IT需求管理最为关键。通常情况下,客户在看到最终产品以前,都无法对产品情况进行准确判断,所以,往往会出现最终产品与期望值相差甚远的情况,导致此情况的原因有以下五个方面。

1、客户对IT需求的表述模糊,由于客户对业务的理解可能存在偏差,导致其对IT需求进行表述时不够清楚;

2、客户需求存在着多变性,随着IT软件开发过程的不断推进,其对原需求具有了新的认识,或出现了新的需求;

3、客户因缺乏计算机领域方面的知识,因而所提需求有时很难实现,因而需要常变更需求;

4、银行常常将IT开发重点集中在软件的设计与开发方面,并未对需求变更进行控制,因而会造成IT项目进度大幅度滞后,成本超出预算等情况;

5、当前需求管理工具的局限性也会影响IT需求的准确性以及需求变更过程的可控性。

为了解决上述问题,必须充分认识到银行IT项目中需求管理的重要性,在这种情况下,引入新型需求管理工具就显得非常有必要,通过需求管理工具的有效性以及IT项目开发过程中需求错误的大幅减少,实现IT开发成本大幅降低,并有效地缩短开发周期,推动IT项目的成功。

Visual RM+ 是一款具备流程管理+文档+内容条目化的需求内容级的需求管理平台,是维普时代基于在需求管理领域的多年实践,参照CMMIPMBOK5COBIT标准,参考同业银行的最佳实践,标准化定义IT管理过程和活动等业界先进的思想和方法,并以此为理论基础,打造一款企业级的需求管理软件产品,以需求内容(条目)的实现过程为主线,实现企业级开发过程的一体化管理,通过信息脉络和智能化推送,促进组间高效协同,加速需求实现过程,提升软件品质,提升IT对于业务的支撑能力。

需求管理软件概述.png

三、银行IT项目需求管理存在问题

现阶段银行IT项目需求管理中存在的主要问题体现在以下五个方面:

1IT项目中范围、进度、成本估算准确率低。IT项目开发的实际成本远远高出估算成本高出;同时实际进度比预期进度延后几个月甚至几年。这种现象降低了IT组织的信誉。

2、客户对最终交付产品满意度低。IT开发人员在对用户需求没有清晰了解的基础上,对所面对的问题领域还没有确切分析与设计的情况下,即着手进行开发、编写程序。造成实际产品与客户期望功能产生偏离,无法解决客户的真实需求而造成客户满意度降低。

3IT产品质量差强人意。IT质量保证技术没有贯彻地采用到IT开发的过程中,这必会导致IT产品发生质量问题。缺乏审核、复审和全面测试的软件难免质量低下,出错率高。

4、软件缺乏配套文档资料。软件产品应具备整套文档资料。然而在进度与成本的制约下,文档的编写与更新工作也使得软件组织疲惫不堪,每个人对文档内容的深度与阐述程度不尽相同。加之企业缺乏与之配合的文档制度、文档模板,更为文档编写带来困难之处。而缺乏相关文档对软件的二次开发与维护增加许多困难和问题。

5、软件不可维护、生命周期短。 软件程序中错误难以改正,出现新的需求或者需求变更时原有架构不易于维护,不能根据用户的新需求在原有架构中进行改变。造成软件的使用年限缩短。

四、造成问题的原因分析

造成银行业IT项目需求管理问题的原因,主要有以下四个方面:

1、在软件开发最终交付之前,银行自己也不清楚自身的真实需求。

2、银行需求人员技术有限,采集到存在遗漏、具有歧义性、误解的需求。

3、在软件开发过程中,需求在不断地变更。

4、需求管理人员没有更好的把握住需求的变化,造成后期维护成本不断增加。

五、银行IT项目需求管理解决实践

传统的结构式分析方法已无法适用如今银行业信息化的软件产品需求。银行IT开发工作也无法在一次迭代中完成,而是根据用户需求的优先级程序,客户共同协商,定制产品阶段性的交付周期。产品使用人数、实施规模都在随着信息化的发展而不断增加。这也使得软件使用场景不断增多,软件功能复杂度加深,对需求管理的迫切性也日益提高。

快速构建敏捷开发体系.png

为了解决银行业IT项目需求管理中存在的问题,业界不断探索新的IT开发方法,以下六点被认为是解决问题,为客户开发IT系统的最佳实践。

1、迭代式开发。银行在IT开发的早期阶段就想获取完整而精准的用户的真实需求是不可能的。这是因为随着项目的进展,客户对最终产品的需求在整个IT开发阶段会持续改变。现代IT开发所倡导的迭代式开发允许在每个迭代过程中需求可以发生变化,通过不断细化来加深对问题的理解。迭代式开发既可以降低后期交付的风险,也可以支持在每个迭代过程都产生可以交付的版本,提供给客户试用,既缓解了客户的等待性又可以产生积极的反馈信息激励开发人员。

快速迭代、持续交付.png

2、对需求进行管理。对客户业务建模的过程随着整个开发周期都是持续进行的,随着项目进入一个个迭代,新需求与变更需求都使得业务模型在不断的依据最新需求进行修改,指导着开发等后续工作。

构建敏捷团队,激发团队潜能、实现管理自治.png

3、采用组件式架构开发。组件是IT技术中重大的技术突破。组件使复用成为可能,系统的灵活性大大提高。基于高内聚、低耦合的模块化组件体系结构降低了管理复杂性,提高了代码重用率。

4、可视化管理。UML已逐渐成为软件工程师所广泛采纳的建模工具,软件从业者一致认为可视化的建模对需求管理有着重要的作用。客户和开发方都可以从中受益,尽早地获取有关软件结构和行为的信息,可以尽早地发现隐藏的风险。

管理驾驶舱,可视化开发进展.png

5、对软件质量进行验证。软件质量测评不再是交付后或单独进行的活动,而是伴随着软件全生命周期,从需求基线定义的那一刻起而持续进行的。

6、控制变更。对需求变更采用控制、跟踪、监控、修改的方式,在变更产生之初,判断其原因并确认涉及范围,进而采用合适的变更处理方法。积极地控制项目中所产生的变更,而不是被变更所控制。

6、变更影响范围关联分析.png