精心打造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 15:20
- 浏览 16562
- 评论(57)
- 论坛回复 / 浏览 (53 / 27289)
- 查看更多
相关推荐
【华为组织架构】是华为公司运营和发展的重要基石,它反映了华为在管理上的高效与灵活性,以及对市场的快速响应能力。华为作为全球领先的电信设备和消费电子制造商,其组织架构的演变与公司的战略目标紧密相关。在...
ruse - 适用于Red Team基础架构的反向代理
《Visual Studio 2005 Team Edition软件架构系列课程》是针对软件开发团队设计的一套全面的学习资源,旨在提升开发者和团队在使用Visual Studio 2005 Team Edition时的效率和协作能力。该系列课程涵盖了软件开发的多...
《Microsoft Visual Studio Team System 2008 Team Suite——打造高效开发团队的利器》 Microsoft Visual Studio Team System 2008 Team Suite是一款由微软公司推出的集成开发环境(IDE),它是Visual Studio 2005...
《Visual Studio 2005 Team Edition软件架构系列课程(5):Visual Studio 2005 Team Foundation Server Online发布会》是一份详细讲解Visual Studio 2005 Team Edition中Team Foundation Server(TFS)核心功能和在线...
Team developer 是一块快速数据库开发软件 最早是Centura公司的Centura或者是Centura Team Developer简称CTD,只到了2000版本应该是2.0; 后来Centura被Gupta收购产品变成Gupta Team Developer简称GTD,版本是3.0,3.1,...
NIMKit 架构解析总体结构├── api #UIKit 数据接口、定制化接口├── impl #数据接口、定制化接口的默认实现以层次划分的形式,看一下各个模
1、下载论坛 TEAM论坛每次发布最新版本论坛,都会第一时间公布于Team Board(www.team5.cn),随时了解TEAM论坛的最新情况。 <br>2、解压论坛 将下载回的TEAM论坛解压到指定的目录 <br>3、安装论坛 ...
《Team Foundation 安装指南》是一个内容广泛的指南,其中涉及 Team Foundation 组件(包括 Team Foundation Server、Team Foundation Server Proxy、Team Foundation Build 和团队资源管理器)的基本安装。您的组织...
《Visual Studio Team System 2008 Team Foundation Server 安装手册》是针对软件开发团队在部署和配置Microsoft的Team Foundation Server (TFS) 2008 SP1的重要参考资料。Team Foundation Server是一款综合性的软件...
TeamPlayer是一款创新的软件工具,它允许两个鼠标同时在同一个屏幕上进行操作,极大地提升了协作效率。这个独特的功能尤其适用于团队合作、演示展示以及教学场景,让两个人能够共享计算机的控制权,无需频繁交换设备...
**Visual Studio 2005 Team Edition 软件架构系列课程** 在“Visual Studio 2005 Team Edition软件架构系列课程”中,我们深入探讨了如何利用Microsoft的这款强大的开发工具进行面向服务的应用程序设计。这个系列...
2 Pizza Team 的组织架构主要有两种基础形态:职能型组织和项目型组织,以及结合两者的矩阵型组织。 - 职能型组织:按照专业领域划分部门,协作推进工作。优点是职责清晰、专业能力集中,但决策过程冗长,跨部门...
Visual Studio Team Edition for Software Architects 是面向软件架构师的版本,提供了类设计器、单元测试、代码覆盖率、动态代码分析器、静态代码分析器、代码探查器等功能,用于应用程序设计、逻辑基础结构设计、...
The Red Team Field Manual (RTFM) is a no fluff, but thorough reference guide for serious Red Team members who routinely find themselves on a mission without Google or the time to scan through a man ...
"Past Team驱动保护"是一款专注于计算机系统驱动程序安全的防护软件。它主要的功能是保护系统中的驱动程序不被恶意修改或破坏,确保系统的稳定运行和数据的安全。在深入理解这款软件之前,我们先来了解一下驱动程序...
【标题】:“TEAM论坛 颓废心情” 这个标题似乎是指一个名为“TEAM论坛”的线上社区,其中可能有一个特别的主题或板块,名为“颓废心情”。这个标题可能代表了一个讨论区,用户在这里分享他们的消极情绪、困惑或者...
根据给定的文件信息,我们可以总结出以下关于TeamSite 6.5 Forms Publisher开发文档的知识点: ### 一、概述 - **标题**: “TeamSite 原厂技术文档 - CMS 开发文档” - **描述**: “Interwoven 的旗舰产品 Team...
《Team Foundation 安装指南》是一个内容广泛的指南,其中涉及 Team Foundation 组件(包括 Team Foundation Server、Team Foundation Server Proxy、Team Foundation Build 和团队资源管理器)的基本安装。您的组织...