1、合同风险
签订的合同不科学、不严谨,项目边界和各方面责任界定不清楚等是影响项目成败的重大因素之一。
【预防】
项目建设之初项目经理就需要全面准确地了解合同各条款的内容,尽早和合同各方就模糊或不明确的条款签订补充协议或达成正式共识。
比如达到某某视觉效果多少百分比等等,谁能衡量这个视觉效果的标准,如果写到合同上那就是个无底洞了。
2、需求变更风险
需求变更是软件项目经常发生的事情。
一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损(实际上项目建设方也面临巨大的风险)。
【预防】
项目建设之初就和用户书面约定好需求变更控制流程、记录并归档用户的需求变更申请。
虽然各种项目都有需求变更的时候,但在项目合同签订的时候需要明确变更的最大期限,并确保客户在考虑变更的时候,同时也需要考虑变更所带来的时间和成本还有资金上的增加。
3、沟通不良风险
项目组与项目各干系方沟通不良是影响项目顺利进展的一个非常重要的因素。
【预防】
项目建设之初就和项目各干系方约定好沟通的渠道和方式。
项目建设过程中多和项目各干系方交流和沟通。
注意培养和锻炼自身的沟通技巧。
4、缺乏领导支持风险
上层领导的支持是项目获得资源(包括人力资源、财力资源和物料资源等)的有效保障,也是项目遇到困难时项目组最强有力的“后台支撑”。
【预防】
预防这种风险的办法是主动争取领导对项目的重视、确保和领导的沟通渠道畅通。
经常向领导汇报工作进展。
5、进度风险
有些项目对进度要求非常苛刻(进度要求不高的项目,我们同样要考虑该风险),项目进度的延迟意味着违约或市场机会的错失。
【预防】
分阶段交付产品。
增加项目监控的频度和力度。
多运用可行的办法保证工作质量避免返工。
6、质量风险
有些项目,用户对软件质量有很高的要求,如果项目组成员同类型项目的开发经验不足,则需要密切关注项目的质量风险。
【预防】
经常和用户交流工作成果。
采用符合要求的开发流程、认真组织对产出物的检查和评审。
计划和组织严格的独立测试等。
7、系统性能风险
有些软件项目属于多用户并发的应用系统,系统对性能要求很高,这时项目组就需要关注项目的性能风险。
【预防】
尽量在项目早期识别到客户对项目性能方面的需求。
在进行项目开发之前先设计和搭建出系统的基础架构并进行性能测试,确保架构符合性能指标后再进行后续工作。
8、系统可用性风险
简单说软件的可用性,包括:
软件使用是不是高效?
用户是不是容易学习而方便去操作?特殊的除外,一般的是普通用户就能够很快的学习如何操作。
界面的设计是不是令人愉快?要求美工设计要大众化,一定不要搞成“非主流”。
用户操作是不是易出错?
【预防】
在项目开发中应该注意可用性问题,可以避免出现可用性问题方面的风险。
通常我们可以通过与用户之间的多多交流与沟通来了解用户的一个想法,还可以让用户自己参加界面方面的设计,来到达用户的心愿。
也可以与多看看自己的竞争对手们是怎么设计的来降低风险。
9、工具风险
软件项目开发和实施过程,所必须用到的管理工具、开发工具、测试工具等是够能及时到位、到位的工具版本是否符合项目要求等,是项目组需要考虑的风险因素。
【预防】
在项目的启动阶段就落实好各项工具的来源或可能的替代工具,在这些工具需要使用之前(一般需要提前一个月左右)跟踪并落实工具的到位事宜。
10、新技术引入风险
在软件项目开发和建设的过程中,技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况而选用一些虽然陷阱但并非项目所必须且自己又不熟悉的技术。
如果项目所要求的技术项目成员不具备或者掌握不够,则需要重点关注该风险因数。
在软件这个行业中,最好少去用新技术,而且要等到新技术成熟以后再用。
【预防】
预防这种风险的办法是选用项目所必须的技术,在技术应用之前,针对相关人员开展好技术培训工作。
11、技术兼容性风险
我们在安装某个软件的时候常常会遇到这样一个问题(特别是windows 7),系统提示你安装的这个软件与系统不兼容,而且硬件产品之间也存在兼容方面的问题。
对于软件方面来说这与系统集成项目复杂性有关,成正比例。也就是说系统集成项目越是复杂,兼容性问题就越是有可能存在。
兼容性在服务器端,主要体现在操作系统、数据库、Web容器、中间件、第三方插件等。
兼容性在客户端,主要体现在:
电脑操作系统、显示器分辨率、浏览器类型及浏览器版本号;
手机操作系统(尤其是安卓和iOS)、手机屏幕尺寸及分辨率、手机浏览器软件、微信版本号等。
【预防】
通常我们可以通过设计先行、发布前对产品的一个充分测试、发布后对产品的一个跟踪调查等方法来降低风险等等。
12、团队成员能力和素质风险
团队成员的能力(包括业务能力和技术能力)和素质,对项目的进展、项目的质量具有很大的影响,项目经理在项目的建设过程需要实时关注该因素。
【预防】
在用人之前先选对人,开展有针对性的培训,将合适的人安排到合适的岗位上。
13、团队成员协作风险
团队成员是够能齐心协力为项目的共同目标服务,是影响进度和质量的关键因数。
【预防】
项目在建设之初项目经理就需要将项目目标、工作任务等和项目成员沟通清楚,采用公平、公正、公开的绩效考评制度,倡导团结互助的工作风尚等。
14、人员流动风险
项目成员特别是核心成员的流动给项目造成的影响是非常可怕的。
人员的流动轻则影响项目进度,重则导致项目无法继续甚至被迫夭折。
【预防】
尽可能将项目的核心工作分派给多人,而不要集中在个别人身上。
加强同类型人才的培养和储备。
15、系统运行环境风险
目前,大部分项目系统集成和软件开发是分开进行的,甚至由不同公司承接。
因此,软件系统赖以运行的硬件环境和网络环境的建设进度,对软件系统是否能顺利实施具有相当大的影响。
【预防】
和用户签订相关的协议,跟进系统集成部分的实施进度,及时提醒用户等。
16、分包商风险
有些项目可能为涉及到将系统的部分功能分包(外包)出去,这时项目组就需要关注项目的分包商风险。
【预防】
指定分包经理全程监控分包商活动、让分包商采用经认可的开发流程。
督促分包商及时提交和汇报工作成果,及时审计分包商工作成果等。