`
OneEyeWolf
  • 浏览: 105140 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

精心打造Team的组织架构

阅读更多

精心打造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都不会去查一下的人。

分享到:
评论
17 楼 someone 2007-06-04  
引用
1KW的项目也作过由二十多个程序员与7-8个其它人员组成。


1KW的项目的team由二十多个程序员与7-8个其它人员组成?
这样的项目需要做多长时间啊?1年还是2年?

如果人力成本是平均每人每月1W,即使是28人连续开发两年成本也只有600多W,利润率真的很高啊。

你们在这里说的是纯软件开发的报价吗?
16 楼 tiyi 2007-06-04  
能者多劳啊。所以身兼数职也是正常,关键是把握能力。Team里面不可能个个是技术精英然后EQ又很高
15 楼 sg552 2007-06-04  
哎。

14 楼 kusix 2007-06-04  
<br/>
<strong>sg552 写道:</strong><br/>
<div class='quote_div'>说的很好。<br/>
<br/>
不过我觉得,让一个程序员又要写SQL, 又要写javascript , 要求有点过。<br/>
<br/>
我觉得最好的团队应该这样:<br/>
<br/>
有个JS高手,专门负责JS。<br/>
有个DB高手,专门负责持久层<br/>
有个不错的美工,专门负责界面。<br/>
有个不错的需求分析人员,把用户的需求整理成程序员使用的格式。<br/>
有个不错的架构师,把系统的框架搭建起来,很细的那种,使用//TODO来添满整个骨架。<br/>
<br/>
再来个有领导力的项目经理,只要手下的人能力达到70分, 那么这个团队我很容易把项目按期完成。<br/>
<br/>
    <br/>
</div>
<p>太理想化咯。。。</p>
<p><br/>
一般程序员都是从前台到后台通吃的(除了美工CSS之类,不过弄ajax UI的时候也是会吃到CSS的)<br/>
<br/>
<br/>
</p>
13 楼 sg552 2007-06-04  
一分钱一分货啊。
这个团队,确实很贵。但是这样的团队10个月开发出来的产品,绝对比小手工作坊质量要好。

有这样质量的团队在手, 公司想接便宜的项目都难。嘿嘿。。。小小的夸张一下。
12 楼 抛出异常的爱 2007-06-04  
你说的那个团队。。。。工资7-10W/月
十个月100W,
有多少公司的毛利是100W每年呢?

至少每年要作一个400W的单子才能保本。。。
11 楼 sg552 2007-06-04  
:)

谢谢这么详细的回帖,有些事情虽然可能会最终各持观点,但道理总是越辩越明。

我觉得美工是非常必要的。它扮演的角色可以占1/4的工作量。一个好的美工,可以把整套系统的 View 部分确定下来。

一个好的JS程序员也很必要。如果客户或BOSS对AJAX要求比较高的话。据我所了解,那些做JAVA的朋友,基本没有系统的学习过JS。写起来毛病多多。

至于负责持久层,我认为更是必要。一个几年HIBERNATE经验的程序员,写出来的DAO层比 MyEclipse 生成的要好的多。有切身体会。

至于成本,我觉得跟软件合同额比起来,那点工资根本就9牛一毛。采用好的团队和人力,可能工资成本高点,但是后期的风险会比入门程序员无软件工程管理的项目要低太多。维护,升级等风险更小不少。如果老板只是看到眼前点利润,却不考虑以后的可持续性发展,那么我对他公司的前途表示担忧。
10 楼 抛出异常的爱 2007-06-04  
sg552 写道
问下楼上:

你们的项目:
1 . 有无设计文档?
(除了第一期以外没有设计文档。。。但第一期作的很全,同样错误无数)
2 . 有无需求文档?有无专门的需求分析人员?
(有需求文档,大约20页吧, 之后就是项目经理一个人来回跑询问与挖掘。。。除了email没有了。)
3 . 美工做的怎么样?谁做?
(高程,必竟不是网站,有个基础css之后没什么必须美工来作。)
4 . 数据库持久层满意否?
(不满,但功能完成过程中,每次对数据库的修改都有文档与数据库字典,我不认为由DBA来作能作的更好)
5 . 自动化测试,构建如何?
(项目经理,与另一个高程写的ant,不过大家习惯用WSAD,只有check之前用ant来构建)
6 . 有无使用手册?
(有手册,是由两个客户方面的网络工程师写的,当然是由我们手把手教的。)
如果都有,我非常佩服。

我上一个工作,是帮一个1200W的项目做后期测试。这个项目组比楼上说的还牛。加上总共4个人。哎。结果我就不多说了。


1KW的项目也作过由二十多个程序员与7-8个其它人员组成。
最后加班,加的没办法不知道应该如何把项目交给客户。

我认为项目中你想的团队都是不太可能达到的
成本太高昂了。。。代价太大了。
9 楼 sg552 2007-06-04  
问下楼上:

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

如果都有,我非常佩服。

我上一个工作,是帮一个1200W的项目做后期测试。这个项目组比楼上说的还牛。加上总共4个人。哎。结果我就不多说了。
8 楼 抛出异常的爱 2007-06-04  
sg552 写道
晕。。。。。。

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

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

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


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

项目12月份已完成。
7 楼 gigix 2007-06-04  
sg552 写道
晕。。。。。。

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

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

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

为什么?
6 楼 sg552 2007-06-04  
晕。。。。。。

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

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

如果要手下的人又做需求分析,又做设计,又做美工,又做JS,又做持久层,我觉得这个项目的负责人到最后吃不了兜着走。
5 楼 Puras 2007-06-04  
老板想找一个人把这些事全做了...
4 楼 sg552 2007-06-04  
呵呵。。。。抛出异常的爱,你觉得我说的这个团队,哪里的成本比较高呢?

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

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

其他的coder:  5k~ 7k

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



3 楼 抛出异常的爱 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 />
楼上在作梦。。。。

老板要考虑成本问题。。。
2 楼 sg552 2007-06-04  
说的很好。<br/>
<br/>
不过我觉得,让一个程序员又要写SQL, 又要写javascript , 要求有点过。<br/>
<br/>
我觉得最好的团队应该这样:<br/>
<br/>
有个JS高手,专门负责JS。<br/>
有个DB高手,专门负责持久层<br/>
有个不错的美工,专门负责界面。<br/>
有个不错的需求分析人员,把用户的需求整理成程序员使用的格式。<br/>
有个不错的架构师,把系统的框架搭建起来,很细的那种,使用//TODO来添满整个骨架。<br/>
<br/>
再来个有领导力的项目经理,只要手下的人能力达到70分, 那么这个团队我很容易把项目按期完成。<br/>
<br/>
    <br/>
1 楼 mingisme 2007-06-03  
图片看不到

相关推荐

    华为组织架构_华为旧组织架构.docx

    【华为组织架构】是华为公司运营和发展的重要基石,它反映了华为在管理上的高效与灵活性,以及对市场的快速响应能力。华为作为全球领先的电信设备和消费电子制造商,其组织架构的演变与公司的战略目标紧密相关。在...

    ruse - 适用于Red Team基础架构的反向代理.zip

    ruse - 适用于Red Team基础架构的反向代理

    华为等几个公司的组织架构.docx

    本文将详细解析华为等几个公司的组织架构,重点讨论华为公司的独特模式,并简要提及华润集团、郭广昌复兴集团、中粮集团和中国华录集团的组织架构。 华为公司的组织架构设计独特,采用的是“事业群+矩阵式”的混合...

    Visual Studio 2005 Team Edition软件架构系列课程(1): 概述

    《Visual Studio 2005 Team Edition软件架构系列课程》是针对软件开发团队设计的一套全面的学习资源,旨在提升开发者和团队在使用Visual Studio 2005 Team Edition时的效率和协作能力。该系列课程涵盖了软件开发的多...

    Visual Studio 2005 Team Edition软件架构系列课程(5):Visual Studio 2005 Team Foundation Server Online发布会

    《Visual Studio 2005 Team Edition软件架构系列课程(5):Visual Studio 2005 Team Foundation Server Online发布会》是一份详细讲解Visual Studio 2005 Team Edition中Team Foundation Server(TFS)核心功能和在线...

    Team Developer 5.2安装程序 第一部分 共三部分

    Team developer 是一块快速数据库开发软件 最早是Centura公司的Centura或者是Centura Team Developer简称CTD,只到了2000版本应该是2.0; 后来Centura被Gupta收购产品变成Gupta Team Developer简称GTD,版本是3.0,3.1,...

    lee0v0#Team#架构解析1

    NIMKit 架构解析总体结构├── api #UIKit 数据接口、定制化接口├── impl #数据接口、定制化接口的默认实现以层次划分的形式,看一下各个模

    TEAM论坛源程序

    1、下载论坛 TEAM论坛每次发布最新版本论坛,都会第一时间公布于Team Board(www.team5.cn),随时了解TEAM论坛的最新情况。 &lt;br&gt;2、解压论坛 将下载回的TEAM论坛解压到指定的目录 &lt;br&gt;3、安装论坛 ...

    Visual Studio Team Foundation 安装 帮助

    《Team Foundation 安装指南》是一个内容广泛的指南,其中涉及 Team Foundation 组件(包括 Team Foundation Server、Team Foundation Server Proxy、Team Foundation Build 和团队资源管理器)的基本安装。您的组织...

    Visual Studio Team System 2008 Team Foundation Server 安装手册

    《Visual Studio Team System 2008 Team Foundation Server 安装手册》是针对软件开发团队在部署和配置Microsoft的Team Foundation Server (TFS) 2008 SP1的重要参考资料。Team Foundation Server是一款综合性的软件...

    TeamPlayer 双鼠标同时工作

    TeamPlayer是一款创新的软件工具,它允许两个鼠标同时在同一个屏幕上进行操作,极大地提升了协作效率。这个独特的功能尤其适用于团队合作、演示展示以及教学场景,让两个人能够共享计算机的控制权,无需频繁交换设备...

    Visual Studio 2005 Team Edition软件架构系列课程(2):开发面向服务的应用

    **Visual Studio 2005 Team Edition 软件架构系列课程** 在“Visual Studio 2005 Team Edition软件架构系列课程”中,我们深入探讨了如何利用Microsoft的这款强大的开发工具进行面向服务的应用程序设计。这个系列...

    亚马逊工作方法探秘:创新利器 2 Pizza Team.docx

    2 Pizza Team 的组织架构主要有两种基础形态:职能型组织和项目型组织,以及结合两者的矩阵型组织。 - 职能型组织:按照专业领域划分部门,协作推进工作。优点是职责清晰、专业能力集中,但决策过程冗长,跨部门...

    Visual Studio 2005 Team System 版本比较

    Visual Studio Team Edition for Software Architects 是面向软件架构师的版本,提供了类设计器、单元测试、代码覆盖率、动态代码分析器、静态代码分析器、代码探查器等功能,用于应用程序设计、逻辑基础结构设计、...

    Past Team驱动保护

    "Past Team驱动保护"是一款专注于计算机系统驱动程序安全的防护软件。它主要的功能是保护系统中的驱动程序不被恶意修改或破坏,确保系统的稳定运行和数据的安全。在深入理解这款软件之前,我们先来了解一下驱动程序...

    Microsoft.Visual.Studio.Team.System.2008.Team.Suite-ZWTiSO.zip

    《Microsoft Visual Studio Team System 2008 Team Suite——打造高效开发团队的利器》 Microsoft Visual Studio Team System 2008 Team Suite是一款由微软公司推出的集成开发环境(IDE),它是Visual Studio 2005...

    TEAM论坛 颓废心情

    【标题】:“TEAM论坛 颓废心情” 这个标题似乎是指一个名为“TEAM论坛”的线上社区,其中可能有一个特别的主题或板块,名为“颓废心情”。这个标题可能代表了一个讨论区,用户在这里分享他们的消极情绪、困惑或者...

    TeamSite原厂技术文档-CMS开发文档

    根据给定的文件信息,我们可以总结出以下关于TeamSite 6.5 Forms Publisher开发文档的知识点: ### 一、概述 - **标题**: “TeamSite 原厂技术文档 - CMS 开发文档” - **描述**: “Interwoven 的旗舰产品 Team...

    Team Foundation 安装指南

    《Team Foundation 安装指南》是一个内容广泛的指南,其中涉及 Team Foundation 组件(包括 Team Foundation Server、Team Foundation Server Proxy、Team Foundation Build 和团队资源管理器)的基本安装。您的组织...

Global site tag (gtag.js) - Google Analytics