当今社会对软件的需求在不断变化,企业必须具备快速开发的能力来应对这样的需求。许多企业同时面临预算、人员的削减或者是为了提高利润,必须控制项目时间与费用。软件质量在这种快速的市场环境压力下往往得不到保障。美国卡内基梅隆大学软件工程学院 (SEI)20 多年来一直致力于创建并推广一系列方法来帮助企业有效地开发高质量软件。其中 CMMI 模型已经被中国诸多软件开发组织所认可, CMMI 能够评估并改进过程,从而稳定、协调并提高这些组织绩效的根本能力。尽管这一模型提供了强大的改进框架,但它关注的是企业应该做什么而不是如何来做。一个企业是由多个团队及个人组成的,组织级的过程改进必然需要团队及个人行为的改变,要开发高质量的软件就要求开发软件的每个工程师都能高质量地完成工作。个人软件过程 (PSP) 和团队软件过程 (TSP) 就是专门设计来使个人和团队的工作优化及规范化的,通过让个人和团队使用些预定义的标准流程来建立可测量的目标,跟踪目标的完成情况,从而提高质量,与 CMMI 相结合,从而构建高绩效的团队,优化整个组织的流程。

    最近国际上,如微软和 Intuit 等著名跨国企业,通过将重心扩展到个人软件过程 (PSP) 和团队软件过程 (TSP) 从而促进了过程改进所能带来的利益。

那么 PSP TSP 到底是什么 ?

    人员成本占了软件开发成本的 70% ,软件工程师的技能与工作习惯很大程度上决定了软件开发的过程。而使用 PSP 的工程师有一个规范的和结构化的方法来开发软件。这些受训的工程师的习惯是真正能被用到新的不断变化的技术上的。 PSP 指导工程师如何在工作一开始就管理好质量,分析每项工作的结果,如何改善下一个项目的流程。当工程师知道如何运用跨领域和方法论的方式来度量并管理他们自己的工作时,他们就能够成功地沟通、学习新技能、获取新技术以及参与到高绩效的团队中。 PSP 是要引进 TSP 的组织的先决条件。

    团队软件过程 (TSP) 加上 PSP 帮助高绩效的工程师在一个团队中工作,来开发有质量保证的软件产品,生产安全的软件产品,改进组织中的过程管理。通过 TSP ,一个组织能够建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。这些团队可以是纯粹的软件开发团队,也可以是集成产品的团队,规模可以从 3 20 个工程师不等。 TSP 团队在广泛领域里可能运用 XP RUP 或其它方法。 TSP 使具备 PSP 的工程人员组成的团队能够学习并取得成功。如果你的组织运用 TSP ,它会帮助你的组织建立一套成熟规范的工程实践,确保安全可靠的软件。

PSP TSP 在行业中的应用及效果

     CMMI 是领先的系统集成和软件组织用来评价和改进他们管理过程与能力的一种标准。在中国已经有许多组织通过或正在进行 CMMI 的咨询与评估。 PSP/TSP 的实施能促进过程改进所能带来的收益,同时也能加速企业通过 CMMI 的各级评估,更重要的是, PSP/TSP 还能将改进的结果持续保持下去。

PSP 不仅是 SEI 等国际知名大学或软件学院中学生的必修课程,同时在各行业中也有广泛的应用。全世界有越来越多的企业实施了 PSP/TSP 来增强企业的竞争力,其中软件企业有 Microsoft Quarksoft BAAN Intuit Advanced Information Services Teradyne 等,还有诸如集成电路,系统集成等行业的公司,如: ABB Honeywell Motorola Allied Signal Boeing XEROX 等。

PSP TSP 的实施,为这些组织在软件质量,成本控制等方面带来的显著的成效。微软,作为全球最大的软件供应商,最近有一个项目试运行了 SEI 个人软件过程 (PSP) 和团队软件过程 (TSP) ,使一个软件开发团队改变行为、改进过程、从而交付更好的软件。

     TSP 塑造团队。在使用 TSP 之前,该团队有 10 个开发人员,他们对项目、工作、甚至彼此之间都没有信心。该团队成员的工作只是彼此独立的进行,而不是作为一个团队来进行的,没有协作。在 TSP 项目实施了 4 天后,这组人成为了一个真正的团队。
 

      TSP 降低缺陷,改进质量,节省成本。在 TSP 培训中,微软开发人员的单体测试缺陷从超过 25 个缺陷 / 千行代码显著降低到 7 个缺陷 / 千行代码。微软的团队,如其他的软件开发团队一样,耗费 40 60 %的整体开发时间在测试上,因为他们用这些时间来发现并解决产品的缺陷。但是,由于微软的 TSP 试运行团队花时间在早期的缺陷移除活动上,如个人评审和团队检查,他们的测试只用了整个项目工作量的 11.5% 。最终,该试运行项目组按时将产品交付给了测试,并且是高质量的。这使得项目节省了 35% 的成本。

PSP TSP CMMI 模型的紧密结合将成为必然趋势

    正如 CMM/CMMI 的创始人 Watts Humphrey 所说的,未来对于软件工程团队交付产品的质量、及时性和成本控制的要求越来越高,无法达到这些要求的企业及个人都将被淘汰。鉴于 PSP TSP 目前为止在各大企业的实施效果, PSP TSP CMMI 模型的紧密结合将成为必然趋势。

    作为开发人员,通过 PSP 的培训课程,能够学到软件过程管理和项目管理方面最先进的技能和最佳实践管理,从而提高他们的项目质量,改进预估和计划能力,同时减少产品缺陷。通过 PSP 培训的个人还能够获得 SEI 授权的 PSP 培训证书,这无疑也是提升工程师个人职业发展空间和价值的极好机会。

    作为开发团队, TSP 的实施能够在较短时间内建立高绩效的团队,能够确保团队开发产品的质量、安全性,更好地计划并控制项目时间与成本,从而改进组织的过程管理。

    从整个企业角度来看,所有经验证明 PSP TSP 能加速 CMMI 在企业范围内的实施,同时也是维持改进的需要。在众多世界知名企业开始实施 PSP TSP 的情况下,中国的软件组织要提高自身的国际竞争力, PSP TSP 是必经之路,不仅帮助提升了企业的对外形象和国际认知度,还能为企业带来更大的竞争优势。