认证主体:宁夏凯米世纪网络科技有限公司
IP属地:宁夏
统一社会信用代码/组织机构代码
91640100MA774ECW4K
1、图书管理系统软件开发项目的风险分析一、软件开发项目的风险背景信息产业的发展是目前发展最快的行业之一,也是对社会影响最大的一个行业,它不但为我们创造了巨大的财富,而且从各个方面改变着我们的生活,达到一个行业,小到一项服务。我们不得不承认软件是二十一世纪最不可思议的产品。伴随着软件开发技术的不断更新、软件数量的增多、软件复杂程度不断加大、客户对产品的要求也在不断的提高,随之而来的是软件开发项目给软件开发企业和需求企业带来的巨大风险。软件开发项目的成功与否会直接影响到公司的生存。这对软件开发企业来讲应该是更大的难题。一方面是业务需求更加复杂。人们对软件质量和用途的期望大幅度提高,对业务系统的要求也越
6、足,(4)新的技术和开发方法应用等。5、管理风险尽管管理问题制约了很多项目的成功,但是不要因为风险管理计划中没有包括所有管理活动而感到惊奇。在大部分项目里,项目经理经常是写项目风险管理计划的人,他们有先天性的不足自己检查自己的错误,这是最难的。然而,像这些问题可能会使项目的成功变得更加困难。如果不正视这些棘手的问题,它们就很有可能在项目进行的某个阶段影响项目本身。当我们定义了项目追踪过程并且明晰项目角色和责任,就能处理这些风险因素:(1)计划和任务定义不够充分,(2)实际项目状态,(3)项目所有者和决策者分不清,(4)不切实际的承诺,(5)员工之间的沟通等。项目管理培训6、安全风险项目管理
7、者联盟软件产品本身是属于创造性的产品,产品本身的核心技术保密非常重要。但一直以来,我们在软件这方面的安全意识比较淡薄,对软件产品的开发主要注重技术本身,而忽略了专利的保护。软件行业的技术人员流动是很普遍的现象,随着技术人员的流失、变更,很能会导致产品和新技术的泄密,致使我们的软件产品被它公司窃取,导致项目失败。而且在软件方面关于知识产权的认定目前还没有明确的一个行业规范,这也是我们软件项目潜在的风险。三、风险的分析、管理与控制1、风险分析11“流程”因素分析软件的开发流程般定义为:需求分析一可行性分析一概要设计一结构化设计一详细设计一编码一软件测试一软件维护。“流程”中软件项目的风险,主要
8、体现存4个阶段:软件需求阶段、软件设计阶段、软件实现阶段和软件维护阶段软件需求阶段软件的开发是以用户的需求开始,在大多数情况下,用户需求要靠软件开发方诱导,才能保证需求的完整,再以的形式形成用户需求这一重要的文档。需求分析更多的是开发方确认需求的可行性和一致性的过程,在此阶段需要和用户进行广泛的交流和确认。需求和需求分析的任何疏漏造成的损失,会在软件系统的后续阶段被一级级地放大,因此本阶段的风险最大。软件设计阶段设计的主要目的在于软件功能正确地反映了需求,需求的不完整和对需求分析的不完整或者错误,在设计阶段将被成倍地放大。设计阶段的主要任务是完成系统体系结构的定义,使之能够完成需求阶段的即定目
9、标;另一方面也是检验需求的致性和需求分析的完整性和正确性。设计阶段的风险主要来自于系统分析人员。分析人员存设计系统结构时过于定制,系统的可扩展性较弱,会给后期维护带来巨大的负担和维护成本的激增。对用户来说系统的使用比例会有明显的折扣,甚至会造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度上升,可靠性降低,给实现和测试阶段带来风险,系统的稳定性也会受到影响。从另一个角度上看,用户需求和将来软件运行环境的变化都是必然的,目前软件设计的所渭的“通用性”是否就能很好的适应将来需求和运行环境的变化,都是需要认真折衷的,而这种折中也蕴涵着很大的风险。设计阶段蕴涵的
12、将到最低。常用方法有风险条目检查表,它是利用一组提问来帮助项目风险管理者了解在项目和技术方面有哪些风险。在风险条目检查表中,列出了所有可能的与每一个风险因素有关的提问,使得风险管理者集中来识别常见的、已知的和可预测的风险,如产品规模风险、依赖性风险、需求风险、管理风险及技术风险等。风险条目检查表可以不同的方式组织,通过假设分析、成本效益分析、风险剖面分析、判定树等,给出这些提问确定的回答,就可以帮助项目管理人员估算风险的影响。另外,我们可以依据风险条目检查表,制作风险控制概图,让项目管理和实施人员能很直观的看到在项目开发个阶段的风险存在状况和各风险的大小,并采取相应措施。从风险发生的概率来看
13、,需求风险和管理风险对项目成败影响最大,当一个软件项目开发团队接手项目后,都是按照习惯性的方式来开发软件。需求风险意识比较淡薄,软件需求分析阶段的完成的不够细致,忽略和很多软件开发必要的内容。在整个软件开发过程中需求分析阶段的风险控制尤为重要,如果控制不好,对软件开发项目影响巨大,甚至是失败。管理风险实际上是项目开发管理层,对项目开发的风险的意识反映。国内的软件企业大多规模较小,企业年轻,开发经验不足,软件工程师较年轻,缺少开大型软件项目的经验,在管理方面缺少经验,特别是风险管理,更是缺乏。下面是风险控制概图。2、风险管理风险管理应是贯穿软件项目开发始末的一项重要任务,其中包括风险识别、风险评
16、理岗位:在软件开发项目管理过程中设置风险管理岗位,该岗位的主要职责是在制订与评估规划时,从风险管理的角度对项目规划或计划进行审核并发表意见,不断寻找可能出现的任何意外情况,试着指出各个风险的管理策略及常用的管理方法,以随时处理出现的风险,风险管理者最好是由项目主管以外的人担任。风险管理岗位的人数依据项目大小来决定,一般23人较为适合。双项目经理:为项目开发项目设定两个项目经理岗位,一个负责技术岗位,另一个负责管理岗位。目前,国内的软件开发企业的项目经理一般都是一名,而且是技术出生的占绝对多数,他们主要擅长的是技术研发,在管理方面先天不足,这不利于项目风险管理和控制。通过增加专门的管理经理岗位,
17、可以弥补技术出生的项目经理的不足,提升软件开发项目的管理水平。而且这样的经验也已得到了国外业界大多企业的认可。(2)建立有效的风险控制管理过程风险管理过程包括培训,风险识别、风险分析、风险计划、执行计划、跟踪计划等活动,有效的风险管理过程应是学习型的、持续的和不断改进的。软件企业应建立自己的风险管理数据库作为风险管理的基础,并在实施中不断地更新和完善。根据企业和项目的实际情况,进行科学的项目风险和控制,对项目的成功研发有着举足轻重的意义。在项目开发的过程中,进行必要的项目风险分析,制定符合项目特点的风险评估和监督机制,特别是要定期对项目的风险状况进行评估和监管,发现意外风险或者是风险超出预期
18、的一定要重点关照。发现问题要立即上报,尽快解决。并建立风险监管日志,实行“岗位负责制”,将软件开发项目的风险降到最低。四:项目中常见风险及预防措施在项目的建设过程中,风险几乎无处不在。如何有效地识别、控制和管理风险,对项目的成功起着至关重要的影响。一个项目有可以预料的(包括已知的)风险和不可预料的风险,以下作者总结自己多年的软件项目工程经验,整理出软件项目经常遇到的15种可预料的(包括已知的)风险及其预防措施,期望能为项目经理制定项目风险计划和进行风险预防、控制等提供富有价值的参考。(1)合同风险签订的合同不科学、不严谨,项目边界和各方面责任界定不清等是影响项目成败的重大因素之一。预防这
19、种风险的办法是项目建设之初项目经理就需要全面准确地了解合同各条款的内容、尽早和合同各方就模糊或不明确的条款签订补充协议。(2)需求变更风险需求变更是软件项目经常发生的事情。一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损(实际上项目建设方也面临巨大的风险)。预防这种风险的办法是项目建设之初就和用户书面约定好需求变更控制流程、记录并归档用户的需求变更申请。(3)沟通不良风险项目组与项目各干系方沟通不良是影响项目顺利进展的一个非常重要的因素。预防这种风险的办法是项目建设之初就和项目各干系方约定好沟通的渠道和方式、项目建设过程中多和项目各干系方交流
20、和沟通、注意培养和锻炼自身的沟通技巧。(4)缺乏领导支持风险上层领导的支持是项目获得资源(包括人力资源、财力资源和物料资源等)的有效保障,也是项目遇到困难时项目组最强有力的“后台支撑”。预防这种风险的办法是主动争取领导对项目的重视、确保和领导的沟通渠道畅通、经常向领导汇报工作进展。(5)进度风险有些项目对进度要求非常苛刻(进度要求不高的项目,我们同样要考虑该风险),项目进度的延迟意味着违约或市场机会的错失。预防这种风险的办法一般是分阶段交付产品、增加项目监控的频度和力度、多运用可行的办法保证工作质量避免返工。(6)质量风险有些项目,用户对软件质量有很高的要求,如果项目组成员同类型项目
26、目,肯定会出现一些我们上面没有列举甚至是事先根本无法预期的风险,这就需要我们项目经理有敏锐的“嗅觉”去识别它们,从而更好地预防和控制它们。排序输入风险事件可能性影响风险值采取的措施1客户的sow需求不明确,增加需求,导致需求蔓延。70%50%35%请专业需求分析师和客户代表具体深入细节的交谈,多了解客户的想法,站在客户的角度上思考问题。2合同进度要求紧,合同金额和日期有限。30%50%15%可以请一些实习的学生做辅助工作,一来降低成本,二来可以加快进度。3历史项目信息开发人员对测试工作不重视30%40%12%1)强制性要求每段代码保留测试单元,由sqa检查。4wbs对需求的开放式系统标准没有合