青云QingCloud黄允松:最高效的研发管理就是没有管理
摘要: 对于底层技术创新而言,没有管理是最好的管理,小规模作战,快速试错,迅速转变方向,迭代周期一定要短。
钛媒体注:钛媒体、商业价值联合主办的第五届“MIIC移动互联网创新大会”如期举行。2015 MIIC大会主题是:新生代,万物生,以“新生”为豪;天地变,邀“新生”为宴。连续举办五届的MIIC在过去五年中见证了中国互联网业的高速成长和天翻地覆的变化,今年登上MIIC舞台分享的互联网大咖、新生代领袖都有谁?他们怎样成为中国未来商业最大的变数与变量?
NB的人才为什么做不出伟大的产品?信息部做出来的东西为什么往往遭遇一种困境,这不是别人要的,或是产品出来大家看看就好,就不买了吧?青云QingCloud CEO黄允松认为,这都是产品管理结构出了问题。传统软件工程管理体系对于差别的管理和产品的预设压根儿都是错误的,所以黄允松做了一些研发管理上的改变。
黄允松的核心观点包括:
- 所有要求增加人手的请求都应该被拒绝。人多会有分歧和讨论,会浪费时间。研发过程需要快速出错和快速校正,从而形成快速迭代。
- 不应该有团队领导者,每个人都应该是管理者,管理是一种责任,而不是一种角色。
- no schedule!产品研发不应该排出日程表,项目延迟交付也没关系,出问题也没关系,研发 管理要看全局,不要太关注细节。
- 勇敢的去尝试不一样的东西,总能做到最好。
以下为黄允松演讲全文,经钛媒体编辑:
如果各位有关注过云计算IaaS层或者PaaS偏技术领域的项目、技术、框架或者服务、公司的话,大家多多少少对青云有些印象,最大印象应该是产品做的如此之好,如此漂亮,或者性能怎么那么高。大家会对我们如何进行研发这个事情有些兴趣,所以,才有了“高效研发管理”这么一个话题。我自己一直写代码,今天也跟大家分享一下写代码的感知。
管理架构的意义几乎为零
“管理”这个词是为什么而生的?我们组建一个研发团队,做一个管理机构到底是为什么?是为了出来更好的产品?还是真的想有一个管理架构?这个事情想明白的话,你会发现管理架构的意义几乎为零。我在前东家供职的时候,我团队跟其他所有团队运行模式都不一样。我原来所在的公司非常大,几十万人,一级部门可能高达几千人,又有二级部门、三级部门,每个部门独立运行。这些人都是聪明能干的人,受过良好教育,毕业于赫赫有名的顶尖的和研究机构,但为什么给客户的东西表现却一般般?我在前一家单位供职时间非常长,后来建设自己团队时候就思考所谓的管理是怎样的。
后来,我自己有一些机会可以跟市场上的客户直接沟通,这种沟通并不是做销售工作,更多的还是偏产品、偏技术层面的沟通,我得到一些很强的感受,就是我们辛辛苦苦做出来的东西并不是别人需要的。我非常努力,做出来一个东西,我还欢欣鼓舞,客户最后却不要,到底哪里出了问题?写代码的人出问题了吗?肯定不是。是产品、管理、结构出了问题。
在我这个领域,我发现所谓差别的管理和产品的预先设计都是错误的,为什么会是错误的呢?因为一直是闭门造车,没有人知道出来的东西到底是怎样的形态。后来,我尝试做一些改变,包括创建青云项目。
研发团队不应该有leader
我尝试做的第一个改变是什么呢?首先,不允许人多,不管美国公司,还是中国公司,一般需要差不多50-100人的团队设计和开发出一个独立功能或产品的话,在我的团队里,只允许1-2人做,青云线上看得见、摸得着的东西已经突破20个了,背后更多后端的功能尤其是看不见的功能,总数加起来肯定突破50,而且都是很大的单体功能,但整个研发团队迄今为止不超过30人,所有人都是一样的角色,只有一个角色。
我是怎么评判这件事情的?这么多重大功能要做,人数要控制到这么少,各位可能觉得有点不可思议。实际上,尝试出错,这是非常关键的。任何一个产品,如果带一个庞大的团队,那就需要设立一个很重要的角色,这时候把满腔希望放谁身上?当他挂掉的时候,损失不是一个人,是一百人乘以一年,我们称之为一百人/年,你们花了多少钱?你们失去了多少机会?在我看来,应该尽量选择快速出错,人数一定要少,人数多了之后就会形成讨论,讨论就没完没了,沟通成本会非常高。
举个例子,比如做关系数据库,在云端运行,实际上是非常接近于所谓的PaaS层的东西,在我看来不是PaaS,PaaS更多带有行业属性才对,依然是IaaS延伸,扩张的过程。我会让一个人做,他来自于豆瓣,以前有很好的数据库经验,在整个过程中,我不能接受任何需要增加人手的请求,为什么呢?因为我要看到他出错,一般说来,不会让我失望,肯定会出错,每个人都会有这个过程,我们可以迅速矫正我们方案,漂亮东西一定是快速迭代,快速迭代的法宝一定是速度一定要快,核心点是相信你的工程师,他就是最杰出的产品设计者。我认为“管理”这个词在底层技术领域是很虚的,整个团队是点对点的结构。
一个团队不应该超过4个人
第二个体会,当你初步得到验证之后,你应该如何看待迅速的长大?刚才我也讲到了,其实我要做的功能,每个功能复杂度非常高,我做纯底层技术,我需要快速迭代,这是互联网时代,不能等待。今天晚上想好要改,明天早上就应该上测试线。当我验证一个概念的时候,比如称之为α,这时候需要快速长大,这个团队不能再是一个人,一般会变成两个人或者三个人,但一般不允许超过四个人。因为到四个人的时候,讨论变的无章法,你要走A路径,我可以同意你,因为可以做的通,但是,如果我说不太同意你的看法,可以走B路径,是不是可以呢?实际上也可以,问题不太大,如果这个时候有个人说想走C路径,方程式永远都有多个解法。
我们要的是快速的结果、可靠的结果,这个时候人数不能太多,但我从一个人增长到三个人的时候,团队的增长是300%,还不够猛吗?但是,当你是100个人的时候,增长300%就是300人,对于公司来说是不可承担的,到了第二个阶段,我们团队里每一项作品出来的时候我都会去看,如果满足了我的期待,我认为这个东西是可以加大投资的,主要为了快速的出东西。
研发不应该有日程表
第三个小体验,欢迎大家参加我们这个月月底的用户大会。我们的方案失败了四次,做的过程中,我们发现有很多设计最初是想错的,最早的计划是花大约6个月时间做出第一个版本,然后发送给我们的用户,第二个版本给受邀用户,后来再推迟,我应该生气?No,绝对不能生气,我们在做底层技术创新,不要生气,因为没有人做过,因为我们走的那条路是别人没有走过的。
我们一定不要认为任何事情都可以排出日程表,没有日程表是不是意味着你的项目会出现重大的交付延时等问题呢?对,出现就出现,有一百个功能,一两个出了问题,问题很大吗?难道你自己做工程的时候从来不犯错误吗?我们要看到的是全局,不要太关注细节,这个很关键,要看到整个团队的收益是不是好的,不用太纠结一些东西的推迟。
很多人在网络上非常关心青云环北京城400GB骨干网什么时候出来,8月份应该差不多,其实出点问题也没啥,大不了用别的方案对付一下,只要不影响客户的应用就好了,要看开一点。
Try to different,尝试做不一样的东西
所谓的不一样,不是为了不一样而不一样,不知道大家有没有见过我们的Web操作控制台,青云的东西非常易用,超级漂亮,平滑,不管是颜色、布局,还是操作的动作、手势等等,非常符合你的想象。在青云操作平台上,几分钟能够学会并且搞定所有事情,如果懂技术,你会做的非常非常快。
我们最早为什么要尝试一些不一样的东西呢?如果大家了解过我的背景,应该知道做青云是我做云计算的第四个项目,原来做过很多,每次做的时候,除了后端东西,可能有前端东西,就是Web操作台,每次都会请超级懂技术的前端工程师做前端,因为我做IaaS和PaaS的,如果找不懂前端的工程师做就很悲催,我找的人必须懂前端开发,最或懂一点设计,而且一定懂IT技术,以前做的时候每次都这么做,但是,非常抱歉,我做出来跟美国做出来的一个水平,为什么呢?看不到差异性,一点不友好,IT行业难道真的注定这么复杂、这么丑陋和这么的不方便吗?于是,我就想不一样,青云整个前端就是一位姑娘,不少人见过她,她懂技术吗?不懂,我说的是底层技术,她懂艺术,有很好的设计感,基本是文科生,但是你要给她足够强大的机会去尝试。
我们原来四个人在很便宜的平房里做设计的时候,她做第一个版本的设计,做的过程中很有意思,基本会逐个问你觉得这样好不好、觉得这样可以吗?说实在话,我真的不知道好不好,因为我不懂艺术,我是理科生,我就是条件反射觉得不太好,一般说来,有一半的时候我会讲这个地方不太好,但会有一个“但是”,她会迅速的学习,我相信她离开办公室之后也一定打开百度百科看CPU、交换机、路由器等等,她一定会搜索思科公司出的拓扑图的小图标,他尝试理解IT民工常常挂嘴边那些词是什么意思。
总结一点,对于底层技术创新而言,没有管理就是最好的管理,小规模作战、快速试错、迅速转变方向、迭代周期一定要短。(ITValue记者周应根据黄允松在MIIC2015上的演讲整理)
http://www.tmtpost.com/1040109.html
青云QingCloud黄允松:最高效的研发管理就是没有管理的更多相关文章
- 公有云开启全面竞争时代——青云QingCloud
网界网本期[封面报道]公有云开启全面竞争时代 [CNW.com.cn 专稿] 险滩急流之后,公有云[注]服务市场的开拓者们终于看到了一片丰饶之海. 2013年,中国云计算[注]产业起步的第五年,公有云 ...
- 青云QingCloud宣布完成C轮融资,金额1亿美元
本轮融资由两家人民币基金领投,蓝驰创投跟投. 企业级基础云服务商青云QingCloud正式宣布完成金额为1亿美元的C轮融资,本轮融资由两家人民币基金领投,蓝驰创投跟投. 青云QingCloud公司成立 ...
- 青云QingCloud业内率先支持云端全面透明代理功能 | SDNLAB | 专注网络创新技术
青云QingCloud业内率先支持云端全面透明代理功能 | SDNLAB | 专注网络创新技术 青云QingCloud业内率先支持云端全面透明代理功能
- 巨头环伺下,青云QingCloud的云计算之路危机重重
编辑 | 于斌 出品 | 于见(mpyujian) 随着互联网.科技行业的深入发展,国内云计算市场正越来越爆发出惊人的潜力,大量大.中.小型玩家开始不断发力,涌现出了一大批增速明显的行业玩家. 以BA ...
- Swoft 2.0.5 更新,新增高效秒级定时任务、异常管理组件
什么是 Swoft ? Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架.Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-F ...
- 黄聪:自定义WordPress前台、后台顶部菜单栏管理工具条的技巧
使用WordPress开发网站项目,很多时候都需要对进行后台定制,今天倡萌主要分享下自定义顶部管理工具条的使用技巧. 注:如无特殊说明,请将下面的代码添加到主题的 functions.php 或者插 ...
- 2440启动流程 <转载>
韦东山 博客园 首页 订阅 管理 2440启动过程分析 2440启动过程分析 2440启动过程算是一个难点,不太容易理解,而对于2440启动过程的理解,影响了后面裸机代码执行流程的分析,从而看出2 ...
- qconbeijing2014
http://2014.qconbeijing.com/videoslides.html 周一 周二 周三 周四 周五 周六 2014年5月19日 Deep Dive into Amazon's ...
- 2022首场MASA技术团队黑客松赛事大赛完美落幕!精彩集锦
Masa技术团队在2021年创立,这一年我们团队发布了我们第一个产品,Masa Blazor.登上了.NET Conf China,我们承诺,开源我们的产品,为开源社区增砖加瓦,一路上收获技术社区文章 ...
随机推荐
- maven webcollector java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundException
使用webcollector时出现了如下异常 分析是依赖的问题,不仅要添加selenium-java,还要添加htmlunit-driver的依赖,注意不要添加成selenium-htmlunit-d ...
- Xamarin.Forms开发APP
Xamarin.Forms+Prism(1)—— 开发准备 准备: 1.VS2017(推荐)或VS2015: 2.JDK 1.8以上: 3.Xamarin.Forms 最新版: 4.Prism 扩展, ...
- 改变浏览器中默认的ctrl+s方法
在一般的情况下,我们在浏览网页的时候按下ctrl+s,浏览器会弹出一个保存网页的框. 但是在一些特定的网页中,我们希望ctrl+s不是弹出默认的保存窗口,而是进行一下别的操作. 比如在我们使用简书的时 ...
- hadoop编程技巧(8)---Unit Testing (单元测试)
所需的环境: Hadoop相关jar包裹(下载版本的官方网站上可以): 下载junit包裹(新以及). 下载mockito包裹: 下载mrunit包裹: 下载powermock-mockito包裹: ...
- POJ - 1466 Girls and Boys 二分图+最大独立集
标题效果:有着n学生,有一些同学之间的特殊关系.. .为了一探究竟m学生.要求m免两者之间的学生有没有这样的特殊关系 解决问题的思路:二分图的问题,殊关系是对称的.所以能够将两个点集都设置为n个点.求 ...
- misc子系统
跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架 misc子系统在Linux中是一个非常简单的子系统,但是其清晰的框架结构非常适合用来研究设备识别模型.本文从misc子系统的使用出发, ...
- Android--MVP设计模式实践
MVP设计模式是android开发讨论的很火的一个话题,我对设计模式也有一些拙见,为了实践我的一些想法,我在我最新开发的产品中将我心目中的MVP设计模式进行了实践,最后得到了这样的架构. 特点:简单, ...
- 科学的解决Http Token拦截器TokenInterceptor实现
1.写在前面 在做项目的时候,有时对接口要求比较严谨.先介绍下情况. 我这边Http 方式采用的是 OKhttp+Retrofit 后台一共分为三种token,分别是实名token(accessTok ...
- 利用反汇编手段解析C语言函数
1.问题的提出函数是 C语言中的重要概念.利用好函数能够充分利用系统库的功能写出模块独立.易于维护和修改的程序.函数并不是 C 语言独有的概念,其他语言中的方法.过程等本质上都是函数.可见函数在教学中 ...
- User-Agent 列表
<useragentswitcher> <folder description="Internet Explorer"> <useragent des ...