陈斌 

NETSTARS CTO

读完需要

5

分钟

速读仅需 1 分钟

陈斌 NETSTARS CTO, 翻译的图书《架构即未来》《架构真经》《数据即未来》《区块链启示录》《AI 战略》《Python 机器学习》正在京东和亚马逊热卖中!

架构管理功能_软件开发

文章导读:技术管理对互联网公司至关重要,通过对比分析工厂模式和硅谷模式,如何因地制宜地管理好研发团队是互联网企业技术领导者必须考虑的问题。

互联网公司的研发团队到底应该怎么去管理才能最为有效?我相信这个问题是每位CEO和CTO都在反复思考的问题。结合我在新加坡,硅谷,中国和日本不同文化环境下技术团队的管理经验,我整理出两种截然不同的管理思路。

1

工厂模式

这种思路基本上是继承了上个世纪工业革命的流水线逻辑,把系统研发当成制造产品,把研发工程师当成工厂生产线上的工人,其基本的过程是:

  • 架构师设计好系统的整体架构
  • 总监根据架构分解系统的功能
  • 把任务分配给每个研发工程师
  • 度量每个研发工程师的产出值
  • 根据每个工程师级别确定成本

 

架构管理功能_项目管理_02

这种思路有几个假设条件。首先,架构师能有盖世武功可以设计好系统;其次,技术总监或项目管理师可以小刀飞快,分解系统开发任务;再次,研发工程师的职级评定得清楚而且单位时间的成本可以计算。这种思路指导下的软件研发在英国,新加坡,日本和中国都有。有些公司做得非常好,把系统功能拆分得特别细致,开发成本的控制也非常准,典型的代表是日本公司。软件研发人员基本上不需要想太多其他的事情,直接“三规”就好,也就是说,在规定的时间,按照规定的套路,完成规定的任务。有些公司做得不是特别精细,只要求研发人员每天或者每周递交工作报告。并在报告中列出具体的研发工作活动,基本上就是流水账,然后再由项目管理人员汇总成为项目的投入产出账目。

架构管理功能_架构管理功能_03

 

工厂模式在大多数情况下行之有效,而且可以做到天下太平因为架构师负责系统的架构设计,项目管理聚焦任务的分解,研发人员全力实现功能逻辑。但是也存在着一些问题,比如全部系统的成败于架构设计者一身,一旦出现偏差,就会通过任务分解在研发工程师的手里放大。另外,研发工程师成为大型养鸡场的蛋鸡,不断地喂给它饲料(任务),然后产出鸡蛋(代码)。研发工程师失去自我推动的主动性和创造性思考的动力和机会,不要指望农场里的蛋鸡,其很难成长为有各种特别功能的战斗鸡。这也是为什么采用这种做法的地区,鲜见软件方面的创新,因为这种做法不利于软件的创新发展。

2

硅谷模式

这种思路的做法充分考虑互联网发展不同于传统产业的特点,把系统研发的过程当成创新的过程,把研发工程师当成互联网产品的创新者,基本的做法是:

  • 围绕公司的发展方向提出研发思路
  • 工程师根据研发思路做成基本原型
  • 在原型的基础上通过试错反复优化
  • 根据优化结果正式形成最终的产品

 

架构管理功能_软件开发_04

这种思路的基本假设是每个工程师都是互联网技术精英,他们既是产品经理,也是研发工程师,还可以是测试工程师,分工模糊。还有一点就是公司给予充分的授权,允许各种离经叛道的发明和创新,允许尝试,允许失败。这种思路在硅谷非常普遍,工程师经常没有非常明确的工作指令,或者在明确的工作任务之外,给予特定比例的自由发挥空间。这么做的效果其实很明显,今天的硅谷,很多的产品和思路都是这么出现和发展起来的。

 

因为鼓励主动性,给予较大的发展空间,所以要求研发工程师必须自律和主动。不需要每天向谁汇报项目的进展,完全靠自己对项目的巨大热忱和主动追求。研发工程师往往没有明确固定的工作时间,也没有清楚定义的工作范围。这就要求研发工程师技术全面,对创新有很强的兴趣,也就是必须是互联网技术精英。同时要求公司有非常灵活的用工制度,只有及时除草,及时施肥的花园才能繁花似锦。比如硅谷有employment-at-will doctrine,即随意的雇用原則。但是这在很多环境是无法完成的任务。

架构管理功能_软件开发_05

这种技术管理模式很难大面积地推广,需要社会环境,文化氛围,地区法律,人员素质和公司管治等方面的配合。根据我在不同国家的亲身经验,硅谷是最适合这种模式的,中国的有些公司局部也可以推行这种模式。但是新加坡和日本却不太合适,因为这些社会普遍有一种文化传统,就是研发工程师需要有清楚的指令,也愿意不打折扣地按照指令办事,尽管指令可能是错误的。另外,表现不佳的工程师,很难快速被精英分子替换。这些地区的社会文化追求的是高投入、高产出,追求的是可以预期的结果。

 

架构管理功能_项目管理_06

当然,我们也不排除个别公司的局部企业文化和技术氛围支持上述两种模式混合的情况。就是说,在公司里面,对于部分技术精英采用硅谷模式管理;对其他的传统研发工程师采用工厂模式管理。或许这是解决研发管理问题的有效之道。但是无论如何,技术管理都需要CEO和CTO根据自己企业的具体情况做出合适的安排,不存在一种模式走遍天下的情况。

 

- EOF -

架构管理功能_软件开发_07

架构管理功能_软件开发_08

技术人成长精彩文章推荐

阿里高级技术专家宋意:平凡人在阿里十年的成长之旅

RocketMQ 大神丁威亲述参与开源社区的方式

多隆:从工程师到阿里巴巴合伙人

为什么说IT科技公司应该留住35岁员工?

工程师的基本功是什么?如何练习?听美团技术大咖怎么说

美团技术专家云鹏:写给工程师的十条精进原则!

找CTO杜仲:再谈中年危机和应对策略

阿里合伙人范禹:常挂在阿里技术人嘴边的四句土话

Erik Dietrich:二十年的编程,教会我的五件事!

支付宝研究员兼OceanBase总架构师杨传辉:我在数据库梦之队的十年成长路

Mobvista首席架构师蔡超:工作感悟之失败与成功,我的8点总结

奈学教育CEO孙玄:成为一个有情怀的工程师,我的12点思考

Netstars CTO陈斌:架构师的成长之路

阿里技术专家麒烨:修炼测试基本功

左耳朵耗子:程序员如何把控自己的职业?

阿里6年,我的技术蜕变之路!

程序员管理思维修炼,只需要反复阅读本篇

“教授”洪强宁和他穿越的技术江湖

大神手把手教你投身技术18年而没有中年危机的秘诀

阿里合伙人程立:阿里15年,我撕掉了身上两个标签

CTO 技术管理的“三板斧”

技术管理者必备管理模板

张一鸣:优秀年轻人的五个特点

技术团队的工程师文化:效率与价值

美团大咖:程序员35岁前应做好的技术积累

史海峰:万字长文剖析技术人如何成长

END     
#架构师必备#

点分享点点赞