团队培养的思考

最近和几个新手做了一个小型的基于兴趣的项目,采用了完全陌生的技术,主要有自己来负责和推动,项目的主要目的是学习新技术锻炼新手。

问题-1


刚开始大家的兴趣都很高,但是仅仅局限于对功能和界面的一些讨论,没有人去真正的推动,去主动的学习新的技术和尝试写代码,去实现一些功能,这时自己就去搭建了一个服务端的框架,写了一些基本的代码规范,这时有人参与了进来帮助我实现一些功能和文档,但是由于成员编程经验的缺乏,和对质量的不重视,代码和文档和自己要求的相差很远,导致我将他们写的东西全部重构了。 这时问题来了,再没有人参与到服务端的开发。自己一气之下将服务端全部实现,包括所有的文档。

反思-1


这个项目的初衷就是培训新手,应该容忍新手在初期犯错,耐心的指出问题帮助和指导他们去实现和重构代码,包括测试文档等,要控制住脾气。

改进


后来自己反思了这个问题,自己不再参与iOS客户端的开发,只是推动,由新手完成。如何来推动,如何让他们参与进来? 我采用的方式是指导加demo的方式,自己不亲手实现,在关键的功能点作一个demo给成员,让他们的参照demo来开发,在开发初期的时候容忍一些代码的问题,分批次在每个开发功能点上通过结对编程来指导和帮助开发该功能点的人员来重构代码,这样可以让新手了解如何去写干净的代码,如何设计一个功能点,如何写文档,培养他们增量开发的习惯,养成文档的书写规范,同时也是强制要求他们去读代码,而且还留下了技术研究的空间。

对于将来大项目的思考


个人觉得demo的这种方式同样适用于大型项目中成员的锻炼,具体操作:新手不立即参与项目的开发,因为大型项目有很多规范和要求,直接参与容易对客户产生不良影响。可以先让新手写一个项目相关功能的demo,通过demo来判断成员的能力,并指出问题,培训他达到项目规范的要求,这样能降低给项目带来的伤害的风险。

项目中成员的培养需要耐心、倾听、付出。更重要的还是因才施教,抓住兴趣点才有效果,否则事倍功半!

26 Words 26 May 2013 Suzhou, China