仅用 2 年过渡到自研 ARM 芯片,苹果的底气从何而来?

作者 | Steven Sinofsky

译者 | 弯月,责编 | 屠敏

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

今年 WWDC 2020 上,苹果宣布自研 ARM 芯片——Apple Silicon,对于苹果而言,Apple Silicon很重要,原因有很多。完成这项任务需要卓越的产品工程。

在讨论所有细节、安装预发行版以及评论(包括我自己的评论)之前,我想先来回顾一下苹果全球开发者大会以及苹果过去二十年的发展。总的来说,我们可以看到历史上最杰出的产品工程。

每当谈论这个话题的时候,我们很容易陷入细节的争论中,苹果每一次细微的战略调整都让我们兴奋或惊喜,甚至是偶然的丑闻,或者对苹果产品质量(这一点就很容易引发争议)产生疑惑。然而,在幕后,纵观过去苹果的这支团队很好地完成了工作,甚至比任何其他公司都要出色。

我们使用苹果的产品已经很多年了,重要的是,从Mac开始,苹果经历了低谷、重生和重新发明,我很难想象为什么我会感到如此惊讶。

我的第一个Mac软件是一款名为“ Mac Mendeleev”的应用程序,它是一个可视化工具,可显示50多个元素的周期性属性。它是用Pascal编写的,当时Mac上的Mac Programmers Workbench程序还没出现。当时很多人受聘于微软从事“应用程序”的工作,而我大学毕业后成为了Mac程序员。当时开发应用程序的人似乎都在使用Mac。微软一半的业务是出售Mac Word和Mac Excel。

许多人可能还记得这本书:

许多人对于苹果为何如此出色都有自己的观点,但我想分享一下我的看法,从一个独特的角度出发分析苹果的发展旅程。我将专注于制造产品,虽然营销、制造、销售也有着同等重要的作用。

苹果的如下三个方面让我非常震惊,尤其是在如今这个时代。

  • 无所畏惧的多年战略

  • 明确统一的计划/优先级

  • 前所未有的执行力

许多人倾向于只关注“战略”(例如垂直整合),或者“制造执行能力”(例如Tim Cook加入公司时的传奇供应链工作),或者“营销”(“买一台Mac”)。所有这些都很令人惊奇,很关键。我选择关注产品开发的总体思路,因为我认为这是一切的基础。

当Tim Cook谈到过渡到Apple Silicon需要两年时间时,我惊讶得合不拢嘴。首先,两年时间一眨眼就过去了;其次,两年的时间长得足以让每个人失去耐心。

我来说明一下这一点。

从PowerPC到英特尔的过渡是在2005年春季宣布的。第一台PC于2006年1月交付,到8月份的时候,整个生产线都转移到了英特尔(大约一年)。

到2009年夏季,OS X不再支持PPC;

到2011年,Rosetta仿真完全消失了。

整个过渡过程似乎花了5年的时间,但实际上最大的阻碍是Adobe。我相信,我相信,如果Adobe早日合作,那么这个过渡会快很多(而不是拖延成现在这个样子)。我们在近期的讨论中看到了时间表,包括Tim的“ 2年”时间。

但实际上,这中间的可变因素太多,更重要的是还有可能出错,所以这个计划的确太有勇气了。每个大公司都会制定多年计划(我也曾经历过),但是每个人都知道这些计划在一个财政年度后就会失去意义。而苹果在这方面完全不同。

最重要的是苹果的整体模型将如何发挥作用。这个模型的各个方面必须齐心协力,才能创建一个环境,并在其中做出选择和提供支持,以确保这些计划能够顺利完成。

我所谓的“苹果模式”并不是指苹果直接面向消费者的业务,也不是指它的垂直整合,而是指苹果的文化,有“观点”的文化。苹果公司生产的产品深受顾客的喜爱和满意,但他们实现这一点的方式是通过研究技术、市场和用途来制定计划和战略。与教科书的内容不同,苹果公司对于微观变化、炒作周期甚至“反馈”的反应要少得多。实际上你经常会看到,当苹果公司急于将产品推向市场,或过度关注炒作(例如Home Pod)时,苹果模型的表现并不好。苹果公司是一个有观点的公司,当他们的观点与人们喜爱的伟大产品一致时,这就会成为不可阻挡的力量。

例如,尽管Office可靠地交付了数十年,但与Windows一起制定计划却非常困难,因为Windows的计划和交付方式与Office完全不同。再加上企业客户与OEM客户之间的差异。我们能在1995年的夏天完成计划简直是个奇迹。

在这里,分销渠道的差异完全改变了产品的制造方式。首先,90年代的Office针对从零售渠道的发布进行了优化,这意味着针对大量特定国家或地区的“客户”都需要提前一段时间,包括设计平面广告的时间等。Windows重点关注OEM,这些OEM的交货提前期间更长,并且还有季节性(学校开学、放假、春假等),因此最多可能需要提前3-4个月。

实际上,当Windows项目完成日期是一个移动的目标时,所有这些工作都将变得徒劳无功。当业务目标朝不同方向发展,并与大型独立公司的生态系统进行合作时,就必然会产生这些不利条件。然而,这样带来的好处也十分明显。

向Windows NT的过渡始于1995年,原计划需要一年的时间。而向Windows XP过渡则是2001年,因此最终交付的产品的质量愈发下降(例如Office),因为在那段时间里我们要给大量产品做技术支持(Windows 9x系列)。然而我们依然要按部就班地发布Win2000,然后是XP,然后是XP SP2,每个产品都出现了延迟。

注意:Windows NT和95是由两个完全不同的组织开发的,因为NT是作为服务器战略,由一个独立的组织负责开发的(事后证明这是明智选择,但只是推迟了战略协调) 。当初的想法是将NT内核嵌入到Windows 9x内核下,但事实证明这并不是那么简单。结果,9x团队交付了98、98 SE和Me,以继续发展硬件生态系统并努力保持发展势头。Windows 2000是第一个协调的内核+ GUI,但在兼容性方面不尽如人意。最后在2001年推出了Windows XP,但是该产品一开始存在重大的安全问题。在Office发布时,Office 97,Office 2000,Office XP和Office 2003中,所有这些都是32位应用程序,尽管直到Office 2003(2003年8月发布,比XP SP2早一年!)的时候我们终于不再支持9x平台了(发布8年后)。

例如:到64位的过渡。这个过渡整整花了25年,但仍然没有完成。相反,Excel 2.2仍可在32位Windows上运行,WordPerfect MS-DOS也仍可运行,这是一个了不起的成就,并且受到了广大客户的高度评价。真是不同的世界。

然而其他公司的64位过渡更不可思议。微软开创了64位计算的先河——通过与AMD合作,微软推动了兼容的行业标准的发展,而从某种意义上说,英特尔一直在反对该标准(以避免IA64的商品化)。然而,微软在保持兼容性方面表现出了超凡的“耐心”。即使在今天,Office仍默认安装并推荐32位产品。我们的团队在2003年做出了这个选择。现在仍然是这样。

苹果从2017年开始需要64位应用程序。仅仅两年后,苹果就不再支持32位应用程序。

苹果模式的重要组成部分是“无所畏惧”,即为了坚持战略,苹果宁可更换其合作伙伴和生态系统成员。这一点使得消费者成了每个人的消费者,因为消费者会自己更换设备。企业计算模型不允许随意更换客户,因为你的客户只有2000家跨国公司。

1996年的《计算机世界》报公布了微软想要开发64位Windows。

2020年5月的文章,微软不再为PC生产商提供32位系统,但已有的系统依然会提供支持。

我们并没有做错。许多人争论道,对兼容性的承诺和客户优先让微软独树一帜。我同意并相信这一点。不过,这样做的结果就是客户不再那么希望与你一起前进了。真是不同的世界。 

关于成为一家面向企业的公司并承诺兼容性,可以写整整一本书。成功的回报是极高的,但这几乎是浮士德式的讨价还价,因为你必须放弃创新的权利。有一件事我已经谈论过很多次,那就是SaaS应该如何在企业领域发展。许多人认为,SaaS的好处是你可以保持产品最新并进行更改,但问题是,能达到如此大规模的企业产品很少有能够按一个按钮就能实现更新的。对于许多公司而言,这个功能都是“待议事项”。事实证明,将一项主要举措分解为很多非常小的功能并进行推广通常非常困难,甚至不可能,因为每次推出都会产生摩擦。

从近期的全球开发者大会中就可以看出,苹果的多项大众产品开发团队为了执行多年战略时付出了无数坚持不懈的努力。真是太神奇了,我真的很感激。我想起了一句话“不发布组织结构图”……

发福组织结构图是任何一支超过100人的团队都必须与之抗衡的巨大阻力之一。我们所说的产品“团队”可能超过了两万人,这是我离开微软时其团队大小的两倍。

我不知道苹果的研发团队有多大,或者我们在全球开发者大会上看到了多少工作。多年以来,苹果公司的规模一直小于或等于我所在的Office或Windows团队的规模。作为竞争对手,我一直在密切关注这一情况。现在,苹果拥有微软一样的体量,因此不知道内部细节就很难进行比较。

令人难以置信的是,苹果公司的每个人都将战略要求置于自己团队的要求之上。如果你想知道为什么Notes中没有更多新功能,或Mail缺少内容,那是因为多年战略优先于各个团队的战略,这是一件好事。

有效的执行力度要求公司从上到下的全面配合,将战略放在第一位。这需要交流,也需要绩效评估和奖励。这意味着需要加强自上而下的管理,避免管理的“随机性”或“不统一性”。在公司内部实现这一点非常困难,甚至痛苦。

我的经历大相径庭。并不是说我的经历有多么糟糕,只是不同而已。微软的本地的业务更多,因此在许多其他业务中的适应力要强得多,并能为许多不同的客户类型提供服务。有人甚至说,微软对客户的反应更快。

在大公司中,要求别人做与成功貌似关系不大的事情是一种负担。大公司(除了苹果之外)的员工都知道这种负担是什么。而在苹果,这种“负担”是好事,这是独一无二的,值得赞赏。

我的看法是,比如Windows可以拆分成50个左右的团队。每个团队负责产品的一部分(Office与此类似,有35个团队)。每个团队大约有50名工程师。考虑一个负责媒体平台或者叫设备支持的团队。某个时刻你会均衡分配资源,以保持每个人工作的连续性,并维持每个人的专业技能。这就是说,某个时候你必须痛苦地思考,如果你在某次发布中不需要团队成员专注于技术领域(例如需要保持稳定性的时候),那么他们会做什么。做法之一就是只要求团队成员提供战略层面上要求的东西,以平衡个人目标与战略目标的冲突。这就是为何团队不像“产品团队”那样拥有自己的研究目标,而是仅仅为了战略目标而工作。在这个远程工作的时代,这个问题要比人们想象的重要得多。

苹果近期以及大多数发行版中的“随机性”很少。这很重要,这意味着5年之后就没有需要清理的东西,也没有要淘汰的东西,不会造成任何痛苦。对我而言,最难的事情是干掉没人使用的东西(比如Windows的媒体中心!)

在微软想删除什么东西是绝对不可能的。我(或我们)已经尝试了无数次。一个笑话是,Excel团队一直在修改欧洲一家银行使用的OS / 2版Excel上的一个bug,直到很久以后除了这家银行之外没有任何人使用OS / 2了,这个bug还没有改完。媒体中心就是一个典型的例子,我知道我只要发一条推文,就会收到有人说“我用过”。我们甚至发布了没人会相信的使用情况数据。

最后,维基百科上有一张1984年以来苹果产品发布的路线图。每个阅读本文的人都应该看看,那简直是一件艺术品。没有一家软件公司能在如此长时间内定期发布这么多次,更不用说市值超过十亿的大公司了。

苹果的路线图不是Scrum或敏捷,也不是……大多数人称其为瀑布,但事实并非如此。它是计划、迭代、确定优先级、丢弃、重新启动等流程。在我的职业生涯的大部分时间里我都认为,制定战略并优先战略,才能拥有如此大的影响力。

许多人对此表示反对。很快对话就会变成讨论怎样才算“做得不好”。苹果的做法很独特,他们将长期目标分解为短期目标和能够投入市场的有用步骤,并且不懈地努力,不偏离计划。他们之所以这样做,是因为他们对市场的看法与大众的观点相同,因此不用担心被炒作周期、竞争对手的动作等迷惑。

微软的产品历来以三个版本之后才能用而著称,这与苹果完全不同。在我看来,微软做出的两个最大的战略赌注之一是图形界面,这与苹果开始开发图形界面大致在同一时期(Multiplan是第一个产品,Excel是第一个主要的新产品)。之所以称为赌注,是因为很多人不同意!第二个赌注是为将来构建一个全新的操作系统。有意思的是,它能与第一个赌注(Windows 9x)融合,完全是因为它“来晚了”。这跟苹果完全不一样,更多的是响应产品的变化。Windows NT是一种与苹果一样对执行力始终如一的产品。与客户保持一致影响了这一能力。

看看其他公司,那些试图预先发布的公司,也许是一家好公司,但或者速度慢,或者规模比苹果小很多,或者质量下降。苹果也有过起落,但我知道苹果的前高管认为这很重要!

我非常惊叹于苹果的执行情况,离开微软后我有机会与一些前NeXT和前苹果的人交谈,很高兴听到他们为实现这一目标付出了多少努力。很惊人。

有人问为什么微软不承诺每年发布。首先,Windows在历史上甚至无法按时完成一个发行版(除了2001年8月发行版的Windows XP的确实现了一年发布,但是后来需要制作Service pack,导致一个原本3个月的项目拖到了30个月。)

除了我们自己的执行能力之外,一个真正的挑战是生态系统对于定期发布的承受能力。其中包括一年前购买PC且没有“免费升级”模式的最终用户(因此是经济因素)。苹果免费提供操作系统文明,而这在当时对我们来说是一个难题。

Office按24到36个月的时间表发布,因为企业业务不需要那么多新软件。即使客户使用ARR支付(所谓的企业协议),他们也没有足够的精力来部署和培训员工。

综上所述,这意味着在任何给定时间,只有大约1/3的客户使用的是最新软件。其他2/3依然在使用6-8年之久的旧软件。这就是为什么兼容性如此重要的原因。这意味着,团队今天正在开发的东西需要在一台有8年历史的计算机上工作。

真的吗?我们终于在这方面取得了突破,因为我们意识到,一台8年历史的计算机也不是一台可以安装新软件的计算机。那为什么还要兼容性呢?有了企业协议,客户只需要询问一下。微软实际上需要对这些客户负责。

先别急着崇拜这些概念,要知道苹果的战略可行只是由于两件事。首先,苹果公司的人很棒。是的,每个人都这么说,而且我们都相信苹果公司的每个人都是世界上最优秀的员工。

我是认真的。

其次,许多人认为这是因为垂直整合或专注于设计或其某些属性。许多证据表明,仅这样做还不够。索尼专注于设计。DEC采用了垂直集成(他们制作了软盘)。甚至IBM。垂直是达到目的的手段,而不是原因。

苹果是独一无二的。不要尝试复制。

最后我想说,苹果公司能够为十几亿人带来优质的产品,是因为他们在产品制造商精益求精。

原文:https://medium.learningbyshipping.com/apples-relentless-strategy-and-execution-7544a76aa26

本文为 CSDN 翻译,转载请注明来源出处。

更多精彩推荐
☞一年一度程序员“补课”季来袭,618 背后技术大公开!
☞外媒:美国考虑封杀TikTok等中国社交应用;微信小程序将支持分享到朋友圈;Kotlin 1.4-M3 发布 | 极客头条
☞漏答题、偏科、多次复读,30 位互联网大佬考上啥大学了?
☞云计算与星辰大海的结合——不要回答,来自百亿光年外的未知信号
☞用机器学习还原《隐秘的角落》那些被修改的台词
☞一文速览 Eth2.0 的 7 大客户端进展
点分享点点赞点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink SQL 如何实现数据流的 Join?

无论在 OLAP 还是 OLTP 领域,Join 都是业务常会涉及到且优化规则比较复杂的 SQL 语句。对于离线计算而言,经过数据库领域多年的积累,Join 语义以及实现已经十分成熟,然而对于近年来刚兴起的 Streaming SQL 来说 Join 却处于刚起步…

小程序开发(9)-之地图组件map、导航

map用起来真的一言难尽呀,按照官方文档说是可以支持传入一个setting,来配置所以的属性的。。,但是我试了没效果,经纬度更新了,调试代码看到的wxml经纬度也变化了,但是map上的经纬度却没变化,后来…

惊魂48小时,阿里工程师如何紧急定位线上内存泄露?

阿里妹导读:云计算场景下的大规模分布式系统中,网络异常、磁盘IO异常、时钟跳变、操作系统异常乃至软件本身可能存在bugs等,均给分布式系统正确运行带来了挑战。持续的监控报警完善是打造稳定高可用分布式系统过程中非常重要的工作&#xff0…

我的程序跑了 60 多小时,就是为了让你看一眼 JDK 的 BUG 导致的内存泄漏

来源 | why技术荒腔走板大家好,我是 why,老规矩,先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩。上面图片中这个正在奔跑的少年,是正在参加校运会的我,那一年我 18 岁,高三。参加的项目是…

Flutter+Serverless端到端研发架构实践

Serverless(无服务架构)被誉为下一代云计算,自概念推出以来,因为能带来研发交付速度提升与成本的降低在业内异常火爆。闲鱼客户端基于Flutter进行架构演进与创新,通过Flutter统一Android和iOS双端提升研发效能之后&…

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文…

小程序开发(10)-之热力图解决方案、手绘图

原本是用别人用canvas画的热力图的https://github.com/rover95/wxapp-heatmap,但是问题有点多,热力图的颜色,卡顿、叠加、渲染失败等,所以就弃用了,也找了好久,好像大家都没有更好的提议,自己也…

windows下mysql8.x配置远程连接

文章目录1. 现象2. 登录mysql3.先查看下当前的用户,具有什么权限4.创建新的用户之后再查权限5. 赋予权限6.刷新权限,然后就可远程访问了1. 现象 Host ‘192.168.0.103’ is not allowed to connect to this MySQL server mysql8.x配置远程连接 2. 登…

Spark整合Ray思路漫谈

什么是Ray 之前花了大概两到三天把Ray相关的论文,官网文档看了一遍,同时特意去找了一些中文资料看Ray当前在国内的发展情况(以及目前国内大部分人对Ray的认知程度)。 先来简单介绍下我对Ray的认知。 首先基因很重要&#xff0c…

建设数据中台之前,建议先看这份企业数据能力测评 | 大咖说中台

作者 | 耿立超来源 | 《大数据平台架构与原型实现:数据中台建设实战》“我的企业目前在数据应用上处于什么水平?接下来应该朝哪个方向努力?”本文试图帮助企业决策者和IT负责人解答这一问题。今天,数据之于企业的重要性已经勿须多…

如何让 python 处理速度翻倍?内含代码

阿里妹导读:作为在日常开发生产中非常实用的语言,有必要掌握一些python用法,比如爬虫、网络请求等场景,很是实用。但python是单线程的,如何提高python的处理速度,是一个很重要的问题,这个问题的…

Zipkin 存储追踪数据至 MySQL

下载zipkin-mysql数据库脚本 https://github.com/openzipkin/zipkin/tree/master/zipkin-storage/mysql-v1/src/main/resources 创建数据库名称为zipkin,字符集编码:utf8mb4 初始化脚本 -- -- Copyright 2015-2019 The OpenZipkin Authors -- -- Licen…

Spring Cloud Alibaba 新一代微服务解决方案

本篇是「跟我学 Spring Cloud Alibaba」系列的第一篇, 每期文章会在公众号「架构进化论」进行首发更新,欢迎关注。 1、Spring Cloud Alibaba 是什么 Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件…

它估值25亿!被马云领投,是华为“老战友”,网友:也许股价能超茅台!

最近一条新闻被炒的沸沸扬扬:十年以来中国最大IPO,中芯国际将融资532亿元!何为IPO?翻译即为一家公司第一次向全社会公开售出它的股份。买的人越多,代表着社会对其信心越大。为什么2020年,能爆发这样1场最大…

RabbitMQ 最新版安装 (Linux环境)

文章目录一、Erlang1. Erlang下载2. Erlang 上传并解压3. 验证rabbitmq依赖是否安装4. 安装rabbitmq依赖5. Erlang 编译、安装6. Erlang 配置环境变量7. Erlang 验证二、RabbitMQ2.1. RabbitMQ 下载2.2. RabbitMQ 上传并解压2.3. RabbitMQ 配置2.4. 配置环境变2.5. 启动 Rabbit…

双11 背后的全链路可观测性:阿里巴巴鹰眼在“云原生时代”的全面升级

导读:作为一支深耕多年链路追踪技术 (Tracing) 与性能管理服务 (APM) 的团队,阿里巴巴中间件鹰眼团队的工程师们见证了阿里巴巴基础架构的多次升级,每一次的架构升级都会对系统可观测性能力 (Observability) 带来巨大挑战,而这次的…

一切转型始于数据和模型 | 2020 MATLAB EXPO 中国线上用户大会:即将上线

2020 MATLAB EXPO 中国线上用户大会一切转型始于数据和模型2020 年 7 月 21-24 日 | 线上直播MATLAB 和 Simulink,作为业界普遍使用的科学计算与模型仿真软件,已被全球的工程师和科学家们广泛应用于加快汽车、航空、电子、金融服务、生物医药以及其他行业…

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo )首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,…

Zipkin 基于MQ存 储链路信息至 MySQL

RabbitMQ 最新版安装 (Linux环境) https://gblfy.blog.csdn.net/article/details/120498390 启动rabbitmq 队列是空的 数据库表是无数据的 启动nacos 应用集成rabbitMQ 父工程导入依赖 <!-- 消息队列通用依赖 --><dependency><groupId>org.springframewo…

标签编辑新工具:如何使用控制台标签编辑器(Tag editor)

创建阿里云资源时&#xff0c;您可以给资源绑定标签。已经创建的资源&#xff0c;也可以在资源列表页面或者通过API&#xff0c;批量的添加、更改和删除标签。当遇到如下更为复杂问题和场景&#xff0c;该如何快速解决标签问题呢&#xff1f; 资源跨度大&#xff0c;需要跨资源…