软件开发组的团队精神 --- 一个程序员在IBM的开发经验

发表于:2008-08-18来源:作者:点击数: 标签:ibmIBM程序员软件开发团队精神
关键字:团队精神 IBM开发经验 总听到大家在讲 团队 精神,那么团队到底是什么? 团队就是一小群有互补技能,为了一个共同的目标而相互支持的人。 对于一个团队来说,最基本的是要有一个清楚的目标。 志同道合 是什么原因使大家组成一个团队?一个目标。对于
关键字:团队精神 IBM开发经验
总听到大家在讲团队精神,那么团队到底是什么? 
  团队就是一小群有互补技能,为了一个共同的目标而相互支持的人。 

  对于一个团队来说,最基本的是要有一个清楚的目标。 


志同道合 
  是什么原因使大家组成一个团队?一个目标。对于球队来说,这个目标是进球得分,从而战胜对方;对于项目组来说,是在限期内完成项目;对于软件开发组来说,是保质保量推出产品。 
  这样说似乎很简单,作为一个软件开发组长,事实上你是否非常明了你的团队的目标了?比如说,我们组的目标是: 

  在2001年9月30日之前按软件需求书完成 WPX-XP 的开发。 

在这个目标里,有没有考虑到软件测试的时间?如果公司预计在十月份进行产品发布,那么明确的目标应该是: 

   在2001年9月30日之前按软件需求书完成 WPX-XP 所有的开发与测试。 

  作为组长的你已经将这个目标谙熟于心,下一步便是让每一个组员都明确这个目标。这样,整个团队的目标才能统一清晰。 


团队发展 
  团队发展大致分为形成,不满,解析和行动(Forming,Storming,Norming, Performing)四个阶段。 
  在形成阶段,作为组长,你不仅要让每个组员都明确团队目标,而且要让他们明确自己在实现目标中的职责。 

  在团队发展的过程中,难免会遇到各种各样的问题。这时候组员相互推卸责任,情绪消极。这就是团队发展中必经的一个过程,不满阶段。只要在适当的时候将组员引导到积极的解决问题上,便能使团队更有作为。 

  在团队发展的第三阶段,解析阶段,组员们达成共同的解决方案。团队便进入高效的行动阶段。 

  团队发展可能在这四个阶段之间反复。明确的目标,相互信任与支持最终能使团队进入并停留在行动阶段。 


因才施教(Situational Leadership) 
  任何时间,出于任何原因,个人影响另一个人或团体的行为便是领导。领导的一贯方式形成了领导风格。 

  领导的行为有两种:指导和支持。 

  指导行为包括:告诉组员做什么,怎么做;定义组员的角色;定义组员间的关系;为组员建立目 
标;为组员作决定等等。这是一种单向的交流方式。 

  支持行为包括:表扬和鼓励组员;打开双向交流的渠道;增加组员的责任范围;增加组员介入设定 
他们目标的程度等等。这是一种双向的交流方式。 

  在我们的团队中,按照态度和能力大致可以分为四人: 

成熟度 技能,能力与知识 主动性与信心 
R1     没有             没有 
R2     没有             有 
R3     有               没有 
R4     有               有 

  对于这四种成熟度的组员采用相应的领导方式才能最大程度地发挥组员的主观能动性。 

  如图所示,根据指导和支持行为的多少,领导风格也可以分为四种: 

领导风格 指导行为 支持行为 
S1: 教导  多      少 
S2: 推销 多       多 
S3: 参与 少       多 
S4: 委派 少       少 

  从图中还可以看出,对于R1->R4的组员,应相对应地采用S1->S4的领导风格。 

  当S刚进入公司作第一个Internet项目时,S既不熟悉Servlet, JSP也不熟悉Javascript,S因此毫无 
信心 (R1)。组长D让S作一些已有样本的程序块的编码,并指导他阅读入门书籍 (S1)。 

  一个月后,S对JSP和Javascript有了大致的了解,加上S原有的C++和HTML的经验,S非常有信心能做好编程工作(R2)。组长D看到S的进步,便将独立的功能块交给S去做,并花时间和S讨论具体的作法,并对S的程序定时检查 (Code Review) ,及时发现解决程序中的问题 (S2)。 

  经过一段时间的共同努力,S完全掌握了Internet项目前后台编程技巧,有了多个项目的经验,并通过了UML的培训,组长D便让S担任新项目的设计工作。S毫无作好设计的把握(R3),他将自己的设计想法和D讨论,D肯定和支持S的想法,并鼓励S做好设计(S3)。 

  S就这样成长为优秀的设计师,为公司承接了多个项目 (R4)。这时的S需要更多授权来开展工作(S4)。 

  在评判一个人的成熟度是R1还是R4时,针对给定的任务是很重要的。我们经常看到优秀的程序员被提拔为开发组长。对于这位程序员来说,他的编程水准是R4,而管理水准可能只有R1。在如何管理组员方面,你便要使用S1来对他进行指导了。 

  另一原则是, 如果你不确认组员的成熟度,请先试用上一标准。例如,你不确定S是处在R2还是R3,先试用S3;如果S不能胜任,再改为S2。 

原文转自:http://www.ltesting.net