这种情况在我们行业太常见了。
很多企业前几年做了套系统,用着还行,就是当时的开发团队联系不上了。现在想加个功能、改个bug,找不到人改。扔了可惜,留着又不能升级,卡在那儿特别难受。
做了十几年开发,接过的老系统接手项目没有一百也有八十了。今天就来聊聊遇到这种情况该怎么办。
为什么会出现这种情况?软件开发行业人员流动本来就大,对接的人一走很多事就断了。小团队不稳定,两三个人的团队接不到项目就撑不下去,散伙是常态。个人开发者更是说失联就失联,换手机号、转行,你再也找不到人了。还有的公司转型了,老项目对人家来说就是包袱,不想管了。
不管什么原因,结果都一样:系统没人维护了。出了bug没人修,想加功能没人做,想升级也没人管。
遇到这种情况有几个选择呢?一是找原来的团队,能联系上最好,毕竟他们最熟悉代码,但很多时候联系不上。二是找新的开发团队接手,这是最常见的方式,但很多团队不愿意接老项目,吃力不讨好。三是自己招人维护,适合系统很重要、后续需求多的企业,但成本高。四是彻底重做,如果系统太老、改起来比重做还贵,不如重做一套。
说到找新团队接手,这里面的苦谁接谁知道。代码质量参差不齐,老代码很多写得乱七八糟,变量名随便起、注释没有、结构混乱,看这样的代码比自己重新写还累。没有文档,所有逻辑都得靠猜、靠读代码去理解,花了很多时间还不一定理解对。技术栈可能很老,会的人越来越少。老系统bug多,改了这个那个又崩,牵一发动全身。
最气人的是客户还觉得"不就是改一下吗",不愿意出钱。在客户眼里加个小功能修个小bug应该很便宜,但实际上老项目改一点东西都很费劲,工作量跟做新的差不多。所以很多团队不愿意接老项目,又累又不赚钱还容易出问题。
那接手老系统的正确姿势是什么样的?我们一般是这么做的。先做全面评估,代码质量、技术栈、架构、文档、bug情况都摸清楚,给出方案让客户选。然后交接资料,源码、数据库、账号密码、服务器权限,能拿的都拿到。再做安全加固和备份,这一步必须做,不然接手后出问题说不清。最后再开始改需求修bug,一步一步来,不能上来就大改。
怎么避免以后再遇到这种问题?重要的系统找正规公司做,不要找个人和小团队。合同里写清楚源码交付、文档交付、交接条款,白纸黑字别含糊。自己保管好所有资料和账号密码,别都放在开发公司那里。定期备份,多端备份还要定期测试恢复。可以签长期维护合同,每年花点钱有保障,比出了问题再临时找人省钱多了。
最后给企业一个实在的建议:旧系统不是不能用,是要看值不值得继续投入。如果还能用几年、改起来成本不高,就找人接手维护;如果技术栈太老、改起来比重做还贵,不如趁这个机会重做一套,用新技术以后也好维护。
热门跟贴