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

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

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

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

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

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

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

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

  搞定程序员组相比而言较容易,积极参与程序员组项目讨论,在讨论中我提出以下几点要求。

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

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

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

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

  不落俗套,简单分享下我的经验,有的管理是可意会不可言传,前面描述的经历,希望能给大家一点启示。

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

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

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

http://kb.cnblogs.com/page/505877/

上一篇:toString 和new String()区别


下一篇:python基础—函数嵌套与闭包