求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
用人之道--软件开发团队
 

作者:litp,发布于2012-3-20

 

如何组建软件开发队伍

1. 组建团队的基本流程

了解产品开发需求——〉确定团队的人员需求——〉物色符合需求的人才——〉建立团队

比例:团队领导(10%);核心成员(30%),普通成员(60%)

2. 关于人才的几个观念

只有为企业创造的效益高于为其付出的成本的那些人,才是企业所需要的人才。不能为企业创造效益的人才其实就是饭桶,不论其学历和职称有多高。

团队需要优秀的人才。软件开发是智力创作非体力劳动,优秀人才的创造力比平庸之人要高的多,如果团队没有优秀的人才,几乎不可能开发出有竞争力的产品。优秀人才要价通常比较高,但是他物有所值。企业应该少招募一些平庸之人,把省下来的钱投资到优秀人才身上才对。

但是团队中的优秀人才并不是越多越好,优秀人才太多反而有更大的弊端。一是人力成本太高,他们可能消耗掉产品创造的大部分效益,那么就不划算了。二是团队分裂的风险太高,因为团队的空间有限,无法同时满足很多优秀人才事业发展的欲望;当这个矛盾激化时,优秀人才的内讧将产生极大的破坏力。“一山不容二虎”就是这个道理。所以,团队的优秀人才恰好够用就行。

3. 物色团队的领导

软件开发团队的领导应当具有四项素质,按级别从低到高排列;

不错的技术才能(一段)

较强的管理才能(二段)

丰富的产品开发经验(三段)

敏锐的商业头脑(四段)

目前大多数IT企业在物色团队的领导时,主要考察候选人的管理能力和技术能力。对于搞技术出身的人,如果他能当上小头目,一般地讲他的技术才能不会太差,否则他岂有出头之日。然而即使某人的技术水平是团队里最强的,如果他不具备带领团队所有成员正确干活的能力(即管理能力),那么他就不能当团队的领导。

业界普遍认同的是,合格的项目经理应当具备较强的管理能力和不错的技术才能。那么对项目经理而言,究竟是技术才能重要还是管理才能重要呢?

业界不存在判断的准则,人们也没有必要过多的争论,应当视项目的规模和复杂性而定。如果项目的技术难度很高,但规模很小,只有几个人干活,那么领导者的技术才能比管理才能更加重要。反之,如果项目的技术难度不高,但是规模比较大,只要团队的成员超过十人,那么领导者的管理才能比技术才能更加重要。

企业在物色重大的团队的领导时,不仅要考察候选人的技术才能和管理能力,尤其要关注商业头脑和产品开发经验。

商业头脑是团队领导最重要的素质。有商业头脑的领导能够带领团队朝着最赚钱的道路前进,即使遇到一些坎坷,也无碍于最终的成功。反之,缺乏商业头脑的领导通常不知道产品的卖点是什么,却一味地在技术方面下功夫,经常让团队干些不赚钱的南辕北辙的事情。

如果团队的领导有丰富的产品开发经验,那么他就能复用以前的成功经验,能够规避失败的风险。当项目遭遇一些意外困难时,他自己不会手忙脚乱,能够从容地带领团队克服困难。就如战斗中,存活率比较高的通常是队伍中的老兵,因为他们有丰富的战斗经验,而不是枪法比新兵好。

简而言之,如果你想成为普通团队的合格领导者,你应当具备不错的技术才能和较强的管理能力。如果你的抱负更大,想成为“将帅之才”,那么你必须具备丰富的产品开发经验和敏锐的商业头脑。

4. 物色团队的核心成员

领导者应当从团队里面挑选一些核心成员,为自己分担压力。不但分派重要的任务给他们,而且也要给他们更多的利益。为了避免影响团结,领导者不必把“核心”与“普通”的标志贴在人的脑袋上,你自己心里有数就行了。

区别“核心”与“普通”的要素是:“才能,责任心,忠诚度”。

让才能出色、责任心强的人成为核心成员这是顺理成章的,无需解释大家都明白。不少人对“忠诚度”有狐疑,觉得这是鼓吹“拉帮结派,玩权术”。

大家不必忌讳“忠诚度”这个词,世上没有哪个领导不“拉帮结派,玩权术”的,否则他怎么能够巩固地位、向上发展呢。只要他拉对了人、玩对了权术,这就是他的领导水平。

英明的领导不仅让那些才能出色、责任心强的人成为核心成员,而且还有魅力使核心成员忠诚于他,从而使团队越来越强,大家的事业发展越来越好。

反之,平庸的领导常常重用亲近自己但是才能平庸、责任心不强的人,当自己陷入困境的时候,团队就“树到猴群散”了。

5. 物色团队的普通成员

连普通成员都要物色吗?

是的,任何成员都会对项目产生影响,有正面的也可能有负面的,所以团队领导也要用心物色普通的成员。如果把核心成员比作医生,那么普通成员就相当于护士,好医生加上好护士才能把医务工作做好。

选择普通成员的主要指标是“技能合格,安分守己,任劳任怨”。

技能合格是最低要求,因为招聘他来是干活的,而不是摆在那里看的。团队中技能不合格(没有用处)的人应当通通剔除,即便他是个老好人。如果项目要招聘程序员,而有一个落魄的博士前来应聘,他虽然写过许多文章却几乎不会编程,那么请他另谋高就而不要招来撑门面。

安分守己是指这个人比较老实,不搞破坏也没有非分之想。安分守己的成员让领导放心。安分守己向前一步就是任劳任怨,不仅让人放心而且让人感动。

任劳任怨是指领导让他干啥他就认真地干啥,即使很劳累、没有多少成就感,他也乐意。任劳任怨这种美德只有普通人员才可能具备,因为优秀的人才只会对自己追求的东西倾注热情,很少对上级指派的工作任劳任怨。

任劳任怨的普通成员虽然在事业方面成不了大器,但是很值得交朋友。朋友的远近是用情感而不是用功利来衡量的。无论你的领导才能多么出众,在你强盛时期,你要用心照顾那些任劳任怨的普通成员,让他成为你的朋友。而当你脆弱之际,他们会回馈你友情,帮你走出心灵的困境。

如何管理软件开发团队

1. 团队管理的目标与策略

团队管理的基本目标是:让所有成员有条不紊地开展工作,在预定的时间和成本之内,开发完成质量合格的产品,从而使企业和个人获得预定的利益。

团队管理的努力目标是:调动一切积极因素,努力提高产品质量、提高工作效率并且降低开发成本,使企业和个人获得比预定目标更多的利益。

团队管理的策略:大部分的管理工作是成熟的,有成功的模式可以套用,应当走规范化管理的路线;而另外小部分的管理工作可能是富有个性的,并不适宜套用规范,那么应当采用超越规范化的管理方式。

规范化的正面意义是“稳定有序”,负面意义是“僵化死板”。超越规范化的正面意义“高效灵活”,负面意义是“混乱无序”。

团队管理既需要大量的规范化管理方式,又需要小量的超越规范化的管理方式。通常前者约占80%,而后者约占20%(仅是参考数据)。

国内大部分软件企业的管理现状是;规范化管理太少了,非规范化的管理太多了,到处都是游击队的运作方式。阻碍中国软件企业发展的瓶颈问题通常不是技术,而是杂乱无章的管理。

2. 规范化的管理

规范化管理有两层含义:首先制定工作规范,然后按照规范开展工作。

软件团队的主要工作包含了技术开发和管理,因为至少需要两类规范。一类是软件技术开发规范,它规定了如何开展需求分析、系统设计、编程、测试等工作;另一类的项目管理规范,它规定如何开展项目规划、项目监控、质量管理、配置管理等工作。上述通常称为过程规范。

企业需要实用的,容易执行的,而非高深的、复杂的软件过程规范,制定这样的规范是一项颇具难度的工作。规范制定者首先要深入调查企业过程能力的现状,识别出薄弱环节,分清“轻重缓急”。再根据企业的实力(如资金和人力)确定过程改进的各个阶段目标,制定与目标相适应得规范。在参考业界推荐的过程标准或规范,要舍弃那些听起来很先进但对本企业毫无益处的东西,只选取对企业有实用价值的东西。

企业制定软件过程规范是为了帮助人们把工作做的更好,而不是存心与人们过不去。企业一方面要用行政命令和惩罚措施来强制实施软件过程规范,另一方面又要设法使员工们乐于执行规范从而避免流于形式。

3. 超越规范化的管理

在团队的日常工作中,总有一些事情无法套用规范,因为干活得是活生生的人而不是机器。无法套用规范的管理并不见得就会杂乱无章,情况好坏取决于领导者的管理才能。

本节之所以用“超越规范化的管理”这个名称而不是“非规范化管理”。就是想突出“超越”两个字。规范的东西通常是平凡的,普通人都能学会使用;而“超越”则是不平法的,它需要智慧。超越规范化的管理得精髓就是“知人善任”。

团队领导给成员们指派任务、制定进度计划是项目管理中的一项重要工作,属于项目规划过程域。一般地,规范化的做法是:

(1) 先分解产品的功能,给出WBS(Work Breakdown Structure)图;

(2) 根据WBS图估算产品的规模(例如用代码行或者功能点来度量);

(3) 根据产品的规模和团队的平均生产率,进一步估算工作量(如用人月来度量);

(4) 根据工作量和团队的人力资源,确定人数和工作时间。

(5) 最后把符合角度要求的人安插到具体岗位上(即分配任务),并分配处期望的时间。

上述做法比起瞎指挥好得多了,但是该规范并没有告诉我们哪个人最适合干什么事情,所以依据规范制定出来的计划具有统计意义上的合理性,但并不是最优的。软件开发是智力创而不是体力劳动,给软件人员分配任务不能像对待传统工人那样随意。领导者可以不必深入了解工人A和工人B的技能,反正两个人干的活都差不多。然而对软件人员C和D,假设C很擅长于设计用户界面而编程水平比较低,D很擅长于编程而几乎不懂得界面设计,如果C和D的工作错位的话,那么将对开发工作产生严重的负面影响。

知人善用显然是超越规范的。直观地理解,“知人”是指领导者应当非常了解他的团队成员,包括知识技能和性格爱好,等等;“善用”是指让团队各成员扬长避短,使团队战斗力达到最强。

人到企业工作,既要为企业创造效益,又要获取个人的利益。一般地,规范化管理的目的是使企业和个人获得预定的利益(实现这个目标已经相当不错了),然而人的潜力是巨大的,卓越的领导者能够充分调动团队成员的工作积极性,使企业和个人获取比预定目标更多的利益,这也是超越规范的管理。

具体做法可谓五花八门,例如,如果经费充足的话,有些领导经常性地带着团队吃喝玩乐,美其名曰Team Building;有些领导以身作则拼命干活,希望下属效仿他成为工作狂;有些领导经常性地做员工的思想工作,企图让人相信积极地工作是人生最大的快乐。这些激励办法能否起作用只有天知道。

真正有效的激励办法就是利益驱动。利益有许多种,如金钱,地位,荣誉,成就感,等等。不同的人在不同的时刻追求的利益是有很大差异的。所以英名的领导应该为下属设计能够让他心动的激励方案(而不是千篇一律的),这样才有可能真正地提高下属的工作积极性。

知人善用的深刻含义是:不仅用最合适的人正确做他擅长的事,而且还要激励他做得更好。“知人”是实现“善用”的前提条件。如果领导不与下属沟通,没有真正关心下属,那么就不可能做到知人善用,实际上浪费了人力资源(团队最宝贵的资源)。

 
相关文章

项目流程_IPD
EA中的项目管理-计划与跟踪
大型项目中的敏捷项目管理实践
敏捷项目管理概述
 
相关文档

IPD体系框架下的项目管理
项目管理基础与敏捷开发入门
IT项目管理培训
软件项目管理
 
相关课程

软件开发过程中的项目管理
基于IPD的项目管理方法与实践
敏捷项目管理实践
项目管理高级实践
 
分享到
 
 
     


如何有效地进行项目沟通
如何进行项目计划及质量管理
IT项目风险管理案例和应对之道
组建高效快速研发团队的必要
一个甲方项目经理的自白
TFS使用指南


软件项目管理
软件开发项目管理
研发项目管理
高级项目管理实战
敏捷项目管理实践
项目风险管理

相关咨询服务
建立项目管理规范


中国银行 IT外包项目管理
北京软件项目管理
某电子软件中心 项目外包管理
某电信服务商 项目外包管理
富士 软件外包项目管理与进度
Schneider 项目管理+软件质量
中国电信 软件项目管理