《团队软件过程(修订版)》—第2章2.3节团队是什么

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

2.3 团队是什么
团队软件过程(修订版)
团队的定义有很多。我最喜欢的是Dyer的定义:

一个团队:

(1)至少由两名成员组成;

(2)所有成员的工作具有共同的目标、目的和使命;

(3)每个成员都分配了一定的角色或职责;

(4)使命的完成需要成员间某种形式的相互依赖。

2.3.1 团队规模
一个团队几乎可以是任何规模,从两个人到几十个人,甚至可以有几百人。但是,在实际情况下,只有当每个团队成员都与其他成员建立了密切关系时,团队运转才能最高效,而这只有在团队规模较小并且成员间建立了相互依赖的关系网的情况下才最有可能实现。在实业领域,团队规模受限于管理和控制范围。尽管有些项目规模非常庞大,但是一般来说,项目运行团队都是由一些不多于20人的小团体组成的,每个小团体都在主管或经理的监督指导下工作。这些小团体构成了紧密结合的团队,TSP和TSPi正是用来支持这种团队的。

典型的学生团队一般包括4到12个人,具体人数取决于班级人数和教师偏好。虽然已有一些关于软件团队规模影响的研究,我的经验是,4到8人的团队效率最高。如果少于4人,就没有足够的人员来合理地分配团队角色;如果多于8人,成为具有凝聚力的团队所需要的密切关系就很难建立。TSPi针对的是5人学生团队,但是也可以经过适当修改后应用于4人或6人团队。对于其他规模的团队,需要做出更多的角色调整,这时就要使用其他脚本和表格了。

2.3.2 具有凝聚力的团队(jelled team)
如果设计和开发团体能够顺畅并有效地一起工作,我们就把他们称为“具有凝聚力的团队”。DeMarco和Lister在他们的优秀著作《人件》(Peopleware)中,阐述了什么是“具有凝聚力的团队”[DeMarco 87,第123页]:

一个具有凝聚力的团队是一群紧密结合在一起的人,他们的整体大于部分之和。这种团队比相同人数的没有一体化的组织具有更高的工作效率。同样重要的是,人们从这种团队的工作中得到的乐趣远比你所想象的多得多。

2.3.3 团队协作的基本条件
不是所有的团体都是团队。一个团体要成为成功运作的团队,必须满足以下三个基本条件[Cummings,第627页;Dyer,第286页;Mohrman,第279页]。

(1)任务清晰明确:也就是说,团队的工作经过明确定义,该工作对整个团队很有意义,并且整个团队都知道他们必须做什么。

(2)团队界定清晰:每个团队成员都知道整个团队的范围,知道谁是团队成员,谁不是。团队中的每个人都了解其他人,看得到其他人的工作,并且了解其他人的团队角色。

(3)团队能控制所有任务:每个团队成员都知道做什么、如何做、什么时候做,知道什么情况下任务就算完成。每个人都知道他们要对工作负责,并且能控制所使用的过程。每个人都有能力完成自己的工作,并且知道不能让其他人替自己承担工作。

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

上一篇:使用 rust 开发 stm32:stm32f303-horse-race-lamp-with-timer-in-interrupt-mode


下一篇:《软件工程方法与实践》—— 2.2 什么是软件过程