如何评估项目复杂度

最近,公司分配一个业务,把系统从国外接手过来,考虑到经费的原因,项目从之前的aws系统换到阿里云。迁移之前,需要评估项目的复杂度,网上看到一篇帖子写的很好,转载拜读。

这是原文博客链接:http://blog.sina.com.cn/s/articlelist_1549403204_0_1.html

概述

项目复杂度模型是IT系统建设过程中经常需要面对的课题。一个IT系统的建设规模是大型、中型、还是小型,直接关系到具体投资金额的大小。从其投资结构来说,包括如下几个方面:硬件设备投资,软件产品投资,系统集成服务投资,应用开发实施投资等。

本文只是针对IT系统应用开发实施投资部分进行项目复杂度模型的分析,提出影响项目规模的八大要素。

 

项目复杂度分析模型

评估一个IT项目的复杂度,可以从八大要素来衡量。

要素一:子系统/功能点数量

一般来说,一个系统越复杂,其按照功能域划分的子系统越多,其最终分解出来的具体功能点越多。子系统和功能点的增加与工作量的增加不是简单的线性增长关系,从只包含一个子系统到包含多个子系统,随着人员投入数量增多和组织的细分,其复杂度会因为组织间沟通和分工协作的难度而大大增加。在这一点来说,可以认为子系统的数量是划分简单项目和复杂项目的一个重要维度。

要素评分:0–简单(1个子系统),5—中等复杂(2至4个子系统), 10–复杂(>4个子系统)

加权因子:2

 

要素二:外围接口数量

一般的IT系统都不是系统孤岛,是和外围系统紧密相连的。与外围系统的接口数量越多,代表着进行系统间集成的复杂度越高,难度越大。这里的复杂度影响主要来自于几个方面:一个是不同系统架构间形成统一接口协议的复杂度,这需要弥合系统间差异,体现系统间关系的工作;另一个是在完全无关的两个项目组织间协调实施的复杂度,包括设计开发、联调测试等协同工作,这是比项目组内部不同子系统间的协调更为复杂的协同工作。

要素评分:0–简单(1至5个接口),5–中等(6-10个接口),10—复杂(11-20个接口)

加权因子:1.5

 

要素三:承载的业务数量

在当前的IT系统架构中,往往一套体系架构上,运转着多种业务和产品。因此,一套IT系统中承载的业务和产品数量,将直接影响系统开发、配置、测试、联调工作的复杂度。

要素评分:0–简单(1-5个业务),5—中等复杂(6-10个业务),10—复杂(>10个业务)

加权因子:1

 

要素四:业务数据量

大型企业的IT系统中,很多关键系统是伴随着大量的业务数据存在着的。IT系统处理数据量的大小,直接影响到IT系统的架构设计模式。一个业务处理数据量大的系统,不仅要求从硬件规模和部署上进行复杂深入的考虑,而且在应用架构设计上要充分考虑系统的并行处理、负载均衡等要求。很多在小数据量系统中可以通过人工进行的操作,在大数据量系统中则需要通过开发系统功能来实现,如数据的审核、出错回退、数据同步等。从IT系统的特点来说,可以采用最终用户数(Subscriber)来衡量业务数据量的大小。

要素评分:0–小型(<1000000的用户),5–中型(1000000至5000000个用户),10—大型(>5000000个用户)

加权因子:1

 

要素五:技术复杂度

技术复杂度来自于系统建设中对功能上的复杂技术要求,典型的场景包括最新技术架构、较高的安全要求、套装软件的集成等。目前各种IT系统建设已经从原来的烟囱式的一种业务一套处理程序,向生产线式的多种业务一套处理程序的架构转变。这种模式更多地需要搭建系统架构时,建立统一的数据模型,对业务进行充分的抽象,通过构建基础架构公共组件实现多种业务的支撑。

要素评分:0-低、5-中、10-高。技术复杂度因素较难量化,只能根据技术要求定性分为低、中、高。

加权因子:1

 

要素六:需求的成熟度

需求的成熟度是影响IT系统建设成本的重要因素。如省BOSS的高复杂度系统,因为需求比较成熟,有完善的规范来指导设计和开发,因此,其实施成本可以通过多省实施来实现架构复制,实现了成本摊平。

而很多新的业务领域,存在着业务模式频繁变化,需求不断变动的特点,此类IT系统建设,不仅要求开发商具有丰富的系统实施经验,还要具有深入的咨询能力,对人员素质要求和系统的灵活性及扩展性都有较高的要求。

要素评分:0-需求稳定成熟 ,5-需求较新,但相对稳定,10-需求变动频繁

加权因子:1

 

要素七:系统的关键程度

系统的关键程度实际上体现的是对系统的质量要求。这种质量要求体现在系统高可用性要求(如联机交易要求7*24小时的高可用性)、系统处理正确性要求(如计费帐务的正确性处理要求)、系统处理的及时性要求(如实时计费处理的时效性要求)等。系统的关键程度越高,越要在架构设计中考虑冗余处理、正确性验证、并发处理等各种手段,确保系统运行的稳定、准确、高效。

要素评分:0-非关键系统、5-中等关键系统、10-重要关键系统。

加权因子:1.5

 

要素八:数据迁移的复杂程度

IT系统的建设过程中,除了设计开发之外,更为艰巨的工作是测试和迁移。很多IT系统需要把原有系统中的数据完整地迁移到新系统中,尤其对于数据量大的系统,数据迁移需要开发很多程序和脚本,并通过充分的测试和模拟,才能实现正确和及时的数据迁移。很多原有系统还存在较多的错误数据,这些数据的清理也是一个很大的工作。

要素评分:0-简单少量迁移,5-中等复杂迁移,10-高度复杂迁移

加权因子:1

 

上述8大要素综合作用,将决定项目的复杂程度。复杂程度的高低,将直接体现在两个方面:一个是项目团队的能力,根据项目复杂程度不同,需要搭配不同数量的资深实施人员和普通技能人员;另一个是项目实施的人月数量,是由参与项目的人员所从事项目的时间累计而成。项目复杂度越高,越需要人员的技能水平越高,周期也需要更长,工作量就会越高。

 

我们在评估项目复杂度时,对8大要素进行评估,把得出的评分进行加权累计,可以得出一个汇总分数。这个分数从0—100分,其高低可以体现项目的复杂度。我们初步可以采用如下公式:

0-40分:小型项目

41—70分:中型项目

71—100分:大型项目

 

总结

项目复杂度是个非常复杂的课题,需要根据所面对的行业领域,所实现的IT系统性质,进行深入的调研和分析之后才可以得出较为准确的评估模型和方法,不同领域的评估模型会有所不同,可能在评估要素和加权因子上都有不同,需要具体情况具体分析。

本文主要是针对IT系统的建设,结合项目实践和项目实施方法论,对项目复杂度模型进行的初步探讨。希望能够在评定项目复杂度上起到一定的作用。

 

感谢原作者!学习了!

 

    原文作者:海角cape
    原文地址: https://blog.csdn.net/m0_37597572/article/details/87537411
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞