《团队软件过程(修订版)》—第2章2.6节TSPi如何建设团队

本节书摘来自异步社区《团队软件过程(修订版)》一书中的第2章2.6节TSPi如何建设团队,作者【美】 Watts S. Humphrey(沃茨·S. 汉弗莱),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.6 TSPi如何建设团队
团队软件过程(修订版)
如果致力于团队建设的基本技术,大多数小团体都能成为高效团队。这些技术帮助团队建立一起工作和互相支持所需的相互理解和人际关系。TSPi指导团队依次完成团队建设的基本步骤,包括:设定目标、选择角色、制定计划、保持沟通。

2.6.1 目标
在团队开始组建凝聚力团队过程中,首先要设定一组目标,并让每个人接受。TSPi通过让每个团队成员都参与目标设定,来帮助团队成员接受团队目标。因为目标设定工作难度很大,尤其是对新的团队,TSPi定义了一组初始团队和团队成员目标(请参考第11~15章的角色详细说明)。在第二个及后续的TSPi周期中,团队应该基于第一个开发周期的经验评审并调整这些目标。

2.6.2 角色
设定目标之后,紧接着就是职责问题。团队如何才能让所有成员都对自己的工作尽职尽责呢?TSPi通过建立团队成员角色来解决这个问题。TSPi的角色包括:团队领导、开发经理、计划经理、质量和过程经理、支持经理。这些角色覆盖了团队活动的主要范围,给每个成员划定了具体的职责。

如果没有明确标识的职责,团队就要花费时间去认识必须要做的所有事情,决定谁应该完成什么任务,确定每个任务何时完成、如何完成。这与工程师不想承担责任关系不大,主要是因为他们不清楚所有的工作任务,也就不能确定是否有其他人正在完成该任务。他们也不会愿意去承担团队或团队领导原计划分配给其他人的任务。

如果你明确地定义并分配了团队成员角色,这些与职责相关的问题就迎刃而解了。TSPi定义了一组标准的团队成员角色(详细信息请参考第三部分)。但是,这些TSPi角色和职责必须合理地分配给所有团队成员,而不是由一两个人控制。只有这样,所有的团队成员才会在无需督促的情况下自觉地处理问题。第16、17章更加详细地讨论了承担责任与培养团队精神的问题。

2.6.3 计划
团队对目标和角色取得一致意见后,就要讨论达成目标的策略了。对于TSPi来说,首先要决定如何将整个工作分解为几个部分,然后分配到每个开发周期。然后,团队确定每个周期要完成的功能,该功能的预期规模,以及集成并测试每个功能模块以产生最终产品的方式。

团队成员接下来要决定完成工作的过程,并建立过程文档。基于明确定义的过程,团队估算每个周期的产品规模,开发每个产品所需的时间,工作任务的顺序,以及完成每个步骤的人员。这些工作完成之后,团队就有了开发计划。

2.6.4 沟通
最普遍的团队问题是团队成员之间缺乏沟通。如果团队成员不知道其他人的工作状态,他们就无法协调工作。所有团队成员都很忙,他们可能没有时间在一起开会,这就破坏了团队协作的一个关键因素[Scott,第302页]。TSPi通过每周的团队例会来解决这个问题。如果所有团队成员能够每周召开例会,一般都能解决沟通问题。

另外,TSPi还提供了一种机制,可以让团队成员快速并且准确地理解相互之间的意见和看法,这也给团队沟通提供了便利条件。基于明确定义的角色、过程、计划和度量,团队成员能够进行简明扼要的沟通。这就使沟通更有效率,并且提供了达成一致意见的坚实基础。这个问题在第17章有更详细的讨论。

2.6.5 外部沟通
团队沟通的另一个重要内容是团队和其他人员的沟通,比如管理层或指导教师。一般来说,团队只有在遇到麻烦时才与管理层沟通。结果,团队表现得像是在泥潭中挣扎,而不是稳定有序地汇报工作进展。这意味着管理人员和指导教师只能看到问题而不是成果,从而使团队处于不利境地中。另外,这也意味着团队无法有效利用指导教师或经理的知识和经验。大多数软件问题都经常出现,并且都有成熟有效的解决方法。但是,如果不清楚团队的处境,任何人都很难为他们提供帮助。

TSPi要求团队领导每周给指导教师撰写总结报告。基于所有团队成员的每周工作评估,这些报告展示了整个团队一周的工作成果和下周的工作计划,这就帮助指导教师及时了解到团队遇到的问题,并及时提供建议和帮助。同时,这些报告还为团队的最终报告提供了丰富的材料。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

上一篇:Python—Matplotlib


下一篇:web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象