天津市住房公积金管理中心软件开发风险管理浅析
2016-03-24刘鑫
刘鑫
作为公积金服务部门,天津市住房公积金管理中心(以下简程“中心”)存在多种多样的软件系统, 什么因素会导致软件项目的失败?与项目有关的因素改变将对按时、按经费预算交付符合预定质量要求的软sdww5件成果产生什么样的影响都是中心强烈关注的问题,而这些都是软件开发的风险管理范围。
中心的软件项目通过外包公司进行开发维护,在软件项目实施过程中,主要关注的是外包管理及外包开发的风险,具体表现在管理标准不统一、进度控制、质量控制缺乏成效性等几个方面。中心的软件开发项目风险管理可分为风险识别、风险分析、风险应对等管理流程。
一、风险识别
通过对中心风险挖掘,我们了解到中心风险可分类为决策分析、合同制定、组织及管理、计划及控制、需求理解及变更、设计及实现、测试、过程、技术、人员、用户、产品、安全、依赖和外部共15类82项风险。
其中涉及到对外包公司能力评估不准确的决策分析风险, 合同内容业务需求发生变化的情况、服务质量保证条款未明确的合同制定风险,管理层审查决策的周期比预期的时间长的组织及管理风险,项目计划更新不完善及时、执行过程监控不足的计划及控制风险,添加额外的需求、需求识别得不够充分的需求理解及变更风险,代码和库质量低下、模块集成失败,导致重新设计的设计及实现风险,测试用例不充分、测试环境叠加的测试风险,前期质量保证不真实、撰写的文档不规范,缺乏参考价值的过程风险,项目小组结构及生产率低下、关键人员离职、中心人员不够的人员风险,对交付产品不满意要求重新设计、答复的时间比预期长的用户风险,与现有系统兼容或并行产生的产品风险,用户数据泄露及篡改、恶意代码及后门开发的安全风险,过度依赖外包商的软件服务的依赖风险,以及双方缺乏信任和延迟交货的外部风险等多个内容。
二、风险分析
根据风险识别的结果进行风险分析,通过对各风险的可能性、对进度的影响、对成本的影响、对性能的影响这四个部分的分值估计,确定风险的最终影响值,从而形成风险评估值汇总表,确定了高风险的识别项。这些风险项包括决策分析风险(对外包公司能力评估不准确0.6、合同内容未明确外包商审计考核管理条款0.65);计划及控制风险(计划处于理想状态且与实际开发周期不一致0.65、项目小组开发时间不固定导致影响开发进度0.78);需求理解变更风险(系统需求变动0.99);设计及实现风险(设计质量低下0.6、测试环境叠加0.6);过程风险(前期质量保证不真实0.75);人员风险(团队内部人员的频繁流动0.6、项目小组结构及生产率低下0.56、权限使用风险0.65);依赖风险(依赖外包商的软件服务,影响业务开展创新0.75)。
三、风险应对
根据中心软件项目风险的评估,我们按照不同的风险分类,确定中心风险的应对策略及缓解和监控的方法,本文仅对部分高风险识别项进行分析。
3.1计划处于理想状态,与实际开发周期不一致
第一,在需求分析后制定项目实施计划;第二,在设计开发过程中针对估计不充分的适时调整计划;第三,遇硬性指标项目,调整计划优先级并重新更新;最后,督促外包公司调整开发进度并符合计划要求。
3.2系统需求变动
第一,需求变更优先排序、分批实现;第二,需求制定阶段相互协作、充分交流,尽量减少需求变更;第三,专人管理需求变更,跟踪变更后发展.
3.3 设计质量低下
第一,思想转变,重视设计的重要性;第二,合理建模,选用适合的设计方法;第三,权责分工,充分参与,文档齐全,认真评审;第四,引入专业的第三方质量保障服务机构指导监督考核。
3.4前期质量保证不真实
第一,为项目制定SQA(Software Quality Assurance,软件质量保证)计划;第二,评审软件工程活动,核实其是否符合已定义的软件过程;第三,确保软件工作中的偏差已被记录在案,并根据预定规程进行处理;第四,记录所有不符合部分,并向上级管理部门报告。
3.5团队内部人员的频繁流动
第一,合同中明确开发人员数量,技术力量和承担任务要求;第二,遇人员频繁流动时,中心要求外包公司利用非工作时间培训并进行交接;第三,中心定期对开发人员进行调研考核,确保开发质量和进度。
3.6依赖外包商的软件服务,影响业务开展创新
第一,加强中心项目管理人员的技术培养。首先,进行项目管理,系统架构,设计,信息安全的针对性培训;其次,安排中心人员参与软件的设计及开发,了解系统的内部结构。第二,加强合作探讨。首先,中心项目管理人员应向开发人员学习开发与管理经验,并学习最新的开发方式与开发工具;其次,中心可成立专门的技术研究团队,加强与咨询公司的合作,从事新技术与中心业务有效结合的研究工作。
软件开发是高风险的活动,只有采取积极的风险管理方式,才能避免风险的发生,减低风险造成的损失。因此适时地进行风险跟踪,修正风险分析及应对方案,才能保证项目计划的如期完成。