`
冰云
  • 浏览: 142603 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

敏捷团队建设

阅读更多
刚写好的时候本来尝试发javaeye,结果那天好像服务器有问题没提交上来。这么多天才想起来重新发。。。

--------------------------

敏捷团队建设 本文发表于4月《软件世界》

最近很多人都问我,有没有适合的人可以推荐给他们公司,他们正在招人,面试了很多个,但有经验的开发人员太难找了。有一个朋友在问我要人的同时,他手下的一个开发人员反而问我有没有好的机会,他想跳槽。

不久前一份报告称,中国本地软件企业面临的最大问题之一,就是高级技术人才的缺乏。造成这种问题的原因,主要是由于本地软件企业的人才培养机制和管理机制的欠缺。人才大量涌入外资企业和频繁的流动,导致了各类有经验人才的欠缺。

每个人都会梦想自己的理想工作。做技术的开发人员要求的更是简单:一个能够不断学到新知识和新技能的职位,一个融洽的团队,一个舒适宽松的开发环境,一份成长的空间。而这些简单的需要,恰恰是许多公司所忽视的地方。这些东西,很多时候就是一个人决定离职的因素。

有的公司认为开发团队是成本中心,所以给他们买最便宜的桌椅——而恰恰是开发人员们一天都依赖于这样的桌椅为公司创造价值;有的公司觉得自己的一套软件不停的实施就能不停盈利——而开发人员最厌烦的就是做重复性工作;有的公司要求开发人员必须上班打卡——好的,那开发人员绝对不会晚下班一分钟。有的公司从来不举行内部的技术交流和培训活动——而开发人员希望的技术提高绝不仅仅是只靠读书能够完成的。

公司要依靠软件来盈利。而要开发一个成功的软件项目,人的作用是第一位的。而个人的力量相对于整个团队来说,又是微不足道的。稍微有点规模项目的成功都是集体努力的结果,而不是靠一两个英雄程序员能够完成的。为了能够保持一个稳定和高效的团队,建设一个吸引开发人员的环境和氛围是所有公司的管理人员们应该考虑的一件事。一个核心的产品开发人员离职,很可能使得当前的项目或订单陷入瘫痪,这目前已经成为了影响许多中小公司存亡的大事。

我所在的公司不仅仅以敏捷过程著称,同时,它以其特有的文化和团队氛围吸引了一大批高水平的开发人员。他们不仅仅是认同敏捷而聚在一起,更多的是,他们向往着这种平等、自由、轻松、快乐的空气。

人与团队

在公司一个典型的敏捷团队中,大致有四种不同角色:项目经理、业务分析师、开发工程师、测试工程师。同时,根据项目不同可能还需要:美术设计师、数据库工程师、系统工程师、交互设计师等不同人员。虽然在项目中不同的人需要确定一个角色,并担负相应的责任,但在公司内部,人与人之间是完全平等没有级别区分的。这种平等的文化,就使得人与人之间的交流不会因为等级差距而丧失。同时公司鼓励每个人向其感兴趣的其他领域发展,成为综合性人才。例如某个人现在是开发人员,但他也可以通过帮助项目经理做一些辅助工作,来学习项目管理方法,从而最终成为独当一面的项目经理。

项目成功的一个重要因素就是交流。保障团队内外顺利交流是项目经理的责任之一。公司鼓励员工之间交流看法和讨论问题。在公司内部,如果有闲暇时间,随时可安排一场讲座。这些讲座都是由员工自发组织和自愿开展,话题多种多样,不仅仅限于技术。经济、法律、业务知识等等,都是大家平时感兴趣的领域。在项目中,定期的Learning Lunch也是公司项目的一大特色。和客户一起围坐在餐桌前,边享受公司提供的午餐边讨论项目中的技术,团队的学习交流气氛自然会无限高涨。

除了自发的、自由的交流,还有一些约定的交流时间和形式,例如,每天的站立会议。你要说出昨天做了些什么,今天会做些什么,遇到了什么困难是否需要别人的帮助。站立会议鼓励每个人说出事情的真相。有了困难就大胆的向你最值得信任的同伴来寻求帮助,没有人会嘲笑你,也没有人会冷漠的不去理睬你的困境。一个自组织的团队,应当是一个温馨而又和谐的集体。每个人都会努力的帮助其他的人,帮他解决他的问题并从中积累更多的经验。

图略:站立会议

无论是在项目中还是在个人的发展过程中,回顾与总结都是一个必不可缺的步骤。公司内部任何事情告一段落的时候都会有一个总结活动。迭代总结,项目总结,发布总结,陪训总结等。在这段时间内什么做的好,什么做的不好,如何进行改进。任何的过程和成绩都不能是静止不变的。只有不断的反省和总结,才能够在未来的发展中进一步提高。项目团队一起召开总结会议活动,在这个活动中,任何人不能够对其他人进行指责和攻击,一切都应该以互相信任为基础,我们的目的是提高下次的工作效率和增强同伴的信心,而不是批斗和推卸责任。公司对员工的绩效考核,也是类似的由一起工作过的同伴来进行评价,360度全方位考核。这种定期的总结和回顾,提供给了员工与团队自我成长的机会。

除了内部的交流,公司还鼓励员工进行技术创新和参与其他社会活动,例如参与开源软件开发、撰写书籍、向杂志投稿、参加和举办技术社群活动等。这些对技术社区的贡献,不仅仅能够提高员工个人的能力,同时还展现了公司员工的整体能力和提升了公司的知名度。对公司和个人来说是双赢。

环境与工具

如果你有机会到我们的办公室,你就会发现,每一张墙都被占得满满的。墙上可能会贴满了各种颜色的小卡片,这些都是正在进行的项目的需求。每张卡片都是一条用户故事,开发人员根据用户故事实现系统功能。这种被贴在墙上的一目了然的管理方法叫做可视化管理。在公司内部,开发、招聘、销售等各种流程的状态都被一一列在墙上。一来可以作为工作的进展图公示于众,二来可以使每个感兴趣的人都可以随时提出他的想法或主意,集思广益,将工作做到最好。

图略:墙面

公司采用大长桌作为开发用桌。座位之间没有隔板。一方面适合与敏捷开发中的结对编程实践,另一方面可以减少隔板带来的交流障碍。如果你到一个采用隔板的公司去走一圈,再来比较公司的工作环境,就会明显的感受到交流频度和广度的明显不同。公司提供给开发人员舒适的座椅,带有扶手并可以调节高度和后仰角度,以适合每个人不同的需要。如果中午工作累了,还可以躺在椅子上小憩一会养足精神以便下午更好的投入到工作中。

图略 开发桌椅

在项目中,必不可缺的交流工具是白板和纸。再没有比这更廉价和更好用的工具了。两个开发人员遇到了分歧,两人走到白板前写写画画,很快,一副清晰的系统脉络就出现在两人面前。分歧达成了一致,开发继续进行,而图像留在白板上,任何过路的程序员都可以驻足观看,如果感兴趣还可以问一问作者,更深入的探讨。在开发的过程中,随时遇到问题或需要记录的,都可以立即写在手头的白纸上,一些简单的算法草稿,也都是用白纸完成。这些白纸多是打印用过一面的纸张,环保而又经济。

我公司和其他大多数外企公司一样,为员工提供免费的饮料和零食。每天早上,公司的面包机都会工作个不停,烤面包的香气会和着咖啡的味道飘扬在空气中。午饭后,从冰箱中拿出一罐健怡可乐,冰凉爽口,喝下后休息一下就可以精神十足的开展下午的工作。下午四五点钟,正是开始感到饿的时候,到零食区找一块巧克力吃补充一下体力,顺便休息几分钟,活动一下筋骨。

图略 饮料零食区

公司还在办公室内放了一台电视机和一台PS2,午饭后和下班后,你可以和同事相约PK一场实况足球,既休息了神经,又和同事加深了感情。公司还经常组织各种体育活动。每周租一次羽毛球场,让长期在电脑前工作的员工运动运动,有助于身体健康。

以上这些是我公司在团队文化建设的一些做法,提出这些供大家参考,希望更多的公司管理人员,能够从中或多或少的汲取一些经验,将之用于提高公司开发人员的物理和人文环境。

改造公司的开发环境,可以先从很简单的做起,例如,在办公室的一角开辟一处饮食区,提供免费的饮料和食品;在走廊上挂一个白板,随时有人记录一些东西;为员工提供更舒适的座椅。这些东西花不了多少成本,但其收效是明显的。不论是技术部门还是其他部门,都会为公司这一点点人性化的举动感到高兴。有了高昂的士气,做事情自然也会更加积极高效。不需要公司一下子全部改变,但往往一点点的细节变化就能够获得全体人员的支持。虽然有些投资,但员工给公司的回报会更多。

无论是敏捷开发理论还是精益管理理论中,都提到团队的作用是最重要的。如果能够发挥人的能动作用,并良好的保持下去。我想,没有什么目标是我们完不成的。如果所有的公司都能够提供良好的环境给开发人员,那不仅仅是开发人员的的幸事,更是我们整个中国IT界的一大幸事了。
分享到:
评论
44 楼 java_mid4 2007-12-07  
看了这个 搞的我非常有冲动想跳槽-。-
43 楼 chenhui 2007-12-05  
高,这是我向往的团队。在广州从业开发两年了,跳了第两家公司都是以项目为主导的小公司,有项目了招人,没有项目了就开除员工,所有的开发经验都是靠自己摸索积累,没有任何培训,很多时候都是一个人独挡一面。明年我要找家人性化点的公司。
42 楼 t0uch 2007-11-30  
廉价是没错了
是不是好用和听话就难说了
41 楼 狂放不羁 2007-11-23  
有一个好的团队非常重要。
40 楼 w_y_g 2007-11-20  
经济基础决定上层建筑,很多的优越条件都是建立在高利润率的基础之上,现在很多企业都挣扎在温饱线上,如果让他们很快建立这样人性化的环境,他们是很难在有其他的资源去维持生存了。
39 楼 yantao3000 2007-09-12  
好文章,公司应该为员工是供午餐,如果加班要提供晚餐
38 楼 libiao_0524 2007-09-09  
觉得这样环境比较理想话了.不是太现实.
如果真正想达到这样的环境的话没那么容易.
一个公司我觉得只有经过"血"的洗礼,才能创造出价值,才能够有楼主所说的这样的工作环境.
37 楼 Jameslyy 2007-08-30  
这样的公司环境真是软件开发者的天堂,是不是太理想化了啊!工作是快乐的,效率也是最高的,这需要公司的管理者具有开明的管理思想和高明的协调能力。
36 楼 rainfish 2007-08-22  
想跳了,在公司太没激情了,怎么才有激情而又不劳累呢!
35 楼 Chamjoneu 2007-08-17  
想问一下 冰云 tw有没有在上海开分空司的打算?

因为最近要开始做一个项目 两个人去接手一个国外工作组的工作 要involve很多agile开发的元素

进来 像tw 的 cruisecontrol selenium等 接触了点agile 和 tw 的信息 现在中毒很深 呵呵
34 楼 yiding_he 2007-08-14  
koda 写道
我一直怀疑Agile的一个问题是:墙壁上都是卡片......
为什么很多谈agile人都鼓吹这个?

我觉得这个东西既不是必要的,也不是agile专有的,
乱七八糟,更不是一个好的工作习惯!!

我更愤懑的是相关的xp管理提出故事(story),创立这种名词好像就为了吸引眼球一样
我们以前开发的时候就是通过一个系统把需求按层级一条一条记录下来和bugid对应。
不就是需求条目吗?什么story啊,乱七八糟

你在问:为什么要有卡片?那么,什么是卡片?卡片真的是乱七八糟的吗?卡片是为了整理用户故事,什么是用户故事?用户故事和需求是什么关系?用户故事和 BUG 又是什么关系?你需要了解的东西真的是非常多。
33 楼 stonecat 2007-08-13  
不就是需求条目吗?什么story啊.

--->条目干巴巴的,story就丰富多了。难道你认为需求文档中的那些条目就可以再现需求了吗?story 是可以渲染出一个更具体且真实的需求场景。当然story最好是从人口中讲出来的,而不是什么文档。感觉再好的文档也就像葡萄干。如果你没有见过葡萄,只给你一个葡萄干让你画葡萄,也许你画的葡萄就是方的。
32 楼 movingboy 2007-07-26  
我觉得敏捷是一种方法学,不必局限于具体的手段,卡片可以用,白板、电话、QQ也行,只要能提高效率~~~
楼主的文章中还提到了一些在《人件》中提到的内容,让员工享受工作的过程和环境,比直接用money来刺激要高明得多了~~~
31 楼 koda 2007-07-26  
xly_971223 写道
koda 写道
我一直怀疑Agile的一个问题是:墙壁上都是卡片......
为什么很多谈agile人都鼓吹这个?

我觉得这个东西既不是必要的,也不是agile专有的,
乱七八糟,更不是一个好的工作习惯!!

我更愤懑的是相关的xp管理提出故事(story),创立这种名词好像就为了吸引眼球一样
我们以前开发的时候就是通过一个系统把需求按层级一条一条记录下来和bugid对应。
不就是需求条目吗?什么story啊,乱七八糟

ls用了怀疑的二字,可以看出ls可能没有用过‘卡片’吧, agile也可能没应用过吧
那么我觉得当对一个东西不了解 没有实际去用过的时候,就不要妄下结论,更不要说它乱七八糟



我们一直在使用xp的思想,xp的工具集
团队也有人用卡片:比如,今天下午又会议...
但是我从来不用卡片

至于story,我们从来都不提这个概念!!!
我们用xplanner跟踪迭代需求
30 楼 xly_971223 2007-07-26  
koda 写道
我一直怀疑Agile的一个问题是:墙壁上都是卡片......
为什么很多谈agile人都鼓吹这个?

我觉得这个东西既不是必要的,也不是agile专有的,
乱七八糟,更不是一个好的工作习惯!!

我更愤懑的是相关的xp管理提出故事(story),创立这种名词好像就为了吸引眼球一样
我们以前开发的时候就是通过一个系统把需求按层级一条一条记录下来和bugid对应。
不就是需求条目吗?什么story啊,乱七八糟

ls用了怀疑的二字,可以看出ls可能没有用过‘卡片’吧, agile也可能没应用过吧
那么我觉得当对一个东西不了解 没有实际去用过的时候,就不要妄下结论,更不要说它乱七八糟



29 楼 koda 2007-07-26  
我一直怀疑Agile的一个问题是:墙壁上都是卡片......
为什么很多谈agile人都鼓吹这个?

我觉得这个东西既不是必要的,也不是agile专有的,
乱七八糟,更不是一个好的工作习惯!!

我更愤懑的是相关的xp管理提出故事(story),创立这种名词好像就为了吸引眼球一样
我们以前开发的时候就是通过一个系统把需求按层级一条一条记录下来和bugid对应。
不就是需求条目吗?什么story啊,乱七八糟
28 楼 sungaofei 2007-07-25  
大哥,你是那家公司呀
27 楼 kabbesy 2007-07-25  
bobo 写道
很羡慕楼主的团队,我觉得没有能在楼主一样团队的人也不用感到难过。你所在团队氛围不好,改变不了公司也可以试图从小团队内部去改善,让和你一起工作的人感到愉快。


原文的内容已经涉及到公司文化调整和控制权下放的问题,从小团队内部改善这种由下至上的方法,是无法实现的
26 楼 kabbesy 2007-07-25  
赞此文,从人的角度提了很多”敏捷“!这应该就是thoughtworks的冰云吧?

不过总觉得没那么完美,在描述美好feature的同时,也给出一些实践中的“问题”会不会更好?
25 楼 bobo 2007-07-17  
很羡慕楼主的团队,我觉得没有能在楼主一样团队的人也不用感到难过。你所在团队氛围不好,改变不了公司也可以试图从小团队内部去改善,让和你一起工作的人感到愉快。

相关推荐

    敏捷时代——营销人生存指南.pdf

    2. 敏捷团队建设:在敏捷时代,营销团队不再是独立运作的孤岛,而是需要与其他部门紧密协作。团队成员应具备跨功能技能,能够快速响应市场变化,并通过日常站立会议等机制保持沟通与协调。 3. 客户为中心:敏捷营销...

    自动自发的敏捷团队-2012.12.05, CSDN CTO俱乐部

    从给定的文件信息中,我们可以提炼出一系列与IT行业,特别是敏捷开发团队管理相关的知识点。...同时,从更宽广的历史文化视角理解专业精神的本质,可以为敏捷团队的建设和管理提供更深层次的启示。

    赋能:打造应对不确定性的敏捷团队

    关于如何更好建设团队,在实际社会活动中快速应对各种挑战。

    敏捷软件测试:测试人员与敏捷团队的实践指南

    #### 敏捷团队的建设与优化 一个成功的敏捷团队不仅要有合适的技术支持,更重要的是建立良好的团队文化和工作机制: - **跨职能组成**:确保每个小组内包含不同专业背景的人才,比如开发人员、测试人员、UI设计师等...

    敏捷开发实践集(AgileDo)

    - **标准敏捷实践(CAP)**:这部分介绍了敏捷主流方法论中推荐的标准做法,包括迭代管理、产品管理和敏捷团队建设等方面的核心实践。 - **纯软件场景落地实践(GLAP)**:考虑到不同团队的文化和环境差异,GLAP重点...

    融合敏捷开发与软件工程.pptx

    ### 融合敏捷开发与软件工程的知识点详解 #### 第1章:融合敏捷开发与软件工程 **一、融合敏捷开发与软件...通过合理应用敏捷团队建设和DevOps实践,可以构建一个高效协作的软件开发团队,实现持续创新和卓越成果。

    赋能:打造应对不确定性的敏捷团队

    无论你在哪个领域,无论你处于哪个领导层级,这些观念和技能都是有必要学习的。除了畅快、缤纷的阅读体验,读者还能通过这本书领略组织变化,深度理解团队协作,因为在今日快速变动的环境下,团队协作是必不可少的

    第三届敏捷大会幻灯片

    7. 敏捷团队建设:团队的协作和沟通是敏捷成功的关键。可能涉及的话题有跨职能团队、自组织性、以及如何建立高效的敏捷文化。 8. 敏捷教练的角色:在敏捷转型过程中,敏捷教练起着至关重要的作用,他们帮助团队理解...

    敏捷软件开发 原则、模式与实践

    书中的agile03.pdf章节可能涉及敏捷方法的更深入话题,如敏捷估算技巧、敏捷团队建设或者敏捷质量管理等。 总之,敏捷软件开发是一种以灵活应对变化为核心的开发哲学,它通过一系列原则和模式,帮助团队在快速变化...

    基于敏捷方法的软件开发.pptx

    - **敏捷团队建设**:构建一个高效的敏捷团队需要明确的角色分工、良好的激励机制、有效的沟通与协作方式以及积极的团队文化。 - **敏捷项目计划**: - **需求整理与优先级排序**:确保团队关注最重要的功能点。 -...

    敏捷软件开发:原则模型与实践

    同时,书中也讨论了敏捷项目中的风险管理、沟通策略以及如何进行有效的敏捷团队建设。 总的来说,《敏捷软件开发:原则、模式与实践》是一本涵盖敏捷开发全方位知识的宝典,无论是对初学者还是经验丰富的开发者,都...

    软件工程中的敏捷评估与持续改进.pptx

    - **敏捷团队建设**: - **角色分配**:明确团队成员的角色(如产品负责人、Scrum Master、开发人员等),各司其职,协同工作。 - **高效沟通**:定期举行站会、回顾会议等,及时分享信息,解决问题。 - **团队...

    Succeeding with Agile - 英文

    3. **敏捷团队建设**:如何构建高效、自组织的敏捷团队是本书讨论的重点之一。作者分享了关于团队结构、沟通方式以及激励机制等方面的经验和建议。 4. **规模化敏捷实践**:随着项目规模的增长,敏捷实践也需要相应...

    软件项目团队建设

    在软件开发过程中,团队建设是至关重要的一个环节。软件项目团队建设不仅关乎团队成员的技能匹配,更涉及团队协作效率、沟通效果以及整体项目成功的可能性。以下是对“软件项目团队建设”这一主题的详细探讨: 一、...

    赋能:打造应对不确定性的敏捷团队.zip

    6. 团队建设与文化塑造: 构建敏捷团队不仅仅是技术层面的改变,更涉及到组织文化的发展。团队需要形成共享的愿景,培养协作精神,以及推崇尊重、信任和开放的价值观。 通过理解和实践《赋能:打造应对不确定性的...

    9.项目资源管理1

    6. **敏捷团队建设**:敏捷项目管理强调自组织团队,团队成员应是通用专才,能够适应变化并提供反馈。在第6题中,项目经理应招聘具备这种能力的团队成员。 7. **责任分配矩阵(RACI矩阵)**:这是一种工具,用于...

    Head First Agile

    7. **敏捷团队建设与协作**:书中强调团队成员间的信任、沟通和合作,以及如何建立高效、自我组织的团队。 8. **敏捷风险管理**:在敏捷环境中,风险管理和问题解决是不可或缺的。书里可能会探讨如何识别、评估和...

    龚明杰-“神兵”天降 - 揭秘平安 DevOps 的核心实践.pdf

    - **敏捷团队建设**:通过建立节奏、版本火车和迭代开发模式,以及代码规范和代码评审,增强了团队协作和代码质量。 - **测试自动化**:统一测试用例、计划与缺陷管理,通过自动化测试和实时反馈,降低了问题的...

    工程师文化与团队建设.rar

    7. **敏捷开发与DevOps**:敏捷方法论和DevOps实践强调快速迭代、持续集成和自动化测试,这些都对团队建设提出了新的要求。团队需要适应敏捷流程,提高交付速度,同时保证产品质量。 8. **健康的工作生活平衡**:...

Global site tag (gtag.js) - Google Analytics