winston 发表于 2011-12-16 11:43:38

如何通过技术培训建设强有力的软件团队 |caowenbin

      无论哪个团队都想成为拥有超强技术实力的团队,而建设一支这样的团队也是每一位组长、技术主管、架构师的责任之一,要问起怎样建设,会得到很多种回答,有人说涨工资,有人说搞绩效,有人说多聚餐,有人说去旅游……那么哪种方式能低成本高收益的提升团队的技术能力呢?
      当然,答案肯定不是唯一的,这个答案既会随着企业文化变化,也会随着管理者风格变化,但是我认为,提升团队的技术实力首选的还是进行技术培训。
      显然,技术实力的提升要靠团队成员的技术能力来保障,因此提升每位成员的技术实力就尤为重要。在本文中我们暂且不讨论技术培训的重要性,而是把关注点放在如何进行技术培训上。


一.培训目标
      在一个理想的软件团队中,技术实力可以大致分为三种:一种是基础技术能力,这种能力可以认为是一个初级软件工程师应该具备的知识和技能;第二种是中级技术能力,可以认为是一定的分析设计能力;第三种是高级技术能力,可以认为承担软件全局的设计或架构的能力。
      比如一个手机软件团队,通常大部分人在从事Android、iOS等具体平台下的编码工作,这部分工程师熟悉某平台的API接口、平台特性,可以完成对给定类的代码实现,也具有一定的网络、UI等知识,可以实现指定的功能,这可以被认为是一种基础技术能力。还有一小部分人承担了更复杂的更大粒度的模块开发,可以对复杂功能进行设计工作,并分解为更小的单元,可以指导其他成员的开发工作,可以看到代码中不合适的地方并进行重构,这可以被认为是中级技术能力。另有一位或几位负责软件全局的结构设计、质量保证等工作,对软件的质量属性有保证能力,这可以被认为是高级技能。
      通过这样的分解,就可以进行针对性的培训目标设定了。如果软件中的低级bug较多,可用性降低,可能是在基础技能上需要加强,可以考虑由经验丰富的开发人员进行经验分享,或者针对特点问题进行重点剖析,从而提升基础技能。如果复杂功能的实现不够顺畅,可靠性降低,灵活性降低,可以寻找是不是功能的设计上不合适、类结构上不合理,耦合度是否太高,并针对性的进行中级技能的培训。当然,如果想提高架构等能力,就可以进行高级技能培训。


二.培训周期
      在培训目标中说了很多,可见其太重要了,目标不对或没有目标的培训只是在浪费时间。在明确了培训目的以后,需要设定培训频度。这个就相对容易进行了,对基础技能的培训频度可以高一些,比如每周一次,对中级技能的培训频度可以略低一些,比如两周一次甚至更长,对高级的当然可以周期更长。另外也不必拘泥于固定周期,但固定周期往往能让被培训成形成习惯,所以还是建议这样进行。


三.培训内容
      培训内容的选择就要根据自己的实际情况了,举个例子,比如进行Android平台开发的团队,可以进行Android平台本身的培训,也可以进行Java语言能力、OO设计、重构、设计模式等培训,这些一定要具体团队具体分析,要有针对性而不是盲目从众,否则会有费力不讨好的嫌疑,造成收效不高的结果。


四.培训讲师
      培训师的选择最好是在内部产生,这样设计的内容更有针对性,甚至可以直接通过项目代码进行实际演示,往往事半功倍。这是重点的是内容设计,不仅要难易适中,更重要的还是针对性,不务虚,不泛泛。对有兴趣为大家分享一些知识的成员,也可以安排时间来作讲师,形成良好的交流氛围。记住,这是内部培训,形式不那么重要,重要的是高效的知识传达。即使请外部的培训师,也一定要在内容设置上把好关。




五.参加人员
      参加培训的人员既可以是指定的,也可以是成员自愿的,当然也可以二者结合。重要的是不要遗漏目标受众。对于个别不愿参加的人员,可以通过建议等方式邀请参加。在这个过程中,一方面可以发现成员的技术取向,另一方面可以补充某些成员薄弱的知识环节,有利于知识体系的完整。

六.培训反馈
      培训结果反馈是最容易忽视的一环,往往培训完了就结束了,但恰恰这才是最重要的一步。结果反馈不是随便填一张调查表,而是针对每位参加培训的成员进行回访,进行一对一的谈心和效果反馈,征求意见和建议,指导他在实际工作中的知识运用,并寻找对后续内容的期望。这种反馈未必每次都进行,但一定要进行,并且通过观察长期的bug数量等指标来评估培训的成果。


      相信通过以上这些描述,我大体上能展示出技术培训的主要环节和实施方法,这些内容可以根据企业或团队特点进行灵活处理,但不管怎样,作为团队建设的重要环节,培训是低成本高收益的事,也是各团队负责人或技术负责人的一项责任,同时是成员取得团队认同和技术能力提升的重要方式,需要长期坚持,在潜移默化中团队的已经具有了超强的技术实力了。


——欢迎转载,请注明出处 http://blog.csdn.net/caowenbin ——



作者:caowenbin 发表于2011-12-16 0:00:13 原文链接
页: [1]
查看完整版本: 如何通过技术培训建设强有力的软件团队 |caowenbin