技术开发 频道

增强团队战斗力的法宝:TSP



【IT168 专稿】

一.概述
TSP(Team Software Process),即团队软件过程,它能与PSP(个人软件过程)结合在一起,帮助高效工程师来确保高质量产品、生产安全的软件产品和改进组织的过程管理。工程组可以使用TSP将集成团队概念应用到软件密集系统的开发中。
TSP扩展和完善CMMI和PSP方法,指导工程师开发和维护团队的工作,它展示如何建立一个自我导向的团队及如何扮演一个有效团队成员的角色,它还向管理层展示如何指导和支持这些团队和如何维护一个培养团队高绩效的环境。在学习TSP时,将讲述如何创建高效且具有自我管理能力的工程小组、工程人员如何才能成为合格的项目组成员、管理人员如何对群组提供指导和支持,以及如何保持良好的工程环境使项目组能充分发挥自己的水平等软件工程管理问题。
 
二. TSP的目标
TSP帮助团队领导者完成如下三个目标:
(1)       组建一支自主型的团队;
(2)       激励团队完成分配的工作;
(3)       在工作中维持团队的动机。
下面分别从如上三个方面进行详细讲述。
1.组建自主型的团队
在组建自主型团队前,首先需要弄清楚何谓自主型团队?
自主型团队具有如下五个特征:
(1)       成员感和归属感;
(2)       对团队共同目标的承诺;
(3)       过程和计划的自主权;
(4)       制订计划的技能以及遵循计划的纪律性;
(5)       致力卓越。
至于如何构建自主型团队的过程在后续的小节中将详细描述。
2.激励团队完成分配的工作
激励团队具有如下要求,总结为如下几点:
(1)       团队必须承诺可以完成工作;
(2)       承诺必须是自愿、可见和可信的;
(3)       承诺必须和团队及其成员联系起来。
因为动机引发行为,所以要激励团队成员完成分配的工作,首先必须使得团队成员具有相应的动机。动机是引起行为的一种刺激。例如衣食住行是我们最基本的动机。
目标是动机的一个重要因素。个体认知之间的关系会影响个体的行为。当个体具有相互矛盾的观点时,他的认知是不协调的。而在个体为了达到某个目标而努力时,提供反馈是相当重要的,反馈能使个体扬长避短,从而不断得到改进。
恐吓、贪念和承诺是三种主要的激励手段,而其中承诺对于开发工作来是一种最有效的促进因素。承诺是对某件事情的一种许诺。承诺的要素是协商、约定和绩效。激发开发团队的是自愿、可见和可信的承诺,而且这个做出承诺的人必须是完成所需工作的人,
3.在工作中维持团队的动机
在工作中维持团队的动机可以采取如下五种方式:
(1)将长期目标细分成短期目标:在实际项目中,项目周期一般为数月或数年,时间跨度比较大,所以项目目标只能算是个远期目标,而远期目标由于其不能及时反馈,因此用它来激励团队成员效果不大,因此也难以维持动机。为了长时间维持动机,需要将长期目标细分为多个短期目标(或里程碑目标),及时的对这一系列目标提供反馈。
(2)满足每一个短期目标;
(3)跟踪和定期评审团队的计划进度;
(4)就短期目标(或里程碑目标)提供团队绩效的定期反馈;
(5)对于感觉无法完成的承诺,需要采取措施改变此种感觉,要么改变团队计划,要么改变管理层的目标。


三.   组建自主型团队
组建团队时,首先需要得到管理层的许可,从来达到使用所需资源的目的。
在这之后,为了对招募人员做好准备,第二步是需要确定人员必备的技能,而必备技能又分两方面,一方面是技术方面的技能,分应用领域、产品技术以及工具和方法三个类别,而另一方面指的是团队协作的技能,包括评估和计划、质量管理和人际行为三个方面。
在确定了必备的技能以后,第三步是根据这些必备要求来招募人员。不过在实际项目中,往往团队领导者在接手项目的时候,人员往往已经大部分或全部选好了,不过在这种情况下,确定必备技能还是很有必要的,因为团队领导者可以根据情况为项目组没有达到必备条件的人员准备必要的培训或提供支持。
最后一步是根据团队的实际情况以及确定的必备技能对团队人员进行必要的培训。例如进行培训等,对于技术方面的技能,还需要有相关经验的专业人员进行培训。
 
四.启动团队
组建团队的工作完成之后,接下来就是要进行启动团队工作。TSP的启动过程需要有9次会议,按时间次序这9次会议如下所示:
(1)            第一次会议为首次管理层会议。在该次会议上,一名或多名高级管理人员要和团队领导者以及团队碰面,描述想要开发的产品、所有重要的项目约束、指定期限、人员限制或独特功能性需求等,并要求团队领导者和团队成员准备一份工作计划;
(2)            评审团队目标,并达成一致,选择团队成员角色;
(3)            定义团队完成工作的策略和过程;
(4)            制订整个或下一阶段的工作计划。当计划不能满足管理层的需求时,至少要制订一份能满足管理层的进度要求的备选方案,以及一份可以使用分配的资源完成任务的方案;
(5)            制订团队的质量计划;
(6)            为团队的每个成员制订详细的近期计划,然后对这些计划进行平衡;
(7)            执行风险评估,为最重要的几种风险设计缓解计划;
(8)            准备管理层报告和启动报告,向管理层描述团队的计划;
(9)            举办管理层评审。
最后一次会议完成之后,相关人员还需要进行启动后的分析。


五. 团队的协作
       第9次会议管理层评审通过之后,团队的启动工作团队完成,团队领导者和团队开始投入工作。因为在启动团队的过程中制订了详细的计划,因此在工作时值只需要遵循计划即可。
       团队领导者需要推动团队人员遵循计划,以便帮助团队成员完成工作,对其工作进行追踪并记录其数据。当然,在实际项目中,计划一般都是存在一些不准确的地方,当发现过程和计划不准确时,团队领导者需要改变过程和计划,以便使得过程或计划可以帮助团队完成任务。要解决计划不准确以及变化太快的问题,最好的办法就是进行动态规划,即经常进行计划。动态规划还能防止需求蔓延现象的发生,使得项目不至于淹没在细小的变更中。
       开发工作的实质是确定并解决问题。有了详细的计划以及TSP的任务和时间度量,团队就可以确定自己所处的位置,从而对进度情况进行跟踪。若项目错过了其承诺的完成期限,则需要尽可能的组织好改进计划,从各处获得需要的帮助。
 
六.             培养团队和团队成员
1.    培养团队
团队是一个整体,要培养团队,首先需要理解团队的问题,并帮助团队解决这些问题。为了了解团队的情况,首先需要对团队的成员感、目标、自主权、计划、质量承诺的其功能可进行评估。
团队成员感指的是在团队中,每名成员都感觉自己确实是成员,都被其他成员认同,这是由所有成员的态度和感觉所决定的。通过团队成员的简洁沟通、频繁的团队会议、公开的解决问题和使用公共的场所都可以增加团队成员的归属感。
高效团队的成员都承诺于一组共同目标,而且这组目标应该是可度量的。还需要将度量的结果及时的反馈给相关成员。
在团队启动的时候,策略、过程和计划都是团队自主制订的,因此团队在这个时候就开始建立了自主权。而在团队启动后,团队成员必须继续拥有自己的过程和计划。
计划是团队在某个时刻认为工作应该如何完成的一种快照。因此在团队的每次启动或重新启动都要坚持维护计划。计划为团队提供了一些需要做的工作的一些参考,因而能够对团队成员的行为进行引导。
在软件行业中,质量是根本。团队对质量的承诺组成了团队开发策略的基础。而团队的工作质量受团队成员工作质量的影响。因此团队领导者在和团队一起工作时,应该让团队成员相信质量的重要性。
2.    培养团队成员
需求、设计和实现工作对团队成员在智力上更具有激励作用,因此团队领导者为了保持团队成员的工作更加有乐趣和充满挑战,应该尽量让测试和调试时间报此在项目进度的10%左右或更少。
看待人员绩效的一种方式是站在任务和关系成熟度的角度来看。这种框架为理解开发人员的能力、选择训练、评价和支持策略提供了一种有效的基础。
在对团队成员进行评估时,个人数据是敏感的,非常好的的方法是避免在评价时使用数据,而应该向团队完全公开如何评价他们。
对于棘手的团队成员,要花时间倾听和理解,要试着对其进行激励或者与上司一起讨论问题,如果这些方法都不行时,要采取强硬的立场。
 
七.             总结
本文从TSP的目标、如何构建自主型团队、如何启动团队、团队的合作以及如何培养团队和团队成员方面对TSP进行了详细讲述,使得读者能比较全面的理解TSP,对TSP有一个感性的认识。
0
相关文章