一、软件项目风险长什么样
很多项目的风险清单是出了事故之后才补建的,本质上是在交学费。临沂软件定制开发公司的做法是在项目启动阶段就集中做一次风险头脑风暴,把能想到的不确定事项全部列出来。在企业管理系统这类周期长的项目里,提前识别出客户接口人变更、历史数据脏乱、第三方接口延期这些问题,后面就有预案而不是临时抱佛脚。
软件项目的风险,本质上是那些可能让目标落空的不确定事件。它可能是技术层面的——某个关键技术方案走不通;也可能是人的层面——核心开发突然离职;还可能是外部的——客户预算缩水、监管政策变化。风险管理不是等出事了再救火,而是在项目开始时就把这些可能性摆出来,提前想好应对办法。
风险识别最好在项目启动阶段集中做一次,邀请业务、技术、管理各角色一起头脑风暴,把能想到的不确定事项全部列出来。清单宁多勿漏:客户方接口人会不会频繁更换、第三方接口什么时候能联调、服务器什么时候到位、数据迁移的历史数据是否干净,这些都应当进入风险清单。
二、定性与定量评估
识别之后要评估。粗略地分两步:这个风险发生的可能性有多大,一旦发生影响有多大。可能性高、影响大的是必须优先准备预案的红区;发生概率低但后果严重的,比如机房整体故障,则要想好一旦发生如何降级;影响小的风险记录在案、定期复查即可,不必为它消耗过多管理资源。
应对风险通常有四条路。规避:调整方案绕开它,例如换掉那个不成熟的技术选型;转移:把它交给更能承担的一方,例如购买云服务的可用性承诺;减轻:提前做措施降低概率或损失,例如多写自动化测试;接受:小风险记下、发生时再处理。不同风险配不同策略,比笼统地说"注意安全"有用得多。
项目中最容易被低估的风险是人员风险。关键模块由某一个人独扛,一旦他请假、离职或被调走,整条线立刻停摆。防范办法很朴素:重要模块至少两人熟悉代码、重要知识及时沉淀成文档、排期时不让单点资源成为关键路径上的唯一人选。
做软件定制项目前期多花半天做风险清单,胜过后期花半个月救火。
技术风险集中在新尝试上。第一次用某个框架、第一次对接某种硬件、第一次处理百万级数据量,都应当被标记为技术风险点。成熟团队的做法是在正式开发前安排一小段预研时间,把最不确定的技术问题先验证掉,而不是赌它到时候自然能跑通。
风险不是列完清单就结束了,它要持续监控。每周站会或周会花几分钟过一遍风险清单:哪个风险的迹象出现了没有、预案要不要启动、有没有新的风险加进来。风险清单是活的文档,项目环境在变,它也要跟着更新。
备注:风险识别越早做,应对成本越低。