PSP/TSP在软件项目管理方面的作用分析?

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:jz1120
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:个体软件过程(Personal Software Process:PSP)和团队软件过程(Team Software Process:TSP)在国外许多著名软件企业得到了广泛应用,并由此带来了令人瞩目的成效,但他们在我国的实际应用还刚刚起步。作者根据在实际应用中的结果,对PSP和TSP的优缺点以及与CMMI的关系进行了系统地分析,对他们在我国软件项目管理方面的应用前景进行了展望。
  关键词:PSP;TSP;CMMI;软件过程;项目管理
  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)06-11774-02
  
  1 引言
  Watts Humphrey 作为8000个工程师的编码主管,在IBM长达27年的工作期间,亲身经历过无数次软件项目开发的成功与失败,总结出一系列宝贵经验,并于1986年开始研究并于1991年提出能力成熟度模型CMM,为软件过程改进制定了基本框架。之后,他意识到CMM只告诉企业"应该做什么",而没有告诉企业,特别是每一个开发人员"应该怎样做"。针对这一欠缺,Humphrey在1994年推出了PSP和TSP。虽然PSP/TSP在国外许多大中型软件企业得到了广泛应用,并取得了令人瞩目的成效,但在我国刚刚起步。本文用具体实例说明了PSP/TSP能给企业带来的效益,对项目小组的作用及其与CMMI的关系。
  
  2 PSP在软件开发和项目管理中的作用
  2.1 PSP能使您成为一名更好的专业软件工程师
  在当今社会,要在规定的期限内开发出高质量的产品,对于一个开发人员只有高速的编码技术远远不够。通过PSP培训可让他们掌握软件过程管理和项目管理方面最先进的技能和最佳的实践[1]。具体为:精确地估算软件规模大小;合理安排自己的项目开发时间;以时间和规模为根据合理地规划项目,准确地预计工期;减少产品缺陷;使用挣值法跟踪进度;收集数据来持续地提高自己的生产率、软件质量、以及工期预测能力等。PSP不仅可以帮助开发人员提高编码水准,还可指导他们更好地进行需求或过程定义、评审、测试、文档编写等。Humphrey认为如果开发人员遵从PSP的所有规范,实际上已经在按CMMI5级的要求进行软件开发了[2]。我们对北京某公司37名开发人员培训的部分结果如图1和2所示。每人按PSP要求,编写10个小程序,进行规模和开发时间估算等。从图中看出,每个人在做了6个程序后,他们的估算误差都已低于10%。
  2.2 PSP能提高工作效率与编码速度
  在引入一个新过程时,开发人员需要处理一些与过程有关的事情,如记录自己的开发时间和缺陷数等。公司领导最关心的事情之一是这些会不会影响工程师的工作效率,如编码速度会不会降低?图3是SEI对886个开发人员的统计结果,质量目标指定为每千行缺陷数低于5,在此前提条件下,程序员未受PSP训练时,编写357个程序的平均速度是28.66行/h,接受PSP标准训练后,编写1272个程序的平均速度是30.33行/h。这主要是由于采用PSP后,工程师做开发时逻辑思路更清晰,计划、设计等更完善,生产率反而得到了提高。
  图1 PSP开发时间估算误差 图2 PSP程序规模估算误差
  图3 使用与不使用PSP时工程师编码速度对比
  
  3 TDP在软件开发和项目管理中的作用
  3.1 TSP使领导对交货日期和开发成本了如指掌
  TSP不仅提供了一套完整的过程改进方案,而且还提供了相应的项目管理工具,再结合PSP中的规模估算等技术,开发人员能非常准确地估算和预测项目开发所需的总时数。因而计算产品交货日期和开发成本就变得易如反掌,增加了与客户谈判的砝码[4]。图4是AIS公司使用CMM和TSP后进度预测准确度变化情况。在引入CMM或TSP之前,产品交付日期预测与实际平均相差一倍多。引入TSP后,对项目进度采用挣值法(EV)管理,每天对开发人员的开发进度自动更新,项目组每周进行汇总。项目经理和高层领导能及时掌握项目进展情况,对落后的项目及时采取有效措施,保证了按期交付。
  图4 预测进度与实际进度的偏离/天
  3.2 TSP使产品交付时每万行代码的缺陷数小于1
  TSP特别重视质量管理,其基本策略是在每一个开发阶段采用自我评审,在重要的阶段进行同行审查。力争在项目开发的早期彻底的将缺陷消灭,这样可以大大节约开发、测试、以及维护成本。采用TSP后,许多公司在交付产品时,已经能够将缺陷率控制在每万行低于一个缺陷以内[4]。图5列举了波音公司的数据,在进行第9个发布时,虽然软件规模增加了2.36倍,由于采用了TSP,总缺陷数反而降低了75%。
  图5 大大降低产品缺陷率
  3.3 TSP能大大缩短系统测试时间
  在通常情况下,测试时间要占系统总开发时间的45%或更多,主要依赖于客户对产品质量的要求。根据经验,采用TSP后,进行测试时缺陷数已非常低,曾遇到验收测试时仅仅发现一个缺陷的情况。这样就大大节省了测试和随后的维护时间,总的生产率一般能提高1倍以上。微软为了保证产品质量,曾投入了大量的人力和时间来进行测试,几乎一半时间用于测试和缺陷排除。他们采用TSP后,验收测试时所发现的缺陷数较以往低得多,将测试时间缩短到总开发时间的11.5%,使项目节省成本35%,产品交付时间大大提前[5]。
  3.4 PSP/TSP/CMMI三位一体,使CMMI晋级时间大大缩短
  CMM/CMMI和PSP/TSP的创始人都是Humphrey,CMM/CMMI用于建立管理框架,设立过程改进的先后顺序,定义改进的内容等;PSP/TSP指导工程师如何才能完成高质量的工作,如何才能形成一个配合默契的团队,如何去实现CMMI所定义的目标等。他们相辅相成,互相补充,构成一个有机的整体。根据SEI在今年4月发布的最新研究,PSP/TSP对CMMI的25个过程域覆盖率达90%以上。图6列出了PSP/TSP对CMMI 2级7个过程域的覆盖情况,其它级别的过程域覆盖情况类似。
  图6 TSP实践对CMMI二级过程域的覆盖
  如果在CMMI项目正式实施之前进行TSP项目,CMMI的效果会更好,而且晋级时间大大缩短。根据SEI对所有实施CMMI项目的统计,从三级到四级的平均时间为36个月。NAVAIR公司实施CMMI时,与PSP/TSP相结合,从一级到四级仅仅用了34个月时间(图7)。
  图7 PSP/TSP加速CMMI晋级
  
  4 结束语
  就国内十几家企业推广的情况来看,PSP/TSP所取得的效果基本上与国外情况一致,有些方面甚至更好,如CMMI晋级,投入产出比等。在投入方面,公司不用聘请国外的专家和评估师,国内的咨询师完全能满足要求;做项目启动时,只需聘请一次有资质的教练做启动,以后公司可以自己做启动,大大降低了成本。一般能在半年之内将投入全部收回,而公司所得到的回报却是长期的。由于CMMI实施起来较为复杂,投入较大,对咨询师的要求高,如果先用容易实施的PSP/TSP打好基础,再实施CMMI将取得事半功倍的效果。
  参考文献:
  [1]PSP(sm):A Self-Improvement Process for Software Engineers.Reading,MA: Addison-Wesley,2005.
  [2]Humphrey W.S.A Discipline for Software Engineering.Reading,MA:Addison-Wesley,1995.
  [3]Humphrey W.S.Winning with Software:An Executive strategy.Boston:Addison-Wesley.2002.
  [4]Humphrey W.S.Managing the Software Process.Reading,MA:Addison-Wesley,1989.
  [5]Davis N,Mullaney J.2003,Team Software Process (TSP) in Practice. SEI Technical Report CMU/SEI-2003-TR-014, 2003.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:电子表格Excel具有强大的计算功能,它提供了一种描述问题、建立模型、处理数据与求解的有效工具。通过汽车维修设备投资中的一个实例,说明它在计算机仿真决策中的应用。  关键词:计算机仿真;数学建模;设备投资;Excel   中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)06-11678-03  现实生活中的大多数系统的动态行为都十分复杂,涉及许多不确定或未知的变化
期刊
摘要:本文主要介绍使用Word制作手抄报的方法。  关键词:使用Word;手抄报  中图分类号:TP317文献标识码:A文章编号:1009-3044(2007)06-11739-01    1 引言  手抄报是语文活动的一种常见形式,是由学生自己选材,组稿,编辑,并用手抄写的报纸。随着办公自动化的发展,使用Word制作手抄报就很简单了。下面介绍使用Word制作手抄报的方法。    2 制作前的准备
期刊
摘要:简要介绍了多媒体 CAI 教软件的特性,利用 Authouware 作为工具,结合C语言教软件的开发,阐述了多媒体 CAI 教软件开发过程和开发方法。结合C语言教学软件的开发,介绍多媒体CAI软件的特点及开发过程。  关键词:CAI;课件;开发;Authorware  中图分类号:TP311 文献标识码:A文章编号:1009-3044(2007)06-11731-02    1 引言  “多
期刊
摘要:本文通过具体实例量化比较研究,得出在Visual Basic环境下快速数据库图像存取的方法,对于其他多媒体信息存取与编程环境也有一定的借鉴作用。  关键词:图像存取;ICB方法;CKA方法  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11719-02    1 引言  图形图像、音频视频等多媒体信息在数据库中存储不同于传统的文本、数字等有着非常规范的结
期刊
摘要:对UNIX环境下的IPC机制进行了研究。着重探讨并分析了UNIX下的各种IPC机制的用法及其优劣。重点研究了如何通过综合运用IPC机制,设计一个具有高可用性与高伸缩性要求的商业银行重要应用系统。  关键词: UNIX;进程;内部进程通信;银行应用系统  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)06-11684-04    1 引言  UNIX操作系统自七十
期刊
摘要: 文中介绍了对Mapinfo进行二次开发的三种常用方法,即利用MapBasic语言、Mapx组件、OLE技术等三种方法,并且从对图元的加载、查询定位、以及编辑浏览等方面对这三种技术进行对比研究;最后结合实例“传媒软件”综合运用这三种方法。  关键词:Mapinfo;Mapx;OLE;MapBasic   中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)06-11
期刊
摘要:文章介绍了文档视图结构的窗口分割技术,并通过实例,提供相关的主要代码,手工实现基于MFC的单文档多视图的窗口分割,以及多视图之间的通信。用户可以根据需求应用这种方法实现窗口各式各样的分割,可扩展性好。  关键词:文档;视图;窗口分割;MFC  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11604-01    1 引言  在Microsoft VC++
期刊
摘要:通过对蓝牙核心规范1.2的主机控制接口的研究,分析蓝牙基带层和主机侧的通讯机制以及通讯方法。并举例说明了一些蓝牙基本命令和事件,解释了相关接口,在此基础上能够方便的进行蓝牙HCI层的开发。  关键词:蓝牙;HCI;基带;流量控制  中图分类号:TP399 文献标识码:A文章编号:1009-3044(2007)06-11671-04    1 引言  蓝牙是无线数据和语音传输的开放式标准。蓝牙
期刊
摘要:精品课程是具有一流教师队伍,一流教学内容,一流教学方法,一流教材,一流教学管理等特点的示范性课程。在建设医学精品课程中,为了避免信号损失或信号质量下降,我们利用了IEEE1394技术。通过IEEE1394接口,可以用摄录设备来播放和采集视频,也可以将计算机上编辑好的视频下载录制到录像带或其他媒体上。  关键词:精品课程;IEEE1394;视频采集;应用  中图分类号:TP399 文献标识码:
期刊
摘要:一般PowerPoint课件是直线型流程,本文采用分支结构的思路对其课件结构进行了设计,从而使课件在教学内容选择和导航系统方面更加方便和完善。  关键词:课件;分支结构;页面;导航;超链接  中图分类号:G434 文献标识码:A文章编号:1009-3044(2007)06-11762-02    1 引言  教学课件的结构,能体现教学内容概要、各个部分内容的连接关系以及整体呈现形式,并且这种
期刊