论软件过程的改进_软件过程改进

2020-02-28 其他范文 下载本文

论软件过程的改进由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“软件过程改进”。

论软件过程的改进

摘要 本人长期从事某银行中间业务软件开发。在先前的中间业务产品开发过程中,存在对项目计划的制订不够重视、没有制订一套符合中间业务开发实际并行之有效的开发规范、依赖个人智慧、软件开发过程没有得到有效跟踪掌控等问题。针对这些问题,在2007年3月,我和相关领导商讨之后,一致决定,对中间业务产品进行整合,开发一套通用性、扩展性较强的中间业务开发平台。逐步建立团队的软件过程规范。采取多管齐下的方法根除这些弊病,包括:引入CMM的管理理念、努力做好需求管理、加强过程的跟踪监控,完善各开发阶段的文档,由此增强过程的可视性、加强软件版本控制和测试等措施。通过持续的软件过程改进,我们历时5个月开发了质量稳定的中间业务开发运行平台。并从全面持续改进的方面提出了今后努力的方向。

银行中间业务是银行凭自身网点、机具、信息的优势,以中间人的身份接受客户委托,向客户提供各种金融产品和服务,并收取手续费的业务。它是银行业重要的利润增长点,也是银行争夺市场、增加存款的手段。银行同业无不重视中间业务的发展,纷纷抢占各种公众事业费的代收代付业务市场。我担任某银行信息部中间业务开发技术负责人,参与了代收电话费、水电费、车辆路桥费、工资代发、代收保险费等十多种代收付业务软件的开发。

最初,由于对软件过程的规范化、标准化的重要性认识不足,再加上为占领市场先机而时间紧迫,便一味只强调开发进度,先让业务运转起来成为压倒一切的“硬道理”。结果上线后系统问题很多,软件质量不能得到保证。常出现系统运行不稳定的情况,导致银企对帐单边帐较多,发票打印不出。联机收费时,因资源分配故障导致系统运行不稳定。批量代收时,常出现重复收费等。凡此种种,加大了运行维护的难度。在2007年3月,为了从根本上改变这种混乱被动的局面,我召集了中间业务开发团队全体成员,充分讨论后,我进行了规纳总结,找出了以下几点根源:

对项目计划的制订不够严谨,对软件项目的投入估计不足,常脱离实际,决策失误多;没有制订一套符合中间业务开发实际行之有效的开发规范;依赖个人智慧,没有对项目经理及骨干人员的经验进行很好的规纳总结,形成开发团队的共同财富;项目进展“可视化”低,没采取良好的技术和手段进行监控。

针对以上在中间业务软件开发过程中存在的问题,我和相关领导商讨之后,一致决定,采取多管齐下的方法根除这些弊病。逐步建立团队的软件过程规范。在此基础上对中间业务产品进行整合,开发一套通用性、扩展性较强的中间业务开发运行平台。该平台系统包括核心运行子系统、通信接入子系统、图形界面交易开发工具几大部分。

具体而言,我们采取了以下措施:

一、在中间业务开发团队中引入CMM的管理理念,逐步把个人的脑力劳动规范为软件 组织有纪律的智力产品,形成开发团队的共同财富。

我们联系了一家知名的培训机构,对部门人员培训了CMM的基础理论,并结合实力较强的软件开发公司实施CMM的经典案例讲解,促进开发团队成员对CMM有足够深入的认识,认识到软件过程改进并实行规范管理的重要性,并积极参与到这项持续不断的活动中去。

然后,我们参照CMM的相关标准和要求,并结合中间业务软件开发的实际特点重新分析清理了已有的规章制度。特别对软件过程相关的规章制度作了详细补充和完善。具体分三步实施:

首先定义出软件开发中的主要过程,参考CMM并针对中间业务开发的实际需要,每个过程的具体工作内容。特别对项目估算做了详尽说明,引入多种估算方法确保估算的有效性。其次,确定了软件开发的具体方法,确立了面向对象的开发方法,建立一套增强软件复用的机制:将各中间业务项目中共性较多的功能模快独立出来,做为低层共享软件资源进行单独开发。并对每个开发过程定义了相应的具体文档,如:《项目系统开发计划》、《软件需求规格说明》。对每种文档定义了统一的格式和必须提交的内容。

最后,对每个过程划分相应的人员职责,既密切协作又分工明确。着重突出设计、开发、测试三阶段软件过程规范的重要性,安排技术骨干组成三个组,分别负责。

二、努力做好需求管理

银行软件产品开发过程中,需求管理常常较困难,具体实施过程较混乱。

业务部门借口抢占市场先机,不向开发部门提出较详细全面的需求,常只作概要介绍,对需求的把握还要开发部门进一步明确;而业务部门常报怨技术部门对需求理解有偏差,开发的产品与初衷相去甚远。业务部门的需求改变比较随意,常常使得技术部门开发人员毫无乐趣和成就感,疲于应付。为彻底改变这种状况,我采取了:

1、技术人员要做充分的需求捕获和分析,尽早参与银企协作双方需求人员的交流沟通。在组织上建立技术和业务人员共同参与的需求组。

2、需求提出后,应由上级领导及专家评审,及业务部门进一步确认。并对需要投入的资源、花费的代价进行充分评估。对资源不能满足的,花费代价高于收益的需求,应拒绝开发。

3、建立需求变更流程和跟踪监督机制,使需求变更的提出、评价、实施规范化、程序化。从制度上杜绝需求变更的随意性,有效减轻开发人员的工作量,节省人力、物力。

三、加强过程的跟踪监控,完善各开发阶段的文档,由此增强过程的可视性

软件开发过程中,我们按照软件开发过程规范严格实施。在实施过程规范初期,开发人员觉得花很大一部分时间写文档资料,增大了工作压力,且效率也降低了,产生抵触不满情绪。但实施规范时间长后,大家养成了这种工作习惯。文档写作能力得到了锻炼,且又及时总结整理了自己的工作成果,工作进度也变得清晰起来。同时规范的文档减少了对个人的依赖,使每个人的工作经验能较好地转化成团队的共同财富。软件研发各个阶段的过渡环节也因规范文档而衔接紧密。我们根据得到的所有文档内容对每个过程逐项检查核实。

在进度控制方面,要求开发人员填写工作周报,并据此绘制项目进度图,随时了解项目进度。常常根据各项任务进度情况合理调配人手,使项目按计划提早完成。

在质量保证方面,银行软件产品质量对业务的开展尤为重要,它涉及银行资金安全和自身信誉,因此必须确保质量。我们由测试人员兼任SQA小组的职责,并不定期邀请软件质量专家上门指导。定期检查监督,并公布监督结果。

四、加强软件版本控制。

在原来的软件过程中,我们对软件的版本控制不严密,常常出现许多混乱。我们采取了这些措施:对每一个项目都设立了专门的版本控制人员。引入VSS版本控制工具软件,建立版本控制服务器,将各种文档和代码由版本服务器进行版本控制。修改前,必须从版本服务器checkout(签出),改完后再checkin(签入)。这样,就完全避免了版本的覆盖,明晰了版本的历史,并通过日志,留下事后查找修改的痕迹,便于事后审计。

五、加强测试工作。常备专职的测试人员,成立测试部门。让测试人员在项目规划和需求分析阶段就加入项目,消除了测试与开发间的沟通“鸿沟”,让测试人员及早进入测试工作。

有了软件过程不断改进的基础,我们在5个月时间内,高质量地完成了中间业务平台的开发,并将先前的业务移植到该平台。在中间业务平台软件的开发中,我们由最初的软件过程的混乱状态,通过持续的软件过程改进,逐步提升软件过程的规范化和制度化,由不成熟到相对成熟,走过了一条不断摸索、不断学习、不断提升的道路。磨刀不误砍柴工。现在,基本上能按我们制定的标准过程规范,稳步开展一个项目的开发。时间进度、投入人力及其他资源等都能提前相对准确地估算。开发出的软件质量也能得到相当保证。在满足业务部门进度要求和功能要求的同时,开发人员劳动强度大为降低。

但不足之处仍然较多,归纳为以下两点:

1、在软件过程的改进上,我们只在一定程度上达到了定性管理的水平。而过程改进的趋势是定量管理,借助项目管理工具,如:Rational Rose的需求分析、系统设计辅助管理,MS project对项目进度控制的辅助管理等,最终达到定量管理软件过程的目的。

2、成功只限于中间业务软件开发这个局部范围,还有待于把这些经验扩展到更广的银行软件开发领域。如银行数据仓库,数据挖掘方面的应用还只处于起步阶段,需要结合其特点制定相应的软件过程规范,或对已有的过程规范作相应调整。

《论软件过程的改进.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
论软件过程的改进
点击下载文档
相关专题 软件过程改进 过程 软件 软件过程改进 过程 软件
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文