1 第三章 软件协同中的角色与目标 3
1为什么团队中需要区分角色
国内软件企业的开发模式多为“大拿领衔制”,通常公司十多个技术人员中间有一个技术“大拿”,剩下人辅助他,把这个产品的所有代码写完,则软件就算完成了
“大拿领衔制”脱不去小作坊的味道,虽然保证了“技术大拿”的创造性,却失去了软件研发过程应有的规范
为什么在一个 TSP 开发团队中团队成员需要区分角色呢
角色提供了一套已定义和可接受的工作框架
有了角色,团队成员就能专注于特定的目标,把注意力放在工作的特定层面上;有了角色,每名成员都可以支配整项工作的特定子集,他人无需为此担心
当然,为了整体的高效,每名团队成员不仅要了解自己的角色,也要熟悉所有的其他角色
不论是足球、篮球、棒球还是橄榄球,运动员在上场前总会被安排在特定的位置
与之相类似,在 TSP 进程的初始,团队成员被安排担任不同的标准角色,在所有成员之间将主要团队职责进行了划分
通过将占据每项关键领域的团队成员确定下来,确保了运营团队的过程中,一般问题能够迅速高效的解决
团队之中没有真正的“权利大小(谁管谁)”,只有成员紧密沟通
总体而言,角色满足了人类的需求,加速了团队组建过程,有助于处理迫切的团队任务
补充阅读 :分工的善与恶 笼统地说,正如其他人类制度一样,分工自身也同时具有益处和代价
如果允许一个空泛的概括,分工的优点至少有:1)集中特定的知识、技能——想想自己左右手、左右脑的分工,我们也许就可以理解这对提高生产率的重要性;2)职责明确,不同职责的人为自己做出的决定负责;3)增进交流:各个角色之间为确保顺畅的协作,必须要求高质量的交流,这也就能使很多原本不言而喻的事情书面化、明晰化
但分工也有其自身的弊病
首先,不少人天性追求完满,要让他们接受分工,只完成整个工作的一个枝节部分,可能是非常痛苦的事
我记得自己刚刚参加工作后参与开发的一个系