卷首语:企业里真正的“将军”应该去做什么?
作者|乔新亮
编辑|邓艳琴
本文节选自乔新亮 InfoQ 中国 15 周年重磅直播内容《今天很多 CTO 都是被干掉的,因为他没有成就业务》分享稿
第一,顶层设计,系统驱动
从整个大的角度,你就把公司当成一个大产品,里边有几十个系统,公司所有的业务都被系统接管,系统之间还有交互,我给它高度抽象为交易体系、协同体系、监控体系、绩效体系。每个产品自己去干活,干不了的时候交给人,人干完了再交回来。这样一来,系统知道人到底在干什么、干得怎么样、人干的事我能干吗,产品经理就要去关注系统驱动。今天有多少公司是这样的?少之又少。我们公司之前不是这样,但我们已经建设成这样,最后你会发现这是一个非常非常大的变化。
所以,我认为首先就要做好顶层设计,企业架构师把业务高度抽象,创始产品经理才能把系统驱动的一整套体系设计出来。至于哪些自建,哪些购买,就是再往下一层的事情。
这里我顺带讲一下,企业需要画一条线,线上的自建,线下的购买。哪些自建?让你具备核心竞争力的要自建,毕竟这种让你绝对牛逼、超越竞争对手几十号排位的产品,怎么可能会有厂商卖给你?而有的东西就没必要自建了,能买就买,所以越是偏技术性的越不要做。很多技术团队在公司里面去忽悠人,我们公司里面这样忽悠我的,都被我干掉了,然后我自己下场干。人家外面有做得好的产品不拿过来,非要自己下场干是吧?你这么牛逼怎么不像毕玄一样去创业?
你也可以选择自建,比如一个商业产品要价 20 万,而你可以很快自建出来满足公司需要,并且只用花 10 万的研发成本。不过,现在 IT 的人力成本已经这么贵了,10 万的成本你能投入几个人?按照 2 万一个人来算,10 万也只能让 5 个人做一个月,如果要做两个月,那么就是 2.5 个人,这点人能做出什么像样的产品?
所以为什么过去中国的 B 端做得不好?我觉得 B 端创业最大的竞争者不是竞争对手,是甲方的 CTO 和对应的团队,就是像我这样的 CTO。
不管你想做成什么事,你都要找到最优解,首先就要掌控设计。
第二,技术上一定要关注模块化
既然要专业分工,那么模块化就要做好。很多人在这一步就直接从一个大单体应用跳到微服务了。微服务是最终的结果,但我们能不能慢慢地过去?别一上来就依赖倒置、接口分离,很多技术团队根本没那么高的水平。你只要把模块化做好,也就是说,这个模块里的数据只有这个模块可以访问,其他人访问是不被允许的,至少能把这个守住,你的架构就不会烂到家。
第三,要关注用户体验,一定要有监控体系
你的系统里边到底怎么样,服务响应时间怎么样,用户访问你,他有没有业务异常,有没有系统异常?如果你连用户发生了什么都不关注,你怎么可能做好?所以你要有监控体系,也要做好治理工作。我们公司的目标,今年 6 月 30 号以后,生产环境不允许有一个异常,每天都要清理掉,不管任何服务,响应时间都不允许大于 2 秒,有定义 SLA(Service Level Agreement) 的再说,如果确实有长于这个时长的,那也是被特批过的。所以我觉得一定要有监控体系,否则生产环境已经烂得一塌糊涂了, IT 根本不管,还在那里吹牛,在整天做项目。
第四,要产生价值,一定要有目标管理
关于目标管理,第一个要谈的就是 OKR ,要有方向感。然后你的团队还要有周目标、日目标,抓执行力,最后要抓人效数据。我们常常讲,团队要提高研发效能,但有没有管理说过人效的问题?有人说,这是不是就是卷?你可以认为这是卷,那你说西点军校卷不卷,企业就是要去竞争的,你要和企业一起去成功。另外,我觉得人尽量不要招多了,尽量少招人,3 到 5 人就是一个创业团队,具体的原因我会在后面讲到,分析一下大家跟公司共存亡这个问题。很多员工其实自己在单位里上班也浑浑噩噩的,对自己来说没有意义,对单位来说也吃亏,其实我觉得这都是管理层出了问题。
第五,数据驱动经营完善,一定要看数据
在今天,一个企业经营不看数据不就是扯淡吗?尤其是管理干部和领导,一定要意识到数据特别重要,要用数据驱动内部进行完善。比如 OKR 里面都是数据,而且数据都是系统统计出来的,做到多少就是多少,全公司人都能看见。目标和目标对应的数据管理特别重要。
第六,只用一只眼睛盯着 AI
当前的 AI 大多数时候没什么用,因为它还不是真正的人工智能,是傻人工智能。在这个情况下要发挥 AI 的价值,需要有几个依赖。第一,你的数据得够多。第二,数据得够准确。你们公司有数据吗?连数据都没有还谈什么 AI?你说有数据,主数据管理都没做好,最基础的数据都是垃圾数据,怎么可能做好人工智能?第三,上层的大数据做好了吗?大数据没做好,AI 怎么可能做好?所以 AI 到公司里面之后全是坑,最后你也被坑。但是客观来讲,AI 是不是就没用?还真不是。我去年就在盯 AI 的东西,我们在做销售的智能报价,大概在今年 9 月份左右,我们公司的报价应该会全面地被系统完全接管,这里其实就利用了很多产品的能力,再加上 AI 的辅助。
第七,三大效率
这里我会特别展开讲一下。你说这跟技术有关系吗?每一个都特别有。技术是为什么服务的?技术是为发展业务服务的。
研发效率
像 CI/CD、云计算、分布式服务、DB 缓存等等,有关基础平台和组件都要持续建设完善,你投入两到三个人干这个活儿,就可以让一百多个人效率更高,何乐而不为呢?我们做这个事情的目的就是让开发人员只写代码,测试人员只写测试案例,我们在各个层面都持续观察、分析研发人员到底在忙什么,然后帮助他提升效率。
另外一个与研发效率相关的是要搭建一个 SOA(Service Oriented Architecture) 和 EDA( Event Driven Architecture ) 的架构。打个比方,我前面提到的交易体系,它是比较稳定的,适合用 SOA 架构。那协同体系呢?我们今天需要应对各种各样的变化,所以搭建的时候就需要用事件驱动的架构,也就是 EDA 架构。当你把有很多变化的东西放在 EDA 架构上之后,你的研发效率会飞快提升。
此外,针对 CI/CD 而言,产品经理要跟开发有共同的语言,开发跟测试的工作要解耦,开发发布到生产环境是不依赖于测试的,这其实是需要有一整套的体系和支持的能力,比如说要有特性开关。你要想尽一切办法让大家都尽量不依赖地、快速地把自己的工作做完,最大化地降低研发的半成品。什么叫半成品?没有投入到生产环境的就是半成品,这是我们特别考核的一个指标。如果哪家公司不在这上面投入,那我觉得他们太傻了。要么投入两三个人去做,要么去买,这件事绝对值得。
会议效率
大家很容易忽略会议效率,但我认为我们需要永无止境地关注会议效率。我有一句话叫“两年之内,每周必须谈会议效率哪里要提升”,其实公司里大量的时间都是浪费在会议上。当然,大量的有用的价值也都产生在会议中,但是你一定要持续地去优化它,比如你要引入一些会议的工具,你要去观测,你要去教大家如何开会。
决策效率
决策效率也特别重要,不要议而不决。我对团队说过一句话,中层干部要独挡一面,不敢做决定的都要被干掉,不许拿 A/B 方案来跟我来汇报,不好意思,A 还是 B,你必须选一个。
研发效率、会议效率、决策效率这三大效率要无限关注,这些东西在基础工具平台上都有巨大的机会,值得去创业,如果全国中能有一家公司把它吃透了,那这家公司会特别牛逼。但是在今天,这个领域还没有特别优秀的工具和产品。
目录
热点 | Hot
StackOverflow 2022 年度调查报告:JavaScript 连续霸榜,Java 被挤出前五,Rust 最受欢迎
印度萌新令人绝望的操作:提交 PR“轰炸”近 40 万开发者,GitHub 负责?
GitHub 官宣“报废”Atom,创始团队表示正用 Rust 重写一个编辑器
理论派|Theory
架构复杂千百倍,但思想从未改变
云计算的全球变局与中国故事
InfoQ 2022 年趋势报告:DevOps 与云计算篇
推荐文章 | Article
不遂人愿的“乌托邦式”迁移上云 | 独家专访 MongoDB CTO
从维护性工作到软件开发革命,运维 15 年间的大逆转
观点 | Opinion
操作系统封闭、后台保守,为什么前端仍能一路狂奔?
被捧上天的 Scrum 敏捷管理为何不受大厂欢迎了?
评论 (3 条评论)