当前位置:文档之家› 基于Eclipse平台的TSP——PSP工具的研究与实现

基于Eclipse平台的TSP——PSP工具的研究与实现

上海交通大学

硕士学位论文

基于Eclipse平台的TSP/PSP工具的研究与实现

姓名:黄常宝

申请学位级别:硕士

专业:软件工程

指导教师:张忠能;徐良贤

20041201

基于Eclipse平台的TSP/PSP工具的研究与实现

摘要

TSP/PSP是轻量级的团队软件/个体软件过程大量的实践证明

TSP/PSP能显著地提高软件开发的效率可预测性和规范性指导工程师和项目组的持续改进它可以帮助他们进行度量计划跟踪项目以及

提高产品质量有数据表明通过使用TSP/PSP过程规范生产率提高了20%-150%减少了系统99%缺陷TSP/PSP是一种量化的软件管理过程其成功关键因素之一是软件过程数据的收集统计与分析可是数据

的收集与统计会给工程师与团队带来额外的负担这已成为TSP/PSP成功实施的主要障碍

本文旨在基于Eclipse平台开发一个TSP/PSP工具自动搜集开发者的过程数据把数据处理结果呈现给工程师使团队能方便地应用TSP/PSP过程显著提高团队工作效率和开发质量

根据当今的软件项目质量管理方法软件项目项目管理特点以及对

现有TSP/PSP工具的分析本论文研究是采用统一开发平台Eclipse灵活的指标设计以及过程数据库管理充分考虑了工具的易使用性扩展

研究还发现企业应用CASE过程工具使企业对自身过程能力的管理也变得很容易工具的另外设计目标是提高开发团队过程数据系统

与企业系统集成企业获取过程数据与在图书馆查询一样便利整个组

织管理质量和产品质量才会得以提高

本文首先分析和研究了TSP/PSP的过程和原理在此基础上提出了一种TSP/PSP工具的设想并进行了需求分析可视建模数据库设计及具体实现最后对相关工具进行了比较指出本工具的特点

关键词 TSP/PSP工具 Eclipse插件软件质量软件过程改进项目管理

Research and Implementation of a TSP/PSP Tool Based On Eclipse

Platform

ABSTRACT

TSP/PSP is the lightweight Team/Personal Software Process. Much practice has proved that it can improve the efficiency, predictability and formality of the software development. It can instruct the engineer and the teams to improve continuously help them to measure, plan and trace the project and enhance the quality of the product. TSP/PSP is a kind of quantity software management process and its key element of success is the collection, statistics and analysis of the process data. But the additional data collection and statistics give the person and team extra burden and it has been the main obstruction to actualize the process successfully.

This thesis discusses the TSP/PSP tool developed on Eclipse platform .It can collect the process data automatically, present the result to the engineer, enable the team to apply the TSP/PSP process conveniently and improve the efficiency and development quality remarkably.

According to today method of software project management, software quality management and analysis of TSP/PSP tool, the universal platform—Eclipse, flexible indicator design and process management of process with database are adopted in research of the thesis. The thesis think over conveniency, extensibility of tool.

Research also discovers that it make easy to manage the self process data for organization, if the process tool of CASE are applied. The other purpose of the tool design is integration with system of team development and organizes system information. If acquirement of process data is convenient as the inquiring at library, the quality of organization and product will much improve.

The thesis analyzes and investigates the process and principle of TSP/PSP process at the first, then proposes an assumption about the TSP/PSP process and realizes requirement analysis, visual modeling, database design and detail design. Finally we compare with other tools and give out the characteristic of the tool.

Keywords: TSP/PSP, Eclipse Plug-In, Software Quality, Software Process Improvement, Project Manage

.

上海交通大学

学位论文原创性声明

本人郑重声明所呈交的学位论文是本人在导师的指导下

独立进行研究工作所取得的成果除文中已经注明引用的内容外

本论文不包含任何其他个人或集体已经发表或撰写过的作品成果

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式

标明本人完全意识到本声明的法律结果由本人承担

学位论文作者签名黄常宝

日期2005 年5月 21日

上海交通大学

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留使用学位论文的规定

同意学校保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅本人授权上海交通大学可以将本学位

论文的全部或部分内容编入有关数据库进行检索可以采用影印

缩印或扫描等复制手段保存和汇编本学位论文

保密在年解密后适用本授权书本学位论文属于

不保密

请在以上方框内打

学位论文作者签名黄常宝指导教师签名张忠能

日期2005 年5月 21日日期2005 年5月 21日

第一章概述

1.1 研究背景

1.1.1 软件过程

随着软件业的发展软件业在国民经济中起着越来越重要的作用信息技术极大地改变了人们的生活方式因此软件质量也引起了人们的密切关注大量的项目延迟重复设计设计低劣经费超支甚至无法完成促使人们开始重视对软件工程的研究随着软件新方法工具的出现以及高素质的软件工程师的培养一定程度地降低了软件开发的复杂度但是软件不同于其他行业其软件过程工程需要更多的努力软件过程工程可以促进软件开发组织对自身能力的评估与度量使新方法新工具得以有效的利用

但是软件开发是智力密集型的活动与人的因素直接相关人员的管理也采用期望式管理这对达成项目目标存在一定的风险传统的方法是定期例会现场督导项目阶段交付等方法纠正软件开发过程错误方向这对范围小复杂度小的软件系统是有效的但对规模大复杂度高的软件系统就有些难度它需要采用更为高效灵活的软件过程

软件过程是指用以开发和维护软件及其相关产品例如项目计划设计文档代码测试用例用户手册等的一系列的方法时间活动和转化包括软件工程活动和软件管理活动

一系列的软件过程模型与理论被提出来使人们对软件过程认识逐渐清晰起来软件过程的要素活动角色的抽象与分析为软件开发活动提供了宝贵的指导在此基础上更多的软件过程实践被引入开发过程当中如极限编程敏捷过程UP

TSP/PSP 等增强了人们对软件过程风险控制的能力

1.1.2 软件过程中的团队

大多数软件过程都要求团队共同努力在很多组织中团队是指一组在一起互相合作的人但重要的是软件工程师和软件开发团队中的任何成员都必须很好地理解团队交互是重要的因素为了满足行业的需求开发团队必须部署方法过程软件与语言框架和工具软件开发面临的挑战是严酷的并且总是在增加尤其在一个始终以最快的速度创造产品始终以少胜多的行业中直到现在软件开发语言和工具的进步主要集中于提高个人软件开发者的生产效率但是这方面的收获没有显著地提高团队的生产率而生产率对软件开发项目的成功却有着很大的影响

大多数软件开发项目都很大很复杂不可能由一个开发者独立完成软件开

发终究一组人的努力只有通过软件开发团队的努力一个组织才能以一种可重复的可预测的和可持续的方式交付高质量的软件系统协同工作通常是软件工程的关键

[8]

一个优秀的团队并不一定完全由最好的设计人员和开发者组成一个优秀的成员组成的团队并非总能产生最佳的团队结构不要过分追求建立有技术过硬的个人组成的团队重要的是一个团队必须是一组拥有建设性的人际关系技巧的人一个团队很少会自发产生而是要对它加以建设即团队是从一组个人发展起来的为了增进个人间的协作和对团队的结构进行组织许多工程专家对团队工作的各种特征进行研

究例如小组中成员之间的相互关系度量和评估团对工作量的方法以及关于小组结构和生产率的技术人们在一起互相合作的形式很多一个基本的团队可以由同一项目中的人聚集在一起而组成他们使用相同的工具并在相同的环境里工作凝聚的团队是一组具有互补技能的个人他们致力于共同的项目目标共同的性能目标以及一种它们互相负责的通用的方法的团队

为了使一个团队取得成功组成团队的所有个人应当具备所需要的相应技能团队还需要一种凝聚因素,凝聚的团队的成员非常牢固地结合在一起以至于整体的效

果大于部分之和正如各种规范中讨论的那样软件开发过程可以被视为从几个风险承担者提出需求开始的一个迭代过程每个风险承担者对需求都有不同的理解经过一系列步骤以后风险承担者朝着一个共同的观点和结果发展随着风险承担者对所要建立的产品的共同理解增多他们逐渐集中到一种共同的工作分配方法上在这个集中过程中风险承担者逐渐成为一个内聚单元从而将产生一个小组或者一个团队[2]

正是由于群体工作产生最优秀的软件产品而不是个人成就尽管个人软件开发

者通常可以编写大量的软件代码但是现代软件规模的快速增大复杂性的不断上升以及按时交付产品的要求使个人仅仅由于缺乏时间就不可能独自建立一个大型系

统几乎所有的软件系统设计和开发都是由小组实现的小组中定义了许多角色也许并没有很明确定义小组成员间相互依赖标志着从一个小组转移到一个团队团

队方法是共同承担一个项目的一种临时的但是专业的方法他们能够通过协商的决策和创造性的设计过程实现创造性的目的且可预测的结果这种集体行为的特征是

在执行一个小组任务时小组成员倾向于以一种互相依赖的方法协调评估和利用其他小组成员的输入即团队成员互相合作并从每个团队成员追求共同的目标中建立贡献

团队不会自然产生只能通过团队建设才会产生[2]团队成员经过一系列明确定义的步骤了解如何在一起协同地工作来实现共同的目标共同的目标意见是形成一个凝聚团队的关键为了使团队有效地工作其目标必须具体并且可度量例如目标可以是一个详细的计划业绩目标质量目标或者进度里程碑一旦团队定义了它的目标团队成员就可以在开发产品和完成工作的策略和计划上取得一致意见还必须明确定义各自任务并表示为团队开发过程的一部分团队成员应当注意团队的任务和责任以及谁在团队中谁不在团队中团队中的每个人都应当互相认识每个人的工作都应当可见并且每个人知道任何其它团队成员的角色

团队应当对其任务进行控制成员应当知道他们的任务是什么怎样执行及何时执行同时他们还应知道任务何时完成成员必须清楚知道他们负责自己的工作并且他们还应遵循能完成项目所需的正确的过程团队成员应当意识到他们执行某项任务的能力以及谁负责完成它团队成员还必须能够区分他们自己的业绩和团队的业绩每个人都有独特的技术和个性他们必须匹配手头的需要和适应组织的开发变化通过使用能够使团队成为一个整体的工具团队生产率可以得到提高需要根据一个公共的过程语言和制品继承来统一团队的工作开发团队的每个成员能够必须对制品的语义和用来建立和维护制品的方法有一致的理解开放式的沟通是建立一个凝聚的团队的关键使团队成员看到所有必须的制品这可以使沟通更容易团队结构在不断地发展而且随着Internet的出现一些团队活动可以在不同的时间范围内执行也可以在不同的地理位置执行因此团队需要某些以Web为中心的工具因为Web是以公众形式提供用户访问和信息交换的载体

1.1.3 PSP/TSP概况

PSP是由CMU/SEI的W. S. Humphrey主导开发的过程框架它使软件工程由定向走向定量PSP是一种可以控制管理和改进个人工作方式的自我完善过程是一个包括软件表格指南和规程的结构化框架PSP提供了具体而有效的软件过程方法例如如何制定计划如何控制质量如何与其他人相互协作等在软件设计阶段PSP的着眼点在软件缺陷的预防其具体办法是强化设计结束准则而不是设计方法的选择有数据显示在应用PSP后软件中的总缺陷减少了58.0%在测试阶段发现的缺陷减少了71.9%生产率提高了20.8%PSP研究结果还表明绝大多数软件缺陷是由于对问题的错误理解和简单失误所造成的只有很少一部份是由于技术问题而产生的而且根据多年来的软件工程统计数据表明如果在设计阶段引入的缺陷这个缺陷在编码阶段会引发3~5个新的缺陷要修复这些缺陷所花的费用要比修复这个设计缺陷所花的费用多一个数量级PSP保证软件产品质量的一个途径是提高设计质量

因为PSP与具体的技术程序设计语言工具或者设计方法相对独立所以其原则上能够应用到几乎任何的软件项目中

PSP帮助软件工程师在个人的基础上运用过程原则借助于PSP提供的一些度量和分析工具了解自己的技能水平控制和管理自己的工作方式使自己日常工作评估计划和预测更加准确更加有效进而改进个人的工作表现提高个人的工作质量和效率积极而有效地参与由管理人员和过程人员推动的组织范围的软件过程工程改进

TSP对团体软件过程的定义度量和改进提出了一整套原则策略和方法在

TSP中W. S. Humphrey讲述了如何创建高效且具有自我管理能力的软件工程小组工程人员如何才能成为合格的项目成员管理人员如何对群组提供指导和支持如何保持质量好的工程环境使项目组能充分发挥自己的水平等软件工程管理问题TSP 实施集体管理与自我管理相结合的原则最终目的是指导一切人员如何在最少的时间内以预定的费用生产出高质量的软件产品所采用的方法是对小组软件开发过程的定义度量和改进

在实施TSP的过程中开发人员坚持自我管理的原则项目开发小组应该按照集体管理的原则

当前版本的TSP使用23个过程指南14个数据表格和3个标准在这些过程指南中定义了173个启动和开发步骤每个步骤都不复杂但他们的描述都非常详细

以便开发人员能够清楚地知道下一步应该做什么应该怎样去做这些过程指南可用来指导项目团队完成启动过程和一步步地完成整个项目

1.1.4 目前的TSP/PSP工具

TSP/PSP自动化工具完成数据自动收集分析项目计划跟踪等帮助工程师与项目团队减少工程师负担增强他们对过程控制与过程改进的能力在过程工具的帮助下工程师与团队更能专注于过程的改进提高产品质量

目前TSP工具比较少我们仅能查到的TSPi它是Microsoft Excel 的表格是TSP表格的电子表格形式只具有较少的数据处理能力它没有数据处理自动采集的功能过程数据需要手工输入

目前的PSP工具主要集中于PSP规范要求的功能缺乏与工程师当前的项目有

效的关联提供给工程师的帮助有限并且在易用性灵活性数据的灵活处理等方面这些工具还需要进一步的加强更进一步的介绍可以参考本文的第五章的相关部

分这里不再赘述

1.2 研究目标与意义

过程工具相对其它设计领域的工具有很大的不同首先软件过程实践性很强其规律与技术至今还没有形成统一的共识其次对过程工具的研究也是较少对过程需求过程数据利用过程工具来指导软件过程的相关讨论也是不多的以下本文讨论的过程工具无特殊说明均指TSP/PSP过程工具

本文认为过程工具的需求过程数据的定义用户界面等都是设计过程工具时需要考虑的因素工具的设计首先要解决特定的问题帮助软件开发人员把重复的劳动容易出错效率低下的等问题交给工具去解决灵活的过程工具可以提高软件过程实施的有效性

过程数据表示也是过程工具设计的重要环节过程的数据量并不是特别多但是对数据的定义与解释随着不同过程而异为度量计划跟踪的个人团队和组织都需要不同层次的数据往往过程数据都是基于自然语言的描述并不能深刻揭示这些数据之间的关系即使是关键元素也随着过程不同描述也不一致即缺乏统一的工程统一表示方法它们给过程工具的设计带来很多不确定性

过程工具解决特定的软件过程问题它与实际开发环境往往在不同的用户界面下使用与实际工作环境缺乏一致界面人们需要对具体的工具重新建立概念重新痛苦的学习一种新的工具来解决特定的问题这也会为软件开发带来不确定性本文研究的工具试图去建立使用以下的设计方法设计过程工具

1) 设计简洁构架清楚很容易扩展软件工程师和软件团队常常不会使用

全部的TSP/PSP功能他们最关心的是过程数据是否对他们的改进起作用把整套的TSP/PSP流程全部交给团队与工程师可能会加大他们的负担灵活的设计允许团队和工程师自己选择与创造过程指标才会对项目更加有用我们工具的设计是基于Java实现可以跨平台使用设计仅对过程数据进行整理很容易与企业的其它系统集成

2) 采用关系数据库来存储与统计数据使工具存储处理数据相当方便利用

JDBC接口采用集中式的数据库管理形式进而为开发企业信息平台提供很好的扩展性

3) 建立在Eclipse平台上工程数据在很短的时间内非常多情况下将加大工程师因输入数据带来额外的负担例如工程师在编译阶段产生很多缺陷,那么开发

者会频繁地在工作的环境与过程工具间进行切换同时这种繁琐的功能工作会为当前的工作带来风险这时使用传统的纪录方法反而会更加有效目前Eclipse平台可以

支持进行大多数的开发工具因此采用Eclipse 实现这个工具带来相当多效率符合软件工程原则

1.3 论文结构

本论文主要分为以下六个部分

第一章即本章介绍了论文研究的背景提出了本文研究的目标

第二章介绍了TSP/PSP 团体软件过程/个体软件过程它是过程实施的基础是实现PSP/TSP工具的需求来源也是如何利用工具实现过程的理论基础第三章研究了Eclipse IDE平台的特点以及插件开发模型

第四章从PSP/TSP工具的需求出发从构件模块数据库界面等方面对工具的进行全面设计

第五章比较其它同类工具以及在使用本文设计工具的情况下的过程改进以及适用的原则

第六章对论文进行了总结指出了PSP/TSP工具设计存在的不足以及将来需要做

的工作

1.4 小结

本章对本文研究的内容做了简单的概述包括软件过程软件工程团队和

TSP/PSP并列出了本文的结构随着软件开发复杂度增加过程的风险在一定程度上远远超过技术上的风险下一章节是对软件过程和PSP/TSP进一步的阐述为接

下来的研究设计实现做准备

第二章 TSP/PSP 过程

2.1 软件过程改进

前面提到软件过程是指人们用以开发和维护软件及其相关产品的一系列的方

法时间活动和转化包括软件工程活动软件管理活动

软件工程管理与其它工程管理相比有其特殊性首先软件是知识产品进度和质量都难以度量生产率也难以保证其次软件系统的复杂度也是超乎想象的在对现实世界认识不足去刻画现实世界并安全可靠的达到预期的质量是相当不容易

的针对如何进行软件过程管理与改进许多人提出了各种各样的方案组织的过程模型主要是为了满足组织的活动的需要而开发的其内容可以有三种不同的来源个人经验参考模型过程工具

Carnegie Mellon 大学软件工程研究所开发了软件能力成熟度模型CMM目前学术界和工业界公认软件能力成熟度模型CMM是当前最好的软件过程模型已成为业界事实上的软件过程的工业标准

李.奥斯特魏尔(Lee Osterwei)在1987年写道软件过程也是软件[19]实际上

软件开发过程是一个复杂的制品极像一个复杂的分布式的并行的软件程序但这毕竟是软件项目团队的成员运行的程序为了设计一个过程为了比较和评价不同的软件过程为了推断出过程及其缺点为了把一个过程交给他人使用过程工程师和方法专家发现某种程度的形式化和建模功能是有用的此外一旦有了一个过程模型则更容易用CASE工具例如一个规划工具或者一个活动管理工具实现一个过程交换过程组件以及提供过程的某种可视化模型适用于推导概念的抽象表示对于像软件工程那样复杂的事务可以在几个抽象级上建立模型如图2.1 所是建模等级展示了对象管理组OMG定义的四层建模构架

图2-1 过程建模等级

Fig. 2-1 Process Model Hierarchy

执行过程即实际生产过程它是在软件开发期间定制的所以它在M0级相应过程的定义和描述在M1级例如Rational 统一过程(RUP)一个通用的过程以及一个给定的项目的对这种过程进行定制而得到的过程他们都处于M1级元模型处于M2级元模型描述所有这些过程描述的共同之处M3级是一个基于元对象工具Meta-Object Facility简称MOF的元模型用来与其它基于原对象工具之间的交流更加容易MOF是OMG采用的用于定义和交换元数据的技术元对象工具元

模型可以用UML语法的一个子集进行表示建立元模型作为过程创作工具的基础将来利用XML编码的过程描述以公共的过程元模型将是各个过程簇之间的过程要素的交换成为可能

TSP/PSP 是结合软件过程项目管理与软件质量管理方法与已往的工程经验

它既强调软件产品的复杂特性与人在软件开发中的表现特征又强调质量是项目管理的重要性充分激励成员可用的计划性和跟踪性有可能使高层管理人员摆脱繁重的项目管理阴影

TSP/PSP 过程是对CMM 的有益的补充它指导Team如何建立指导成员有效的沟通与工作计划跟踪与管理自己的工作进度平衡他人的工作能力了解项目的进度评测项目的风险对软件质量有效的管理与控制成员有效支持与学习共享

2.2 个体软件过程PSP

2.2.1 PSP过程改进

PSP是一种可以控制管理和改进个人工作方式的自我完善过程因为PSP

与具体的技术程序设计语言工具或者设计方法相对独立所以其原则能够应用到几乎任何的软件工程任务之中个体软件管理根据自我管理活动类型可以分为时间管理产品/项目管理质量管理等时间管理是个体过程改进的前提工程师

应当使用工程记事本记录自己工作的活动并对活动所占用的时间每周加以统计以便更好的管理自己的时间产品项目管理是工程师依据自己的时间与能力安排活

动并跟踪这些活动使自己的活动更加合理高效质量管理是PSP的重点主要内容是对自己缺陷管理如缺陷的引入发现移出预测等活动PSP还提供了代码复查等质量控制工程方法

个体软件管理也可以根据设计活动阶段来划分并随个人的能力与成熟度不同而异如图2-2软件过程改进所示这些活动可以分为测量计划跟踪与改进测量是对任务的估计当估计值与实际值相符时说明个体的过程稳定计划是对产品项目活动的安排工程师要根据时间与能力来安排这些活动跟踪是对开发活动加以记录主要包括时间缺陷等情况改进是对开发活动与计划加以分析找出问题的所在并尽可能在后续的开发活动中加以改进

图2-2 软件过程改进

Fig. 2-2 Software Process Improvement

从图2-2可以看出PSP

可以帮助软件工程师在个人的基础上运用过程的原则

借助于PSP 提供的一些度量和分析工具

了解自己的技能水平控制和管理自己的工作方式

使自己日常工作的评估

计划和预测更加准

更加有效进而改进个人的工作表现提高个人的工作质量和效率积极而有效地参与由管理人员和过程人员推动的组织范围的软件过程工程改进

2.2.2 PSP 计划和质量 PSP 计划和质量原理有以下几点

1每个工程师都是互补的他们都有自己的特点为了能够发挥自己最大的工

作效率工程师都必须对自己的工作做计划

2为了协调一致地改进工作性能工程师必须使用定义好的

可测量的过程 3

为了生产高质量的产品工程师必须对质量负责好产品是无缺陷生产的所以每一个工程师都必须致力于高质量的工作

4在过程的早期发现和纠错所花的费用要比后期发现和纠错所花费的费用少的多

5预防缺陷比发现和纠正缺陷的效率高的多

项目计划为每项任务作了明确的定义估计了要花费的时间和需要的资源还为管理者监测和控制项目提供了一个框架项目越大制定项目计划就越重要经验越多计划的准确性就越高所花费的时间就越少在制定项目计划时可以只估计产品的规模和完成任务所需要的时间在项目结束时把记录下来的规模和时间的数据与估计数据进行比较和分析以便今后做出更准确的估计

2.2.3 PSP 阶段与脚本

PSP过程的各个阶段大致可以分为计划阶段设计阶段设计评审阶段编码阶段代码评审阶段测试阶段剖析阶段

因为PSP过程有许多方法工程师还不了解所以介绍PSP方法用了一系列的7个版本[1]这些版本用PSP0到PSP3来标识每个版本有一些类似的日志表格脚本和标准过程脚本定义了每一个过程的步骤日志和表格提供了记录和存储数据的模板标准指导工程师工作PSP脚本也叫操作过程它是一个设计用来应用的过程

2.3 团体软件过程TSP

2.3.1 TSP过程改进

TSP对团体软件过程的定义度量和改进提出了一整套原则策略和方法在

TSP中描述了如何创建高效且具有自我管理能力的软件工程小组工程人员如何才能成为合格的项目成员管理人员如何对群组提供指导和支持如何保证质量好的工程环境使项目组能充分发挥自己的水平等软件工程管理问题TSP实施集体管理与自我管理相结合的原则最终目的是指导一切人员如何在最少的时间内以预定的费用生产出高质量的软件产品

实施TSP的过程中首先要有明确的目标开发人员要努力完成已经接受的任务在每个阶段的开始开发人员要认真做好工作计划开发团队一方面应该随时跟

踪项目进展状态并进行定期汇报另一方面还应该经常评审自己是否按PSP的原理工作开发人员应该按照自我管理的原则管理软件过程如发现过程不合适应及时改进以保证用高质量的过程来生产高质量的软件项目开发小组则应该按照集体管理的原则全体成员都要参与和关心小组的规划进展的追踪和决策的制定等项工作

2.3.2 TSP 关键概念

TSP指导团队通过小组常见步骤来确定目标选择角色制定计划以及保持小组成员间的交流

目标: TSP是通过使所有成员参与目标定义过程的方法帮助小组成员们接受共同的目标TSP定义了一些团队和团队成员目标在第二个周期及其后的TSP周期中小组应当根据他们第一个周期的开发经验来复核并且调整这些目标

角色: TSP的角色主要包括小组领导开发经理质量\生产经理计划经理和技术支持经理这些小组角色覆盖了小组活动的主要范围

计划小组确定了目标分派好角色后就要确定一个达到这个目标的策略了第一步是如何把整个工作分成很多部分以便纳入几个开发周期中

交流TSP通过提供迅速而准确的基本原则来增进小组内的交流根据他们确定的角色过程计划和度量方法团队成员可以快速简要地交流这使交流更有效率而且为统一意见提供了坚实的基础

TSP给予以下4条基本原则

1遵循一个确定的可重复的过程并迅速的过程反馈这样才能使学习和改进

更有成效

2一个团队是否高效使有明确的目标有效的工作环境有能力的教练和积

极的领导各方面因素的综合作用所确定的

3注意及时总结经验教训

4注意汲取前人和他人的经验

TSP的设计原则包括

1循序渐进的原则首先在PSP的基础上提出一个简单的过程框架然后逐步完善

2迭代开发的原则选用增量跌代开发方法通过几个循环开发一个产品

3质量优先的原则对按PSP开发的软件产品建立质量和性能的度量标准

相关主题
文本预览
相关文档 最新文档