遗留系统评审怎么做?
作者:网络转载 发布时间:[ 2014/3/27 15:50:53 ] 推荐标签:系统评审 软件 需求评估
有一个需求摆在你面前,有一个现成的软件摆在你面前。你是在现有的软件基础上继续改进实现新需求,还是扔开这个现有软件重新做?这么简单的一个问题,简直能让人——尤其是像我这种本来有选择障碍的人——挠破头皮。用现成的软件吧,质量不见得好,扩展不见得容易,说不定做起来发现步步是陷阱;从头做吧,看着别人做好的东西要重新做总是不甘心,更何况还可能有政治压力,没准儿这个软件正是哪个领导的爱呢。
怎么办?作为一个有选择障碍的体系爱好者,答案自然是:创造一套体系,让体系来给出答案,那么我不用挠头啦。以下是我的体系,遗留系统评审我照着这个套路来。
第一步:需求评估
脱离需求的上下文很难讲一个软件好还是不好,因此首先要做的不是评估这个软件本身,而是评估要用它来做什么。首先框定需求的上下文,然后你才能说出为了满足这个需求软件应该具备哪些特质。
第二步:功能评估
接下来是评估这个软件现有的功能。当初开发这个软件时考虑的需求上下文与你现在要满足的未必一致,但是要充分了解一个软件,你不能脱离它本身的上下文来讲它的功能。你还得回到它当初设想的需求当中,在那个上下文里来看,这个软件实现了哪些功能。
第三步:差距分析
这时候才轮到谈现有软件缺少了什么:把已有的功能放到新的需求当中,做个对比,看看已有的功能是否满足新的需求、缺少了什么、偏差了什么。这时候需要把差距一条条列出来,甚至可能需要大致估计如果要弥补这些差距需要多大工作量,因为“继续用现有的软件”始终都会是一个选项。
第四步:技术质量评估
如果继续用现有的软件是一个选项,那么在这个软件基础上修修改改究竟有多难、多快严重取决于这个软件的技术质量——如果代码质量一团糟,在上面做修改必然会慢很多。技术质量评估可以有很多常见的度量指标,我比较愿意谈可维护性和可扩展性,影响它们的因素会有代码可读性、模块设计、接口设计等等。
第五步:结论
千万不能说“把这个破软件扔了我们从头做吧”——虽然我知道很多时候我们是想这么说。我们的评估应该是基于事实的,而且至少得有两个选项让客户来做选择:除了“从头做”之外,至少还得有“继续用现有的软件”这个选项存在。从头做一个符合新需求的软件需要多少成本,未来的总体拥有成本是什么趋势;修修改改现有的软件需要多少成本,未来的总体拥有成本又是个什么趋势;两者有什么好处有什么风险。把这些东西列出来,让客户能基于这些事实做一个明智的决定,是我们做评估的目标了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11