一个NBA球队场上球员的组成与软件团队有相通之处,且作一笑谈,不足为证:

1号位,控球后卫(PG),他是球场上拿球机会最多、掌握比赛、组织进攻的人,不仅负责把球从后场安全地带到前场,再把球传给队友,给队友创造得分的机会,助攻是他们的首要工作。控球后卫在赛场上扮演的角色类似于电影导演。而在软件团队中,担任这一角色的莫过于项目经理(项目组长)。项目经理需要调和团队内外的各种关系,组织各种资源进行系统开发,在困境时激励团队成员,在顺境时提醒团队成员。项目经理每每不必参与具体的开发工作,就像PG无需投篮一般, 但项目经理必须具备足够的技术储备以应对各种细节的技术问题,既要熟悉CMM,也要知道如何用UML建模,既要熟悉本钱核算,也应明白SOAP的协议细节。如果PG虽然很少脱手投篮,但如果投篮,那么他的2分球命中率不应低于50%,3分球命中率不应低于40%。目前NBA联盟中最佳的控卫当属太阳队的Steve Nash,虽然30多岁了,但我依然认定Nash是联盟本赛季常规赛的MVP,网队的Jason Kidd也是不错的PG,但Kidd没有Nash那般的灵气。一样,项目经理也必须有成为MVP的潜力,虽然纷歧定参与MVP的票选。

2号位,得分后卫(SG),他的主要任务的是外线得分,因此SG首先要有较高的投篮命中率和稳固性,第二是脱手速度必须快,如此才能拉开对手的盯或联防,帮助队友,尤其是内线球员形成在禁区内的攻势。软件团队里相应的角色应是系统设计工程师,他是一个承先启后的角色,在需求分析与系统实现之间搭建一个沟通的桥梁。系统设计工程师的编程能力在团队中是首屈一指的,而且有必要参与焦点代码的编写,这样更容易验证设计的正确性,或者进一步寻求改进的实现方法。在后卫这个位置上,火箭队的Rafer Alston和Luther Head这两个人远来似乎有些进步,但我感觉Tracy McGrady似乎应该改打PG,Head打SG,Alston是把令人捉摸不定的神经刀,还是做相对稳固的Head的替补比较适开。但Head具备设计比赛的能力吗?这一点我很是怀疑。作为一个系统设计工程师,应有全局不雅,而不是一门心思站在3分线外猛投。适时地分球,正确地投篮,系统设计工程师在项目进行过程中,应该明白该做什么,不该做什么,尤其是不能过深地介入编程,这样将失去他存在的意义。

3号位,小前锋(SF),无疑,Kobe Bryant,一个渐渐走向神坛的人,给了我们一个对SF最好的诠释。SF是得分高手中的高手,高手纷歧定寂寞,寂寞的也纷歧定是高手,但Kobe是寂寞的,即便单场拿下81分,也不见一丝狂喜。Kob剑灵e绝不会在凌晨3点时喝着咖啡用VC或Eclipse写程序,但如果写的话,那么一定要保证能够最终调试成功,一定能够交付给最终用户一个无缺的系统版本。SF的唯一任务就是投篮,哪怕命中率只是个位数,也要红着眼睛把皮球扔出去,SF的眼睛里只有篮筐,45度角跳投、风车大扣篮,无一不是顶级SF的拿手好戏。在软件团队里,软件工程师扮演着这样一个攻击性最强的角色,其他成员应该学会容忍软件工程师的桀骜不驯、囚首垢面,千万不要用朝九晚五这类教条来约束他,迟到早退对他只是家常便饭,因为他总是在别人下班的时候上班。只需对他说:既然杠杆和支点都已经给你了,那么在今晚23:45分之前,我要看到你把地球向上撬动0.018微米,若做到了,就给我发个手机短信,什么 ?做不到?我这暴脾气,哼哼。。。。最好考虑一下如何做到。。。

4号位,大前锋(PF),PF是球场上的苦力,争抢篮板、倒地救球、奋起盖帽等等气力活都由PF承担。Ben Wallace,这个比Barkley还暴躁的男人,让我们见识了PF的性格。PF从不怕冲克什么人,无论是对方的巨星,还是本队的伙伴。如果在软件团队中找到这样一个角色的,我感觉测试工程师最开适不过。测试工程师张开左手是一个bug,张开左手也是一个bug,捕捉bug需要耐心与技巧,需要比编程高手更认真地审视每一个细小需求、每一行代码。他在系统开端之初就要提出自己的测试设计,如果在开场争球时,PF就要注意篮球的落点一样。测试是枯燥的,不能天马行空,也不能风花雪月,他问的唯一一个问题就是:“这是对的,还是错的?”,永远不能出现“或许,或者,假如”等第三个选项,当然,PF不可能抢到所有的篮板,测试工程师也不可能找出所有bug,但他必须具备这样的意识,甘于做个蓝领。

5号位,中锋(C)。大家都说如今是中锋凋零的时代,随O'Neal渐渐老去,姚明、Dwight Howard、Amare Stoudemire、Carlos Boozer虽然有些成绩,但都还没达到O'Neal那样的高度,原因很简单,这四个人手上的总冠军戒指总数加起来是“0”,而O'Neal手上已经戴了四枚戒指。所以本赛季小牛队、太阳队的犀利攻势让人感觉即便没有中锋,也一样可以拿总冠军。但是,小牛队、太阳队拿到了吗?没有,崇尚时兴攻势篮球的两队相继遭到了镌汰!中锋是一个球队的中心人物,强壮、嵬峨,无论进攻还是戍守,他们都是球队的枢钮,故名之为中锋。作为禁区内的擎天柱,抢篮板球是中锋必不可少的能力,同时中锋必须多才多艺,不但要有足够的得分技巧用于进攻得分,戍守时还要能成为球队的最后一道屏障。在软件团队中,这样的角色还是由系统分析师担任比较开适。首先,系统分析师站在最高的层面定义系统的功能框架,既要把用户的需求清晰地描述出来,也要使这种描述足够形式化,以使系统设计人员进行深化设计。其次,系统分析师从不介入编程、用例测试等细节,但他做的统统,都将成为后续工作的指南与评价标准。最后,他要有足够灵活性,以适应用户需求的改变、技术的演进,在系统定义之初就要充分考虑后期系统维护的问题。

当然,一个Teamwork中,除了上述的角色之外,还会有很多的边缘人物,而项目的成败,最终冠军的归属,也离不开一世人的努力,所以,身为团队的一员,所要做的事情就是努力去适应团队,永远不可能出现让团队去适应某一个人的情况,如果有这种人的话,那么只能有一个了局:88

软件开发团队中的角色相关推荐

  1. 软件开发团队中的特殊角色

    软件开发团队中的特殊角色 转载请注明出处http://blog.csdn.net/uxyheaven/article/details/50544809 软件开发团队中有各式各样角色, 如产品, 设计, ...

  2. MBTI在软件开发团队中的应用

    人绝不是一种资源.一方面我们不可能因人设岗,另一方面也不能忽略人性的差异.面对问题时,不要总是单纯地从人的态度或品德上查找问题,而是要反思人事安排和流程建设上的不足.奢望一个人改掉他的缺点,还不足充分 ...

  3. 软件开发团队中,凭什么新手当道?| 畅言

    在一些互联网公司里,常常有些人拥有唬人的头衔,拿着高昂的薪水,甚至有些大权在握,但他们并不胜任他们的工作--那么,优秀的软件团队如何才能避免腐朽? 作者 | Erik Dietrich 译者 | 苏本 ...

  4. 如何评价个人在软件开发团队中的绩效

    我认为一个有效评价手段应该达到以下目的: 1. 对团队:让整个团队进入愉快高效工作状态 2. 对"高手":奖励干活多干活好的人 3. 对"低手":从制度上杜绝磨 ...

  5. 基于J2EE架构的项目开发团队中的角色与职责

    [声明] 1.2内容来源:<J2EE Architects Handbook>中文翻译<J2EE系统架构师参考手册>[翻译 Mellon] 1.角色 Technical arc ...

  6. 如何在软件开发团队中进行有效沟通

    软件的性质决定了人的重要作用,因此有效的沟通就显得尤为重要. 一.文档很重要吗? 传统的软件开发过程强调文档的沟通作用,他要求每个阶段都要产生详细的文档,他希望通过文档不同的涉众可以更好地理解系统的内 ...

  7. 软件开发团队中各个成员的英文简称, 收录早晚会用到.

    写文档及报告等时会用到的一些英文简称, 一个项目(Project)里面,经常用到的角色有: 项目经理:Project Manager / PM 架构分析师:Architecture Analyst / ...

  8. 高效软件开发团队的特征

    高效的软件开发团队是建立在合理的开发流程及团队成员密切的合作的基础之上的,成员共同的迎接挑战.有效的计划.协调和管理各自的工作以至完成明确的目标,高效的开发团队具有如下特征: 1. 具有明确且有挑战性 ...

  9. 软件开发团队常见角色职责

    职责定位,专业的事由专业的人去做 一般一个团队中包含一下这些分工角色:技术总监.项目经理.项目助理.系统分析.产品经理.leader,主程.辅程.测试.美工,DBA等,他们的大致职责描述如下. 技术总 ...

最新文章

  1. mysql为什么每天0点就装东西_MySQL的详细安装教程
  2. c++字符串拼接_Python零基础入门(三):字符串进阶
  3. k8s中service类型
  4. JS合并数组的几种方法及优劣比较
  5. 修改input标签输入样式
  6. export function函数传参_从底层看前端(七)—— JavaScript到底有多少种函数?
  7. oracle 存储结构 语法 第一阶段
  8. 什么影响matlab损失值,matlab – 在计算Logistic损失函数的值和梯度时避免数值溢出...
  9. R语言的特征选择(Feature Selection)包:Boruta和caret
  10. 关于JAVA调用oracle存储过程
  11. 凸优化第八章几何问题 8.4 极值体积椭圆
  12. 免费数据集 公开数据集下载 网站
  13. 数字化转型— 华为业务流程模型学习
  14. 推送之信鸽推送详解 Think Different
  15. 微信文章搜索工具, 推荐使用它,简单好用
  16. Oracle EBS 笔记8
  17. 4种工资条制作方法,总有一款适合你
  18. 如何识别哭泣csdn_【jji技术】语音识别工程实战:聊聊语音芯片选型
  19. SuperMap Desktop制作地图
  20. 云队友丨张一鸣重在思考

热门文章

  1. Java语言学习之类加载机制与反射
  2. 说好的9月底谈薪,这都10月底了,今天又是没等到HR?大家来说说原因?
  3. C#.NET 国密SM4加密解密 CBC ECB 2种模式
  4. 富士康员工盗卖iPhone部件3年赚3亿;张朝阳称工作只为赚钱太low;国产统一操作系统 UOS 正全面适配 | EA周报...
  5. 彩色图像去马赛克与图像超分辨问题的关系
  6. uA741运算放大器原理
  7. Ubuntu上qtcreator的arm-poky-linux-gnueabi-配置
  8. 最为详细的Docker总结
  9. Ubuntu13.04配置完全指南(四)安装常用软件包
  10. python 入门一(数据结构)