对软件项目产生影响的因素,可以有多种分类方式。了解这些影响因素有助于提高估算的准确度,并改善对软件项目动态特性的整体理解。
影响到项目工作量、成本和进度的最具决定性的因素毫无疑问是项目的规模。其次是正在开发的软件的类型,紧随其后的是人员因素。开发中使用的编程语言和环境并不会直接影响到项目的结构,但它们直接影响到对项目的估算。本章按照重要性渐减的顺序介绍这些直接的影响因素,最后还将讨论一些间接的影响因素。
5.1 项目规模
软件规模是影响成本的最主要因素这一说法似乎是显而易见的,但是开发机构有两种常见做法违背了这一基本事实:
-
在不知道软件会有多大规模的情况下估算成本、工作量和进度。
-
在有意识地增加软件规模时,没有相应地调整对成本、工作量和进度的估算(也就是未对变更请求做出响应)。
5.2 待开发软件的不同类型
5.3 人员因素
5.4 编程语言
5.5 影响项目的其他因素
5.6 再论规模不经济
规模不经济因子:开发过程成熟度、架构和风险化解、有先例可循度的程度、团队凝聚力、开发灵活性