论坛首页 综合技术论坛

精心打造Team的组织架构

浏览 27289 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-03  

精心打造Team的组织架构

  长期以来,很多Team的组合都是随意的,从创建到稳定, 不经意之间,一个Team就出世了,在项目进行当中,弊端尽现的时候,也没有人注意到是团队的组织架构,人员搭配是否出现了问题,Team成长过程,就好像一个树籽落在地下,然后自生自灭,有的长成了歪脖子,有的则树倒猢狲散,有一部分,运气好,成为能经风雨的大树。  
  
  几年来,虽然敏捷管理与开发,深入一些经验丰富的PM和开发人员之心,但是在推广时,却南桔北枳,没有了味道,

  一些优秀的开发与设计思想或技术,如TDD、MDD,大部分只流转于个别经验丰富的开发人员之间,在团队项目开发中,不见了踪影。

  这些都非常不利于个人和团队开发经验的积累,更不利于推广。

  虽然这方面的缘由甚多,例如,在大公司,更倾向于按部就班的,流水化作业的形式,大多的领导,希望以文档驱动的方式,来进行作业。例如在Microsoft,也是个别的团队首先偷偷摸摸的搞起敏捷,然后才得以向其它团队推广,但推广的方式是思想沟通、培训多于实际运作。(见CSDN程序员2006年杂志)。

  连Adobe这样有名的技术主导型的公司,,也不过是在2006年开发CS3的时候,才改变以往,吃尽苦头的,BUG成堆的,瀑布式运作方式,开始转向迭代增量开发。(虽然虽然迭代,在90年代,就已经开始了)

  参见:Adobe edits the development cycle http://www.regdeveloper.co.uk/2007/03/08/adobe_cs3_development/
  当时采访Adobe photoshop团队时,一个很直接问话:
  If it's such a good idea, why did it take so long – and how did you manage to change this time? (如果这是一个非常不错的方法,为什么你们到现在才开始使用?你们是如何在这次项目当中,转变自己的?)
  
  但是更多的方面,还取决于团队中的每一个member.首当起冲的是Leader,是否有丰富的开发经验,是否有执行力,是否有Open的精神,能否坚持不懈的把敏捷这种思想,通过不同的形式,一点一点的展现或灌输给团队。
  一个自适应的团队,首先要来自于一个自我调节的Leader,能够通过沟通、持续改进等方式,来不断的调整自己的管理方法,不断的改进开发的过程,并且能不断的改进团队的思想,使团队的成员,不断的成长。
  Leader也需要学习,需要成长,在敏捷的团队当中,大家都是互补的,不存在junior, senior之分。

  所以团队的精心打造,就在于互补,很多领导寄希望于万能的Leader, 这往往是失败的开始,Team Leader往往成为进度的瓶颈,delay的主要因素,为什么?因为他只是扮演了一个救火队员的角色,到处都是失火,如何能救的过来。

  自适应的团队,就在于人人都是主动的、自发的。问题出现的时候,不在于是你的问题,还是他的问题,而是立即解决,不是积累到失控的时候,才去解决。

  所以打造这样的团队,不仅仅是对Leader要求高,对于团队中的每一个人要求都高。例如对于迭代中的一个best practice,就是要求,在每一个周期的,Time-box控制的都是相当严格的,要求Leader每天,都要跟紧成员的开发状态,以求每天都有结果。如果不是一个自适应的团队,如果一个团队有几十个人,那Leader都要累死了,每个人的座位走一遍,都快要下班了。

  有人会说,这是太理想化的东西,我想,这是一个思想层面的认识问题,一个推动力,一个唱黑脸,敢于在组织架构上动刀子的问题。

  这几年,我经历的团队当中,往往都是开始的,两三人,不断膨胀到十人左右,但真正起作用的,不过1/3,砍掉一半,团队照样跑的转。

  一个技术经验丰富的、Open的开发人员,胜过一堆猪脑子的程序员。领导们算账,算过了头,只愿意雇佣大批量的,低成本的开发人员,不愿意在团队结构上,精心考虑。

  我想一个3、4人的敏捷小分队,要胜过10人的团队,很多PM总是在后期抱怨缺人,领导也一味的满足他们的要求,不断的在中后期加人,却不愿意在团队成立之初,去好好的考虑团队的建设问题!
  

  考虑一个团队的架构,很多人,自然会想到首先从技术方面想,如高级程序员,中级程序员,普通程序员,系统分析员等,一些大的公司,也会设这样的岗位,不同的岗位,Money不一样,职责不一样。这不过是一厢情愿的典型的人事设计方式,非常粗粒度的切割方式。

  其实从技术方面,来考虑,是打造Team的一种主要的方式,但也并是说用这种无知的、分级的方式打造,这样只会损害团队的合作!

  对于技术方面,要结合项目的特性,进行精细化的考虑,如果不知道怎么做,可以看看Microsoft的用户体验团队的组织架构:

  微软用户体验团队组织架构
  另外,也可以看看我最欣赏和羡慕的Google的开发小分队的组织架构,就像三角洲的小分队,精悍无比。
  一个Team leader, 一个用户体验工程师(不仅技术好,人机交互的理念也要到位),一个teser.

    目前的开发人员,很多都不满足不了这样的要求,很多程序员,除了会写个Java代码,其它一无所知,甚至不知道怎么去写HTML代码了,怎么可能去做一个解决问题的开发人员?我现在的项目,采用的是原型迭代的方式,项目中的几百页的静态原型,都是我一个人做的,我想交出去,没有一个人会!
    现在的三层开发,误导了技术走向,很多人以为只会一层就够了,不会SQL,不会javascript,页面也不会写,要汝何用!

  其实从管理、自制和思想层面,也是另一种渠道。团队中人员要考量他的交流、沟通能力,他的思想层面,是否有团队精神,是否能够接受新技术,热爱技术。对于恶劣的磁、破坏性巨大的程序员,要敢于清除出队伍,避免毒性扩散。

  这是不是,还是非常的理想化,也许你们还是接受不了,宁愿十几人的干活的热闹场面,不愿意5个人以内的敏捷团队?

  也许可以学习一下国外公司的做法,如Microsoft、Google,招聪明的,不招呆滞的,遇到问题,连GOOGLE都不会去查一下的人。

   发表时间:2007-06-03  
图片看不到
0 请登录后投票
   发表时间:2007-06-04  
说的很好。

不过我觉得,让一个程序员又要写SQL, 又要写javascript , 要求有点过。

我觉得最好的团队应该这样:

有个JS高手,专门负责JS。
有个DB高手,专门负责持久层
有个不错的美工,专门负责界面。
有个不错的需求分析人员,把用户的需求整理成程序员使用的格式。
有个不错的架构师,把系统的框架搭建起来,很细的那种,使用//TODO来添满整个骨架。

再来个有领导力的项目经理,只要手下的人能力达到70分, 那么这个团队我很容易把项目按期完成。

   
0 请登录后投票
   发表时间:2007-06-04  
sg552 写道
说的很好。<br />
<br />
不过我觉得,让一个程序员又要写SQL, 又要写javascript , 要求有点过。<br />
<br />
我觉得最好的团队应该这样:<br />
<br />
有个JS高手,专门负责JS。<br />
有个DB高手,专门负责持久层<br />
有个不错的美工,专门负责界面。<br />
有个不错的需求分析人员,把用户的需求整理成程序员使用的格式。<br />
有个不错的架构师,把系统的框架搭建起来,很细的那种,使用//TODO来添满整个骨架。<br />
<br />
再来个有领导力的项目经理,只要手下的人能力达到70分, 那么这个团队我很容易把项目按期完成。<br />
<br />
&nbsp;&nbsp;&nbsp; <br />
楼上在作梦。。。。

老板要考虑成本问题。。。
0 请登录后投票
   发表时间:2007-06-04  
呵呵。。。。抛出异常的爱,你觉得我说的这个团队,哪里的成本比较高呢?

我觉得 做JS的, 5K/月   ,DB:  7K/月的水平,
美工的话, 4K/月,  做需求的: 8K/月。 应该就足够了。

贵的,是架构师和项目经理,20K,  15K。   

其他的coder:  5k~ 7k

如果你是老板,我想听听你的意见啊。



0 请登录后投票
   发表时间:2007-06-04  
老板想找一个人把这些事全做了...
0 请登录后投票
   发表时间:2007-06-04  
晕。。。。。。

我觉得,对于小项目,找个全能型的人弄下,也许还可以。

但是对于百W级的项目,一定要这样做,我觉得心里才会有底。

如果要手下的人又做需求分析,又做设计,又做美工,又做JS,又做持久层,我觉得这个项目的负责人到最后吃不了兜着走。
0 请登录后投票
   发表时间:2007-06-04  
sg552 写道
晕。。。。。。

我觉得,对于小项目,找个全能型的人弄下,也许还可以。

但是对于百W级的项目,一定要这样做,我觉得心里才会有底。

如果要手下的人又做需求分析,又做设计,又做美工,又做JS,又做持久层,我觉得这个项目的负责人到最后吃不了兜着走。

为什么?
0 请登录后投票
   发表时间:2007-06-04  
sg552 写道
晕。。。。。。

我觉得,对于小项目,找个全能型的人弄下,也许还可以。

但是对于百W级的项目,一定要这样做,我觉得心里才会有底。

如果要手下的人又做需求分析,又做设计,又做美工,又做JS,又做持久层,我觉得这个项目的负责人到最后吃不了兜着走。


项目:300W
人数:4
高程:3人
管理:1人

项目12月份已完成。
0 请登录后投票
   发表时间:2007-06-04  
问下楼上:

你们的项目:
1 . 有无设计文档?
2 . 有无需求文档?有无专门的需求分析人员?
3 . 美工做的怎么样?谁做?
4 . 数据库持久层满意否?
5 . 自动化测试,构建如何?
6 . 有无使用手册?

如果都有,我非常佩服。

我上一个工作,是帮一个1200W的项目做后期测试。这个项目组比楼上说的还牛。加上总共4个人。哎。结果我就不多说了。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics