一.软件项目中的风险
软件项目的风险无非体现在以下四个方面:需求、技术、成本和进度。IT项目开发中常见的风险有如下几类:
(1)需求风险
①需求已经成为项目基准,但需求还在继续变化;
②需求定义欠佳,而进一步的定义会扩展项目范畴;
③在做需求中客户参与不够;
④缺少有效的需求变化管理过程。
(2)计划编制风险
①计划、资源和产品定义全凭客户或管理人员口头指令,可能会有出入;
②计划是是"最佳状态",但计划不现实,只能算是"期望状态";
③产品是息息相关,一环扣一环的,部分功能的未能实现可能会拖累其他功能实现;
④完成目标日期被迫提前,但没有相应地调整产品范围或可用资源;
(3)组织和管理风险
①仅由管理层或市场人员进行技术决策,导致计划进度缓慢,计划时间延长;
②管理层审查 决策的周期比预期的时间长;
③预算削减,打乱项目计划;
④非技术的第三方的工作(预算批准、设备采购批准、法律方面的审查、安全保证等)时间比预期的延长。
(4)人员风险
①作为先决条件的任务(如培训及其他项目)不能按时完成;
②开发人员和管理层之间关系不佳,导致决策缓慢,影响全局;
③缺乏激励措施,士气低下,降低了生产能力;
④某些人员需要更多的时间适应还不熟悉的软件工具和环境;
⑤项目后期加入新的开发人员,需进行培训并逐渐与现有成员沟通,从而使现有成员的工作效率降低;
⑥由于项目组成员之间发生冲突,导致沟通不畅、设计欠佳、接口出现错误和额外的重复工作;
⑦不适应工作的成员没有调离项目组,影响了项目组其他成员的积极性;
(5)开发环境风险
①设施未及时到位;
②设施虽到位,但不配套,如没有电话、网线、办公用品等;
③设施拥挤、杂乱或者破损;
④开发工具未及时到位;
⑤开发工具不如期望的那样有效,开发人员需要时间创建工作环境或者切换新的工具;
⑥新的开发工具的学习期比预期的长,内容繁多。
(6)客户风险
①客户对于最后交付的产品不满意,要求重新设计和重做;
②客户的意见未被采纳,造成产品最终无法满足用户要求,因而必须重做;
③客户对规划、原型和规格的审核 决策周期比预期的要长;
④客户没有或不能参与规划、原型和规格阶段的审核,导致需求不稳定和产品生产周期的变更;
(7)产品风险
①矫正质量低下的不可接受的产品,需要比预期更多的测试、设计和实现工作;
②开发额外的不需要的功能(镀金),延长了计划进度;
③严格要求与现有系统兼容,需要进行比预期更多的测试、设计和实现工作;
④要求与其他系统或不受本项目组控制的系统相连,导致无法预料的设计、实现和测试工作;
⑤在不熟悉或未经检验的软件和硬件环境中运行所产生的未预料到的问题;
⑥开发一种全新的模块将比预期花费更长的时间;
⑦依赖正在开发中的技术将延长计划进度。
(8)设计和实现风险
①设计质量低下,导致重复设计;
②一些必要的功能无法使用现有的代码和库实现,开发人员必须使用新的库或者自行开发新的功能;
③代码和库质量低下,导致需要进行额外的测试,修正错误,或重新制作;
④过高估计了增强型工具对计划进度的节省量;
⑤分别开发的模块无法有效集成,需要重新设计或制作。
二.解决方法
1. 在用人之前先选对人、开展有针对性的培训、将合适的人安排到合适的岗位上。
2. 保证参加项目的各类人员能够胜任项目中所承担的工作。因此,实施双方应对参与人员进行认真地评估。
3. 项目经理要采取相应的措施维持开发队伍的稳定,将参与项目人员的业绩评估与项目实施的状况相联系,制定适当的奖惩措施。
4.同时,项目经理也需要做好项目组人员变动的应对措施。
5. 开发人员的水平应该符合项目开发要求。技术上是应该和算选取的开发工具相配套。
6. 员工对自己的工作有正确的期望。要接受过必要的培训。保证开发人员的流动保证工作的连续性。尽可能将项目的核心工作分派给多人(而不要集中在个别人身上)、加强同类型人才的培养和储备。
7. 对于设备,可以在进行项目开发时进行相应的检测,检测设备性能是否达到项目开发要求。
8. 当然,在遇到非常棘手的问题时,应当向老师和同学请教。