你好,我是极智嘉研发总监邱良军,是个有 18 年工作经验的 IT 老兵,做了近 10 年软件开发,俗称码农;而后从事 IT 管理工作超过 8 年,包括研发管理、项目管理、运营管理。接到极客时间的约稿后,试着介绍分享一下自己在打造技术团队方面的经验。这是一个比较大的话题,详细说起来可以写一本书,在此主要结合我的实际工作及所学理论分享一下。

写在前面

在 18 年的职业生涯中,我从一名专注技术的码农,到研发经理,再到研发总监,中间踩了无数的坑,体验了从技术到管理的各种艰辛历程,也不断学习各种理论慢慢悟出了很多道理。我的成长阶段大体上分为三个阶段:

  1. 学习各种技术技能自己做事;
  2. 带领团队做事;
  3. 找人、组建团队、用好每个成员做事。

如下图所示,我提取了成长过程中的几个数据指标,一类数据是管理的团队人数变化,一类是技术、管理、认知能力的变化(自我打分),绘制成了个人的成长曲线图。

技术团队打造前的准备

在准备打造一支技术团队前,先看看自己当前的现状如何?你是从零开始组建一支技术团队,还是改进现有的技术团队。不同场景、不同条件、不同现状、不同阶段所使用的方法都有差别,没有一套放之四海皆准的方法,我们应该根据具体情况作出具体应对。下面我列出六个技术团队的种类,你可以对比一下自己的具体情况。

首先,需要思考一下:要打造什么样的技术团队?
1. 临时性研发型团队:临时承接系统研发任务,项目结束后团队解散;
2. 外包研发型团队:承接软件外包项目,或按工时付费的软件外包项目等;
3. 离岸外包研发型团队:承接国外或者异地转移的部分软件外包系统开发;
4. 业务研发型团队(2B 业务):给自己公司业务发展做产品系统方案,自研自用,迭代开发完善产品,支持业务的发展,扩大抢占市场 ;
5. 产品研发型团队(2C 或小 B 业务):做行业产品的系统解决方案,一般有行业 SAAS 平台开发,行业软件系统开发,比如餐饮系统、信贷系统、呼叫中心系统等等;
6. 技术研发型团队:做技术基础软件研发,比如 PAAS 平台,中间件、数据库、报表类等工具产品。

其次,是从零开始还是改造现有的技术团队,改造技术团队需要分析是处在以下哪种情况:
1. 改造自己组建的团队,让它提供更专业的服务,支持业务更好的发展;
2. 由于职位调动,空降并接管一个技术团队,更进一步发展团队;
3. 作为救火队员空降到一个问题团队,需要你稳定团队,并把它打造成有技术范的团队;

在确定了团队目标和当前状态后,根据实际情况去搭建团队,需要思考的关键点有:
1. 团队定位:项目驱动型、业务驱动型、技术驱动型.
2. 薪资预算:公司所能提供的薪资在行业内的水平分析
3. 公司声誉:公司在业内的排名,是否是新兴行业
4. 行业要求:除了技术以外,人才是否需要特定的行业背景,比如英文能力要求
5. 人才市场特点:当地人才市场的分布,人才聚集的公司及地点
6. 时间要求:团队组建的时间要求和时机情况
7. 团队负责人:个人背景及魅力,行业影响,管理能力,领导力等
8. 核心团队:核心团队如何获得
9. 领导授权:放权是否足够,是否有充分的权力做决策

如上图所示,我们再来看一下不同定位类型的团队分别具有哪些主要特点,搭建相应的团队时要做怎样的规划。

如果是项目驱动型的团队,它的主要特点有:

  1. 以软件外包为主,项目具有一次性,做完后会换其他项目做;短的项目几个月,长的项目会有 1 年,甚至几年时间。
  2. 对于这样的团队来说,流程、项目管理非常重要,要确保项目按时交付,具有明显的成本、进度、范围的控制。
  3. 项目一般来自于“业务型”团队来不及做的系统,或没有自己开发团队的公司需要做项目发包,比如大系统改造、重构、新系统开发等。
  4. 项目驱动型团队对技术的要求处在一个相对比较低的等级。

此时团队规划中应该有需求分析员 BA、项目经理、开发组长 / 开发团队、测试团队等,如果是大项目的话,还需要有架构师。

如果是业务驱动型的团队,它的主要特点有:

  1. 为业务发展做支撑,开发迭代速度比较快,多数互联网企业属于这个类型。
  2. 系统设计要有产品化思路,能支撑业务的增长,当前投入是为了未来获得回报,能讲故事获得融资。
  3. 团队对技术的要求会有所提升,技术对业务的支撑要有一定的前瞻性。

这时团队规划中应该有产品经理、开发组长 / 开发团队、测试团队、运维支持、架构师等。

如果是技术驱动型的团队,它的主要特点有:

  1. 一般这类团队是指大型软件公司的架构组、基础组件团队,比如阿里、百度等;或者开发工具的软件公司,比如金山、360、TiDB 等。
  2. 软件的复用性最高,能解决普遍的技术或者工程效能问题。
  3. 团队对技术要求处在最高一个等级。

这样的团队规划中应该有技术专家、架构师和开发团队等。

此外,团队负责人和公司人力资源部门需要清晰理解对人才的定义,关于人才定义可以参考我之前分享的“人才画像”一文。先列出这些基本信息,再使用 SWOT 工具做优劣分析对比,找出当前的优势,扬长避短,就可以开始“撸起袖子加紧干”了。

说了这么多,那我是怎么做的呢?下面我先分享自己五段不同的经历,再说说在组建团队的准备阶段,我们需要做什么。

第一段,当时我临时组建了一个团队来完成一个临时性的项目,团队人员是流动的。核心人员是从其他团队借调的,另外临时招聘了几个刚刚入行的新人。客户对接、需求分析及任务跟踪都是我自己做的,总体上比较顺利,项目完成后团队就解散了。由于是在外企,同事关系比较简单,项目工期也不紧张,所以没有做准备工作。

第二段,我的职位升级后调任一支 15 人左右的团队负责人,任研发经理负责一个系统的研发交付,当时已经做码农近 10 年,但管理方法欠缺,因此恶补了很多管理方面的知识。

第三段,空降到一个 30 人的团队,准备工作主要是了解团队成员及系统开发的情况。

第四段,从零开始将团队发展到 300 人,开始时完全被忽悠,中间无数次想放弃退出,最后坚持下来,收获非常大,当时没有做任何准备工作,完全是摸爬滚打过来的。

第五段,从零开始快速组建创业团队到 40 人,此时组建团队已经轻车熟路了,基本上是按照本文所写的套路去做的。

通过自己数次组建团队的经验,在准备工作阶段,我们需要做的最重要的事情主要有六点:
1.向上管理,观察你老板的为人是怎样的,是否获得充分授权及信任。
2.干系人分析,如果有条件的话,做一次干系人分析,包括你的老板,公司内部的各种角色,分析支持者与反对者(多从对方角度想想为什么?),还可以想想哪些是会帮助你的朋友,哪些是会落井下石的,联系那些不经常联络的朋友,扩大一下社交圈。
3.设立目标,在前进的路上不断看看是否偏离大目标,同时每个月设立可以完成的小目标。
4. 充分发挥SWOT 分析中的优势项,快速做出成果,给大家信心。
5.确立核心骨干,这是准备阶段最重要的事情之一。
6. 建立随时沟通、积极沟通、勤奋沟通的心态。

以上每个 Topic 都足够写个长篇大论来分析讨论,也是我认为最最重要的事情,需要反复学习、反复体验、反复思考。另外,学一点项目管理知识绝对是有好处的,很多事情使用项目管理的方法去做,就成功一半了,这次的约稿写作,我也用了项目管理的方法。

最后,由于打造技术团队的话题较大,我将分为几个篇章来讲,本文主要分享了搭建团队之前要做的准备工作,之后的每篇文章也都会以理论结合我自己的实际情况来分析,并分享一些心得体会。欢迎持续关注,也希望你在听读的过程中能够根据自己的具体情况作具体分析,因为只有完美的理论,没有完美的现实。实际工作中的项目 / 任务 / 团队千差万别,我们自身的情况也千差万别,需要根据实际情景灵活机动的应付各种情况,解决各种问题。

我认为在有限的条件下完成设定的目标才是一个合格的团队负责人,拿到 PMP 认证只是认可了你的管理理论水平,实际能力还需要通过做项目带团队来验证,并且只有通过做项目才能得到提高。理论可以作为指导,实际解决问题不能拘泥理论,需要把“十八般武艺”都用上。当你能利用学到的理论,结合实际工作磨练,把理论和实际结合起来,并不断优化提炼出最好的经验(Best Practice)时,你的能力才能得到真正提升。

感谢收听,我们下期再见!如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友~

作者简介

邱良军,极智嘉研发总监,TGO 鲲鹏会会员,负责组建极智嘉苏州研发团队,以及筹建苏州研发中心,4 个月将团队发展到 40 人,并承接两个系统开发,数条支持线的工作。曾在新电任职超 10 年,带领团队交付数个项目,团队峰值人员超 70 人。2014 在文思海辉担任总监,从零开始将团队带至 300 人。18 年 IT 老兵,管理经验丰富。