现代软件工程讲义 5 团队合作的阶段

简介:

1  萌芽阶段

萌芽(Forming)阶段,就像小苗破土而出,柔弱但充满希望。在这个时候,团队成员刚刚接触到团队的宗旨,同时很可能刚刚互相认识。在学校的环境中,一些同学只是匆忙地加入一个团队,加入团队的原因并不是因为他们对团队的目标很认同, 而是多种多样的 (这个团队有大牛,我可以少做一些; 别的团队人满了,就剩这个了; 平时在一起混的还可以,就加入吧; 这个团队有女生,我要加入! ... ).  团队的目标只是听说过,但是并没有真正达成一致。团队缺少一个明确的领导,团队成员也非常依赖领导的指导。其它特征:

(1)个人的角色和职责不清楚,做事的规程往往被忽略。

(2)这时大家都有礼貌,一般交流不少,每个人往往想得到其他队友的接纳,试图避免冲突和容易引起挑战的观点。团队的成员在有意无意地探知同伴和领导的做事方式和容忍度。

(3)成员也在琢磨任务到底有多大,怎么去完成它。

(4)每个人都忙着适应环境、团队结构、角色、日常流程等。正是由于这些原因,严重的问题不一定能够及时地提出来讨论。重要的事情并不能够真正得到解决。

(5)开始各种各样的讨论。成员们对于组织结构有不少看法,对完成任务的困难也有不少讨论,但是还没有把注意力集中到解决问题上。这时已经有人对太多的讨论感到不耐烦了。

原因:大家都是来自五湖四海,项目还处于萌芽状态,每个人的能力/弱点还没有得到体现。

在这一时期,领导要回答很多问题:我们要做什么,怎么做,如何才是成功,和其他团队是什么样的关系,等等。由于百废待兴,没有太多时间进行详细讨论,得到一致共识,因此,要快刀斩乱麻地决定一些重要的问题。

这个阶段最重要的就是让成员明确地了解团队的目标。正确的目标设定应从整个团队的最终目标开始,然后在成员的参与下,将这一最终目标分解成为一系列相互关联,易于操作的短期目标。

 

2  磨合阶段

磨合阶段(Storming)就像一个人的青少年时期,充满了对个人、同伴和团队的疑惑和冲突。

团队中的一团和气只能维持一小段时间,大家不得不认真地面对问题进行讨论。随着讨论的深入,有些人会沉不住气,小的意见分歧和冲突会出现。这些冲突不一定都是技术问题,也许是关于角色、职责、相互关系,甚至是各自性格、文化的冲突。

这时会出现成员之间的竞争,不少人都想成为某个领域的“拥有者”(在软件项目中,谁负责哪方面,每个方面要怎么做,等等)。同时也有一些人以不同的方式进行挑战。也许会形成小团体,甚至有权力斗争。

有人专注于解决问题,有人喜欢“与人斗,其乐无穷”,有人想回到当初一团和气的阶段。冲突的结果是有人觉得自己“赢了”,有人反之。不管每人的输赢如何,大家都想从体制上、流程上避免冲突持续发生。

有时即使大家有相同的论点,还是有争论(因为大家想充分表达自己)。这个时期最可能出现谣言和误解。

 

原因:在该阶段,团队成员们开始逐步熟悉和适应团队工作的方式,并且确定各自的存在价值。在这个阶段,矛盾会层出不穷,主要包括团队成员之间的矛盾,项目远景和成员理解程度的差异,个人习惯和企业文化的矛盾,个人的价值取向和企业规则之间的矛盾。

领导要做什么呢?

这时候最好让矛盾和分歧充分地暴露,将各种冲突公开化,并且学会倾听、理解和调整。在这一阶段,有时候不得不妥协以让项目向前推进(没有时间去说服每一个人从而得到最优结果)。

领导主要是采用指导的方式,引导成员发现正确处理问题的方法。

积极、公开的信息流动是消除谣言和误解的最好方式。如果缺乏足够的信息交流平台(如SharePoint服务器,公开的电子邮件组,公开的项目进度表),成员之间会互相猜疑。领导必须做出明确规定,要求公司上下都要进行充分的交流,并且告知团队成员,不允许将信息滞留在小团队内部。

领导在这个阶段会发现成员的一些特点,要区别对待,例如:

(1)对于技术能力强,并且通过实际工作得到大家认可的成员,应鼓励他们发挥更多技术领导的作用。

(2)对一些经常有不同意见,特立独行,看似拖团队后腿的成员,这时不应该妄下判断,其实他们很可能是不错的员工,只是没有掌握表达意见的适当方式,不懂如何说服别人,应该鼓励他们找到和团队共存、共事的途径。

(3)有的成员虽然自己的工作能应付,但他们不爱讨论、分享经验,似乎没有更高的要求。对这种类型的人,应该让他们与更自信、积极的同事合作,给予他们要求更高的工作,让富有挑战性的工作激发他们的热情。

(4)有的成员在实际工作中显示出较差的技能,不怎么胜任工作。对这类成员,要考虑安排他们做得来的事,调整在团队中的位置,做到人尽其用。

在这一阶段, 团队也会讨论到每个成员的投入,和 绩效评估的问题, 在这个问题上能开诚布公地讨论并达成一致,是一个团队度过磨合阶段的重要标志。

长期处于这一阶段的团队,其自信心会下降,会出现久病乱投医的现象,我们用什么开发方法,这个模式还是那个模式?等等。就像某国国家足球队不断变更打法和风格,一会儿是平行站位,一会儿是双后腰,有时过分保守,有时过于冒进,有时学习欧洲,有时学习南美,走马灯一样换教练,最后自己找不到北,成为笑柄。

 

2.5 散伙阶段

有些团队过不了磨合这一道门坎, 退化到 “散伙阶段” - 有些名存实亡的 “团队” 就剩下一两个人干活,  其他人在打酱油, 并且还抱怨其他伙伴不重视他们。 这些情况在我们学生项目中是不是很常见呢?

 

3  规范阶段

从磨合阶段毕业,进入规范(Norming)阶段的团队,成员们意识到光争吵是没有用的,大家还是要协同作战。成员们就很多事情取得了一致。角色和职责定义得非常清楚。团队还进行过有趣的团队建设活动。

这一时期的团队有这样的特点:

(1)团队公开地讨论流程和工作的方式。团队的领导得到广泛的尊重,其他的成员也分担了一定的领导职责。

(2)随着项目的发展和成员们的互动,一些成文或不成文的规则逐步建立起来了。

(3)作为一个整体,团队要做和不要做的事情都更加明确。团队定下了更现实的目标和决心。

(4)通过聆听、讨论,成员互相之间更加了解,认识到并欣赏各自的能力和经验。

(5)在工作中互相支持,并且愿意摒弃自己固有的想法。

(6)成员之间的讨论更加友好,大家意识到并尊重各人的个性。

(7)集体意识更强,有共同的目标。

在这一阶段,领导主要扮演促成者和鼓励者的角色,协调成员之间的矛盾和竞争关系,建立起流畅的合作模式。

要注意到,并不是当团队进入到了规范阶段,就万事大吉了。经验表明,很多情况下团队会由规范阶段回到磨合阶段,或者在两个阶段间徘徊。团队成员们必须努力工作,才能使团队保持在这一阶段, 他们同时还要抵御外界的压力,以免使团队分裂,或者回到磨合阶段。

另外,一个人要是刚刚加入一个有一定历史的团队,要注意了解这个团队的“Norm”是什么,入境随俗。正如西方谚语说——When in Rome,do as the Romans do。

 

4  创造阶段

经历了萌芽、磨合、规范阶段,现在团队终于可以创造一些有意义的东西——这就是创造阶段(Performing)。当然并不是所有的团队都能达到这一阶段。

这一阶段的现象是:

(1)团队知道为何而战,有共同的远景。

(2)团队的注意力集中到如何创造、实现目标上。

(3)高度自治。不再需要领导的时时教诲与介入。

(4)不同意见仍会发生,但是成员都以一种积极的心态和方式来解决。 团队成员互相支持,互相依赖,而又保持各自的灵活性。

(5)所有人互相都比较了解,同时也互相信任,个人可以放手独立工作。

(6)角色和职责能够根据项目的要求自然地转换,没有人为此担心或发牢骚。在这样的情况下,所有人都能把大部分精力花在工作上。团队士气高涨。

(7)为了集体的利益而改进自己的行为——例如学习新技术,做更好的自我代码复审。

(8)能够避免冲突,并且在冲突发生的时候,能够解决矛盾。

领导在这一阶段,要实践“充分的授权”这一原则,委派得力的人员解决问题,并按期检查。在“磨合”阶段的经验和教训让大家明白不少道理,在“规范”阶段形成的流程让团队能高效的工作。

在创造阶段,团队减少了对上级领导的依赖。成员们相互鼓励,积极提出自己的意见和建议,也对别人提出的意见和建议给出积极评价和迅速反馈。

这时团队的效率达到了颠峰状态,这时最重要的已经不是解决团员之间的矛盾,也不是明确每个团员的职责和任务了,而是要建立团队业绩和个人绩效相结合的考评体系,最大限度地调动团队成员的积极性。

这一阶段的团队有一个特点:他们一般不会关心或争执“方法论”的问题——我们究竟是瀑布模型,还是改良的螺旋模型,或者是超级敏捷型。我们是CMM 2级或3级。方法论对于他们,就像水对于鱼一样自然。一个实际的例子就是:微软公司很多员工都不知道MSF究竟是什么东西[1]

当然,这时也必须认识到危险所在。好的团队有时候会骄傲自满,这将导致他们的衰败。团队成员自我感觉太好,过分亲近也可能导致过度利己,造成产出下降以及傲慢自大的后果。







本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2013/02/15/2912803.html,如需转载请自行联系原作者


目录
相关文章
|
23天前
|
设计模式 测试技术 开发工具
【软件设计师备考 专题 】软件工程基础:理解软件开发生命周期
【软件设计师备考 专题 】软件工程基础:理解软件开发生命周期
41 0
|
9月前
|
测试技术 程序员 开发者
【软工视频】第六章软件测试
【软工视频】第六章软件测试
|
敏捷开发 架构师 数据建模
|
设计模式 运维 前端开发
《构建之法-现代软件工程》读书笔记(二)
《构建之法-现代软件工程》读书笔记(二)
《构建之法-现代软件工程》读书笔记(二)
|
测试技术
【软件工程基础】需求工程
【软件工程基础】需求工程
115 0
|
人工智能 算法 安全
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学
134 0
【C++怎么入门】C++是什么及发展史 | 重要性(工作领域、校招领域) | 怎么学