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

那么PSPTSP到底是什么?
    人员成本占了软件开发成本的70%,软件工程师的技能与工作习惯很大程度上决定了软件开发的过程。而使用PSP的工程师有一个规范的和结构化的方法来开发软件。这些受训的工程师的习惯是真正能被用到新的不断变化的技术上的。PSP指导工程师如何在工作一开始就管理好质量,分析每项工作的结果,如何改善下一个项目的流程。当工程师知道如何运用跨领域和方法论的方式来度量并管理他们自己的工作时,他们就能够成功地沟通、学习新技能、获取新技术以及参与到高绩效的团队中。PSP是要引进TSP的组织的先决条件。
    团队软件过程(TSP)加上PSP帮助高绩效的工程师在一个团队中工作,来开发有质量保证的软件产品,生产安全的软件产品,改进组织中的过程管理。通过TSP,一个组织能够建立起自我管理的团队来计划追踪他们的工作、建立目标,并拥有自己的过程和计划。这些团队可以是纯粹的软件开发团队,也可以是集成产品的团队,规模可以从320个工程师不等。TSP团队在广泛领域里可能运用XPRUP或其它方法。TSP使具备PSP的工程人员组成的团队能够学习并取得成功。如果你的组织运用TSP,它会帮助你的组织建立一套成熟规范的工程实践,确保安全可靠的软件。

PSPTSP在行业中的应用及效果
     CMMI是领先的系统集成和软件组织用来评价和改进他们管理过程与能力的一种标准。在中国已经有许多组织通过或正在进行CMMI的咨询与评估。PSP/TSP的实施能促进过程改进所能带来的收益,同时也能加速企业通过CMMI的各级评估,更重要的是,PSP/TSP还能将改进的结果持续保持下去。
PSP不仅是SEI等国际知名大学或软件学院中学生的必修课程,同时在各行业中也有广泛的应用。全世界有越来越多的企业实施了PSP/TSP来增强企业的竞争力,其中软件企业有MicrosoftQuarksoft BAANIntuitAdvanced Information ServicesTeradyne等,还有诸如集成电路,系统集成等行业的公司,如:ABBHoneywellMotorolaAllied SignalBoeingXEROX等。
PSPTSP的实施,为这些组织在软件质量,成本控制等方面带来的显著的成效。微软,作为全球最大的软件供应商,最近有一个项目试运行了SEI个人软件过程(PSP)和团队软件过程(TSP),使一个软件开发团队改变行为、改进过程、从而交付更好的软件。
     TSP塑造团队。在使用TSP之前,该团队有10个开发人员,他们对项目、工作、甚至彼此之间都没有信心。该团队成员的工作只是彼此独立的进行,而不是作为一个团队来进行的,没有协作。在TSP项目实施了4天后,这组人成为了一个真正的团队。
 
      TSP降低缺陷,改进质量,节省成本。在TSP培训中,微软开发人员的单体测试缺陷从超过25个缺陷/千行代码显著降低到7个缺陷/千行代码。微软的团队,如其他的软件开发团队一样,耗费4060%的整体开发时间在测试上,因为他们用这些时间来发现并解决产品的缺陷。但是,由于微软的TSP试运行团队花时间在早期的缺陷移除活动上,如个人评审和团队检查,他们的测试只用了整个项目工作量的11.5%。最终,该试运行项目组按时将产品交付给了测试,并且是高质量的。这使得项目节省了35%的成本。

PSPTSPCMMI模型的紧密结合将成为必然趋势
    正如CMM/CMMI的创始人Watts Humphrey所说的,未来对于软件工程团队交付产品的质量、及时性和成本控制的要求越来越高,无法达到这些要求的企业及个人都将被淘汰。鉴于PSPTSP目前为止在各大企业的实施效果,PSPTSPCMMI模型的紧密结合将成为必然趋势。
    作为开发人员,通过PSP的培训课程,能够学到软件过程管理和项目管理方面最先进的技能和最佳实践管理,从而提高他们的项目质量,改进预估和计划能力,同时减少产品缺陷。通过PSP培训的个人还能够获得SEI授权的PSP培训证书,这无疑也是提升工程师个人职业发展空间和价值的极好机会。
    作为开发团队,TSP的实施能够在较短时间内建立高绩效的团队,能够确保团队开发产品的质量、安全性,更好地计划并控制项目时间与成本,从而改进组织的过程管理。
    从整个企业角度来看,所有经验证明PSPTSP能加速CMMI在企业范围内的实施,同时也是维持改进的需要。在众多世界知名企业开始实施PSPTSP的情况下,中国的软件组织要提高自身的国际竞争力,PSPTSP是必经之路,不仅帮助提升了企业的对外形象和国际认知度,还能为企业带来更大的竞争优势。