求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
同城一家开发总监杨斌:好团队不可能凭空出现,赢在Leader的可行规划
 
作者 杨斌 火龙果软件  发布于 2014-10-16
 
目标明确、分工合理为西游记的唐僧团队最终走向成功奠定了基础。西游记的故事引申到实际技术团队管理中,也一样有借鉴意义。CTO俱乐部会员、湖北同城一家开发总监杨斌认为想要团队出色完成目标则需重在规划。

《西游记》中的唐僧团队历经千难万险,终于求得真经,目标明确、分工合理为这支队伍最终走向成功奠定了的基础。唐僧从一开始,就为这个团队设定了西天取经的目标,虽然经历各种挫折与磨难,但目标从未动摇。悟空探路、八戒牵马、沙僧挑担,几位徒弟一起肩负着保护唐僧的任务。虽然性格迥异、各有缺点,但目标分解合理及成员分工合作,最终风雨同舟,取得真经。


《西游记》的故事引申到实际团队技术管理中,也一样有借鉴意义,本文作者为CTO俱乐部会员、湖北同城一家网络科技有限公司开发总监杨斌,他结合自己多年经历谈谈“技术团队的目标计划与任务分解怎么做”。以下为全文。

两年前,来到同城指南网,相比沿海地区,公司人员规模不大,但在湖北襄阳当地算是最大的,公司主营资讯和3D地图,开发部人员近三十人。与许多管理人员到新公司一样,初到时我并未完全获得公司的信任,没有实权,甚至没有明确的职位,国内不少公司都存在这样问题,相信大家不奇怪。

CTO俱乐部会员、湖北同城一家网络科技有限公司开发总监  杨斌

当时公司面临着经营方向改变的问题,从信息提供平台转到时髦的电子商务。限期要求开发部提供一个可用的商务平台,和很多公司一样,这样的决定并未考虑团队承受能力。在项目确定会上,口头指定由我来指导完成,但要完成这一目标,有几个现实问题:

  • 没有实权,除技术指导,无人员调动权;
  •  团队成员不信任;
  • 对团队成员能力不了解;
  • 尽管平台目标已经确立,但具体细节有诸多不确定,项目需求会没完没了;
  • 任务时间短(10个月);
  • 在开发新产品时,旧的平台依然需要维护,还要保证大多栏目平稳过渡。

当然,我喜欢这种很有挑战性的工作,经过短暂的考察,我决定从两方面入手:一方面,为公司拟订一个2~5年的部门建设和技术规划方案,通过反复交流,获得了管理层认同,因为只有得到他们的支持才可能调动公司资源;另一方面,搞定开发部的程序员组。因为完成产品,他们是主要建设者;开发部由三个组组成,程序员组、UI组、测试组,程序员组在部门中属主导地位,只有取得他们的支持,项目才能有成功的可能;从技术入手,现有团队Leader反对的可能性较小,管理leader不反对,就是一种成功;部分程序员对项目管理模式较为不满,各自为阵,没有明确的考核体系,体现不出个人价值。

搞定程序员组相比而言较容易,积极参与程序员组项目讨论,在讨论中我提出以下几点要求。
  1. 实现这一电子商务平台开发的目标,首先要做的是有个好的技术应用框架,为此我搭建了一个新的框架,同时写出案例进行演示,讲解应用中的技术要点,这一步,赢得了大多数特别是技术派程序员的支持。
  2. 新的框架更加条理,技术更加规范,但要求程序员的能力较高,为减少大家顾虑,我为此专门写了一个代码生成工具,能完成工作量的80%代码,而剩下的部分多与具体业务有关。由于工具帮助,任务变得相对容易。
  3. 为保证项目的成功,必须改变现在工作流程,并根据现有部门和人员特点,制定了新的工作流程,并说明流程中各工种配合的时机及承担的任务。

通过一段时间努力,好的一面是,不出意外地获得了团队中技术人员的信任与尊重,并了解了各组之间的问题,通过各自的发言和实际代码能力对现有程序员、UI人员、测试员进行分级归类;不好的是,依然没有得到实施权力。大家依然在旧的方式中开发、争论。当时刚好是春节,节后项目依然进展不大。但随着时间推移,项目发布时间越来越近,最后公司终于决定让我来全面负责开发部工作。一切努力是值得的,前期的沟通、交流、培训获取了回报,当取得部门管理权后,我便迅速按成员能力分配各自的项目任务,并制定了开发操作规范。尽管过程中依然有磕磕碰碰,项目代码也未完全按我的想法规范,仍然按规定时间完成了项目任务,并超出起初对项目效果的预期。通过这件事,我基本上获取了公司及团队的信任。

接下来的一年,推行新的管理模式和开发模式,相对之前更顺利,也培养出一批有执行力的管理人员。不论项目多寡,由于流程标准、文档完善,大家就像特种兵一样,不论是单兵作战,还是组队进攻,即便队员临时脱队,大家都能按要求完成任务而不自乱。

如同软件设计,有很多种模式,但并不意味着我们必须按照这些模式去设计,软件团队的管理也是同样的道理,我们有很多可供借鉴的管理模式,没有哪种是绝对正确或错误的,“兵无常势,水无常形”,只有了解团队,并处理好团队内部和外部关系,才能做到“令行禁止”,才能合理分配任务。

不落俗套,简单分享下我的经验,有的管理是可意会不可言传,前面描述的经历,希望能给大家一点启示。
  1. 不孤立地看待项目,开发团队有做不完的事,改不完的Bug,不能只顾眼前,要制订一个长期的可行目标计划,最好是2年以上的。首先,团队不会因为技术发展的不确定而带来迷茫,特别是那些高技术开发人员更是如此,容易留住人才;其次,各项目要围绕长期目标进化,使得现有项目产生更大的边际效益。
  2. 正确处理好与上级和同级部门间的关系,获取上级支持是前提,取得同级部门的理解则是项目成功的关键。高层有高层的考虑,不同部门所关心的利益也不同,不能只考虑自己部门的事,要明白,项目总是在这样或那样的问题中(人员、资金、资源等)完成,不要做完美主义者。
  3. 开发部门是产品的生产者,当项目出现问题时容易受到指责。作为团队的Leader,要做好沟通交流的工作,不要让团队直接受到负面影响,有的问题产生很复杂,不能简单推责给下属,要有担当。处理问题后要总结,制定有效制度(流程等),防范下次发生。
  4. 避免事必躬亲,信任下属,疑人不用,用人不疑;用明确的已公布的规范考核下属,指导而不是指责,划清责任边界,赏罚分明。
  5. 完善各种文档,在项目中,有的文档是必需的,如:
  • 需求文档,需求不明,不能启动项目;
  • 干系人表,明确职责,明确权重,是考核的关键依据;
  • 代码签入规范,加强代码审核,这样既能提高产品质量,也能提高参与者能力。

通过两年的团队努力,尽管面临诸多问题,但仅从效率上看,同样的项目,比原来需要的时间减少一半,参与人员减少一半。顺利完成项目,团队成员才有成就感,并不断成长,技术不断提升,更重要的是,公司能获得更大的效益。

很多人都在埋怨没有遇到好的团队,但好的团队不可能凭空出现,一流的团队不能仅靠团队成员努力,作为Leader,要有可行的规划,并坚定地执行、时势地调整,这非常关键。

 
分享到
 
 
 
 



利用Gitlab和Jenkins做CI
CPU深度学习推理部署优化
九种跨域方式实现原理
 
 讲座 设计模式C语言
 讲师:薛卫国
 时间:2019-4-20
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
频道编辑:winner
邮       件:winner@uml.net.cn

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号