浅谈金融软件项目的需求管理

发表于:2010-12-31 10:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:董雪莲    来源:51Testing软件测试网采编

  引言

  金融全球化和网络化加剧了商业银行的国际竞争,中国按照WID的要求逐步对外开放了自己的金融市场。为了与国际金融市场接轨,我国的国有和商业银行正在逐步地改变以往传统的服务方式,转变经营机制,采用先进技术,金融创新产品不断应运而生,从而进一步提高国际市场竞争力。随着国内几大商业银行逐步实现数据大集中,软件规模也越来越大,核心银行业务系统更是要数百人做上一两年。

  金融软件素以高质量,高可靠,高安全等著称,如何提高软件开发的质量和效率已经成为金融软件开发的核心问题。围其实没有一个明确和固定的说法,只有靠核心企业和成员企业在项目的前期充分沟通,填密规划才能保证项目的相关信息充分而高效的流通。

  软件需求管理是关系到金融软件产品质量的关键,软件需求的质量直接关系到软件项目能否高质量地按期完成,也是评判客户满意度的重要指标。本文以银行软件开发项目为背景,对银行软件项目管理中的需求管理进行研究,希望能对提高金融软件项目的成功率有所帮助。

  1、需求管理的重要性

  在软件生命周期中,需求分析是最重要的一个阶段。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量需求对软件开发往往起到事半功倍的效果,越早在需求管理中解决错误,就越节约项目成本。

  系统分析时犯下的错误,会在接下来的阶段被成倍地放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越会影响系统的工期和系统的质量。需求分析的过程,是分析用户的需求的过程,是全面理解用户的各项要求,并且准确地表达所接受的用户需求的过程。如果投入了大量的人力、物力、财力和时间开发出来的软件并不是用户真正需要的东西,那么所有投人都是徒劳,开发出来的东西不能得到用户的认可,从而造成重新开发过,这样不仅影响项目进度,而且严重影响项目组人员的积极性。

  需求分析之所以重要,还因为它具有政策性,方向性,策略性的作用,对于整个项目的成功与否起到了举足轻重的作用,所以一定要对需求分析有足够的重视,在大型的金融软件项目中,它的作用要远远大于程序设计。

  2、需求工程的内容

  需求分析是指理解用户需求,就软件功能与用户达成一致的过程,是开发人员对系统需要做什么和如何做的定义过程。研究人员对需求分析的过程进行了长期深人的研究,并将需求分析逐渐发展成一个独立的分支—需求工程(Requi~ntsEngineering)。需求工程的主要内容有需求开发和需求管理两部分,其中需求开发又可以分为问题获取、需求分析、编写规格说明和需求验证等几个阶段。本文也是依据此结构展开论述,探讨金融软件项目的需求管理。

  3、需求开发的流程

  3.1 问题获取

  问题获取是需求分析人员与系统用户一起工作以明确用户需求的过程。一个软件开发部门的业务分析人员要和金融软件业务部门的领导、主管、业务人员进行访谈和讨论,从而在宏观上把握需求,同时逐步了解客户需要及业务流程,与业务人员通过不断的交流沟通对项目需求达成一致。

  在问题获取阶段,银行软件的项目组人员往往派出熟悉银行业务的分析人员,就软件系统的功能不断地开会,讨论,逐步确定项目的业务需求、用户需求。业务分析人员有良好的沟通技巧和软件业务系统背景,往往能够更顺利地挖掘到系统的明示需求和隐含需求。

  在很多情况下,对于一些较大的银行业务系统的项目需求,业务部门往往也很难给出一个完整的正确可行的需求,通常的解决办法是采用快速原型法。开发方根据以往的经验提供给用户一个需求原型,用以启发用户的需求,在国内外银行项目需求分析过程中,经常会提供给用户一个通用的基础功能描述,基础功能包含了银行常用的业务功能,用户可以在此基础上,对比自己的实际需求,提出不同的需要更改的和新增的需求。这种增量迭代的思路,减少了用户的工作量和重复工作,有助于用户清楚地描述用户需求。

  项目研发人员有时还能够将原型系统展示给业务人员,通过更直观的方式给银行业务部门的人员分析展示原型业务系统,从而更有效地帮助业务人员比对自己银行的业客户到底是需要什么样的软件了。

  3.2 需求分析

  需求分析是提炼用户的需要,并最终完成客户同意并签字的需求分析报告的过程。需求分析过程分为访谈阶段、诱导阶段和确认阶段三个过程。在需求访谈阶段,项目开发人员通过与金融业务部门领导、主管和相关业务人员关于项目需求方向、组织架构、业务流程和软硬件环境的讨论交流,可以从宏观上把握项目的需求,建立起沟通渠道,确定客户承诺的接口人,提交项目的调查报告以及业务流程报告等。在诱导阶段,以调查报告及业务流程为基础,结合现有的技术条件和软件基础将业务流程模型化,并与用户不断沟通,即时获取反馈信息,从而可以对客户的需求进行深度挖掘,将客户的不可见的需求转化为明确的需求。所要提交的文档有原型反馈报告和经过更新的业务流程报告。在确认阶段,是在原型反馈报告和业务流程报告的基础上,通过更进一步的细化业务流程,改进原型系统,撰写需求分析报告并送交评审。

  在这一需求分析的最后阶段,要促使开发方和用户之间就系统需求达成一致,完成客户同意并签字的需求分析报告及相关支持的资料。在需求分析的过程中,对需求划分优先级的分析也是至关重要的一个环节,在某个时刻,我们如何知道哪些需求属于“必须做”,哪些属于“应该做”,哪些又属于“可以做”。在银行软件的项目中,也要对客户需求划分优先级,对于已经识别的客户需求进行评估,分清哪些是项目关键路径上的需求,必须完成的,哪些是不重要也不紧急的需求,甚至留待二期中完成用户也可以接受的。

  要理解这一点:用户反馈非常关键。用户并不关心你采用什么方式去满足他们的需求,但当用户看到最关键的功能都实现得很好时,如果还有几个无关大局的需求暂时没有满足,也就不会引起太大的反应了。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号