如何组建软件开发队伍
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;有些领导以身作则拼命干活,希望下属效仿他成为工作狂;有些领导经常性地做员工的思想工作,企图让人相信积极地工作是人生最大的快乐。这些激励办法能否起作用只有天知道。
真正有效的激励办法就是利益驱动。利益有许多种,如金钱,地位,荣誉,成就感,等等。不同的人在不同的时刻追求的利益是有很大差异的。所以英名的领导应该为下属设计能够让他心动的激励方案(而不是千篇一律的),这样才有可能真正地提高下属的工作积极性。
知人善用的深刻含义是:不仅用最合适的人正确做他擅长的事,而且还要激励他做得更好。“知人”是实现“善用”的前提条件。如果领导不与下属沟通,没有真正关心下属,那么就不可能做到知人善用,实际上浪费了人力资源(团队最宝贵的资源)。
|