如何评估项目复杂度

最近,公司分配一个业务,把系统从国外接手过来,考虑到经费的原因,项目从之前的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系统的建设,结合项目实践和项目实施方法论,对项目复杂度模型进行的初步探讨。希望能够在评定项目复杂度上起到一定的作用。

 

感谢原作者!学习了!

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件项目时间评估是指使用Excel等电子表格软件对软件开发项目的时间进行评估和安排。下面是一个简要的步骤和方法: 1. 根据项目需求和范围,明确软件开发的目标和功能要求。这是项目时间评估的基础,需要与项目团队进行充分的沟通和讨论,确保需求的清晰和一致。 2. 划分项目阶段和任务。将软件开发项目划分为不同的阶段(如需求分析、设计、编码、测试、部署等)和任务(如功能开发、界面设计、数据库设计、单元测试等),并确定每个任务的开始和结束时间。 3. 评估每个任务所需的时间。根据经验和专业知识,评估每个任务完成所需的时间。可以参考过去类似项目的时间和团队成员的工作能力来进行估算。 4. 考虑依赖关系和风险。考虑任务之间的依赖关系,例如某些任务必须在其他任务完成后才能开始。同时,评估可能遇到的风险因素,如技术难度、人员调整等,进行时间调整和缓冲。 5. 整合任务时间和资源。在Excel中创建一个时间轴或甘特图,将各个任务按照时间顺序排列,并根据任务的起止时间和依赖关系进行调整。同时,考虑项目团队成员的工作安排和资源分配,合理安排任务的完成时间。 6. 监控和更新进度。在项目执行过程中,根据实际进展情况,及时更新任务的完成时间和进度,并与原计划进行对比,以便及时调整和管理项目进度。 通过以上步骤和方法,使用Excel可以有效进行软件项目时间评估,并为项目管理和调整提供依据。然而,软件项目是复杂和不确定的,时间评估往往存在一定的风险和误差。因此,在评估过程中需要综合考虑各种因素,并与项目团队进行密切合作,以实现项目的成功交付。 ### 回答2: 软件项目时间评估Excel是一种可以帮助开发团队估计项目完成时间和进展的工具。它通过提供一系列的公式和功能,帮助团队成员根据项目的不同阶段和任务的复杂度进行时间评估。 首先,Excel可以使用公式和计算功能进行时间评估。团队成员可以根据过去的经验和项目需求,输入不同任务的预计完成时间,并根据任务的优先级和复杂度确定其相对权重。随后,Excel可以通过使用加权平均等计算方法计算项目的总体完成时间。 其次,Excel可以提供可视化的时间计划。项目成员可以使用Excel的图表功能创建甘特图或时间轴图,以展示项目中各个任务的开始和完成时间,并显示任务的依赖关系和进展情况。这样,团队成员可以清晰地了解项目的时间线,并根据需要进行调整和优化。 此外,Excel还可以提供数据分析和决策支持。团队成员可以使用Excel的排序和筛选功能,对不同任务的时间评估进行比较和分析。通过这些分析,团队可以识别潜在的风险和瓶颈,并制定相应的调整措施,以保证项目的及时交付。 总之,软件项目时间评估Excel是一个功能强大的工具,可以帮助团队估计项目完成时间、制定时间计划和分析数据。它可以提高团队对项目进展的掌控和决策的准确性,从而促进项目的顺利进行和成功交付。 ### 回答3: 软件项目时间评估excel是一个工具,用于帮助项目管理人员评估软件项目的时间需求和进度。它可以在项目启动阶段使用,通过填写相关数据来计算项目的时间估计。 首先,我们需要输入项目的基本信息,如项目名称、项目经理、项目开始日期和结束日期等。然后,我们需要输入项目中的任务列表和对每个任务的预估时间。这些任务可以按照项目的不同阶段或功能来划分,从而更好地组织和管理项目。 在填写任务的预估时间时,我们可以根据类似的项目或经验来进行估算。这涉及到考虑每个任务所需的工作量、技术复杂性和可用资源等因素。此外,还可以考虑项目中可能遇到的风险和延迟因素,以增加对时间的安全储备。 一旦完成任务预估时间的填写,软件项目时间评估excel会自动计算项目的总时间需求。同时,它还可以生成进度图表,以便项目管理人员和团队成员能够更直观地了解项目的整体进展和时间分配。 除了帮助评估项目时间需求之外,软件项目时间评估excel还可以用于跟踪项目的实际进度。通过在填写实际完成时间时与预估时间进行比较,可以及时发现项目进度偏差并采取相应的纠正措施。 总之,软件项目时间评估excel是一个有效的工具,可以帮助项目管理人员在项目启动阶段评估软件项目的时间需求和进度。它能够提供实时的时间数据和进度图表,帮助项目团队更好地组织和管理软件项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值