微软“作死”Windows
【CSDN编者按】距离上次更新刚过了半年,微软的“亲儿子”Windows 10最近又发布了一版更新内容,然而刚一发布就曝出了严重的文件丢失问题,只能紧急叫停。
从以前的三年一次,到如今的半年一次,显而易见的是,压缩的产品发布周期使得Windows性能大打折扣。如此不走心的低级错误,微软究竟是怎么做到的?不仅如此,近年来微软每一次发布的更新都备受诟病——微软为什么如此执着于更新Bug?又为什么没有在测试阶段发现这个严重的错误?
在本文的作者看来,这些问题的根源在于微软的开发流程太糟糕了:先集成未经充分测试的功能代码,然后再慢慢解决所有问题。正是微软的这种理念,才使得原本备受期待的Windows 10“沦落”到今天的地步。
2015年Satya Nadella向全世界介绍了Windows 10
新世界并不那么新颖
在新世界里,我们看到微软的整个开发周期需要7-8个月的时间。虽然两次发行之间只间隔6个月,但在上一个周期结束之前下一周期就需要开始,所以每次“提前开始”的组重开,Insider用户就知道又要分散精力了。
通常每次更新刚开始的时候都非常平静,几乎没有明显的变化,但是在接下来几个月里会发生重大的变化,同时引入大量bug。
在更新发布之前的一个月里,我们会发现变更的数量会急剧减少,而且人人都会更加关注修复bug而不是新功能。
正如上述微软员工所描述的那样,开发最后的几个月分为一个“告诉”的阶段,然后是一个月的“请求”阶段。在“告诉”阶段,大家告诉Windows的领导正在进行的更改,而且他们只能默认接受所有的更改。在“请求”阶段,大家的状态自动切换成拒绝,在这个阶段只允许真正有必要的修改,通常每天只能做出尽可能少的几个改动。
因此,例如,10月更新的第一个版本(代号RS5)已于2月14日发布给Insider用户;而更新的稳定版本(RS4)直到两个月后的4月16日才发布。在3月7日之前RS5并没有收到任何重要的新功能,到了5月、6月和7月相继增加了许多功能,一直到8月和9月才截至,所以这两个月只有很小的修改。 8月份甚至删除了一些小功能,因为无法在10月发布时及时准备好。
当然,这个过程并不是每次都完全一样。例如,我们看到新功能在预览版本中出现了几个月。这表明随着功能的开发,新功能的集成似乎发生得非常快,而不是在最后进行一次大融合。
质量出现了大跳水
但是微软的开发过程也存在一些重要的相似之处。最重要的一点是众所周知的代码集成存在大量bug,以及在测试和稳定阶段就急于解决实际问题。他们甚至明确承认这一点:在宣布新版本的预览时,微软警告说“开发周期的早期版本中所包含的bug可能会让一些人很痛苦。如果这让你感到不适应,你可以需要考虑切换到慢速通道。慢速通道发布的版本将继续保证高质量。“
我们可以在RS5中看到过这方面的一个例子。去年10月的更新为OneDrive引入了一项新功能:占位符代表存储在OneDrive却没有下载到本地的文件。每当应用程序尝试打开文件时,OneDrive将直接从云存储中获取文件并将其保存在本地,而应用程序无需知道最初本地有没有该文件。如果磁盘空间不足,那么RS5可以让用户选择性地从本地存储中清除云复制文件。
这是一个非常聪明且很有用的功能,可以无缝使用云存储。而且该功能的代码是全新的,由一个内核驱动程序为云同步代码(用于下载文件和上传更改)与文件系统中的占位符提供了粘合剂。他们还提供了一个API(第三方可以将他们的代码连接到同一系统,就可以提供他们自己的同步服务)。
虽然我们不确定旧的流程是否必然会导致数据丢失的bug,专门负责测试的人员也有可能不会测试数据被删除的特定场景。但是很明显,微软付出了大量精力用于处理Insider计划中非专业测试人员报告的bug。其实有人在这次十月份更新发布前的三个月就报告了数据丢失的bug,但很多关于该漏洞的报告本身质量就很差,不仅缺乏必要的细节,还会使用不恰当的术语,最终微软也只是忽略性地推出了“残缺”的更新版本。
当然,微软也未能在三个月内发现问题,那么即使加长开发周期也未必会有显著的改善——只是意味着bug被忽视的时间会从三个月延长到六个月。
微软也有承诺要改变Insider的反馈流程,允许bug报告者指出问题的严重性,从而让这些问题引起更多的关注。如果参与Insider计划的用户能够正确地使用严重性指标,那可能会有所帮助,但似乎并不足以解决其核心问题——太多质量低下的bug报告了,庞大的处理量下微软又怎么高效筛选?
这就与代码的质量问题密切有关。Insider计划的真正优势在于硬件和软件的多样性,它可以向外界暴露Windows,消除兼容性bug和驱动程序问题等等。然而,Insider的用户不应该成为“这个功能是否可以真正工作”测试的主力人员。但是,感觉这就是微软自以为“明智”的做法。
更糟糕的是,开发过程中代码质量确实出现了下降的事实,意味着预览版本一般都不适合个人电脑的日常应用。原因很简单,它们不够稳定。这会反过来贬低了Insider用户测试的价值:实际上,Insider用户并不会在所有的硬件和软件上使用新版本,因为他们并没有在主要的机器和所有硬件和软件上使用预览版本。他们只会在使用较少的辅助机器和虚拟机上测试而已。
投资工具必不可少
在像Windows一样复杂而庞大的系统内,建立类似于Chrome的测试基础架构是一项艰巨的任务。虽然Windows有些部分可以作为独立的组件广泛进行测试,但许多部件只有在作为完整系统的集成部件处理时才能进行有用的测试。其中一些,例如OneDrive文件同步功能,甚至需要依赖于外部网络服务来运行——这项工作一点也不简单。
Windows应该采纳的原则是:
代码应始终达到发布的质量,不是“经过几个月的修复”,而是“现在、随时可以发布”,这将是一个巨大的变化,但这是必要的。
从第一天开始,微软就需要进入一种状态:每个新更新都要达到产品的质量。功能更新不应该是一次大事件,用户几乎不会注意到。减少到一年发布一次、或每三年一次发布也达不到这样的效果,而且也不会有丝毫的帮助。
微软需要改变的是流程本身,而不是时间线。
原文:https://arstechnica.com/gadgets/2018/10/microsofts-problem-isnt-shipping-windows-updates-its-developing-them/
作者:Peter Bright,负责为Ars提供微软服务,包括编程和软件开发,Web技术和浏览器以及安全性。他曾在大英图书馆数字信息保存部门工作,致力于恢复和保护数字数据。在空闲时间里,他喜欢编写软件并偶尔为开源项目做贡献。
译者:弯月,责编:郭芮
“
征稿啦”
相关文章
-
工信部:APP“弹窗信息关不掉”等问题基本清零
-
为什么李彦宏做直播能多带来120亿市值?
-
扎克伯格下场怼人1场直播蒸发425亿,Facebook为何都在惧怕这个中国男人
-
华为重磅宣布!已捐赠HarmonyOS核心基础架构给工信部
-
大数据助力政治学研究(学苑论衡)
-
微信团队可能还是宠幸iOS系统用户多一点
-
续航1000公里的理想智造ONE,现实离理想到底有多远?
-
继往开来|云计算数据中心的进阶之路
-
创业者心态不再,996余波难平
-
禁毒知识抢答模拟系统、机器人禁毒宣传、智能化禁毒机器人
-
【解决方案】EasyCVR智慧粮仓系统能够为粮仓管理带来哪些便捷和优势?
-
TDK东电化一级代理分销一些库
-
网易回应“大量网易邮箱账号遭公开叫卖”:仅涉及邮箱地址,不涉及用户敏感信息
-
涉爆案件刑侦专家、桥梁建筑女焊工,他们是新时代的平凡英雄
-
阿里巴巴推政务钉钉;华为已同步启动6G研究|早8点档
-
金立否认刘立荣挪用公款输光100多亿;三星工厂致118人死亡,320人患病;2018十大年度创业家揭晓······
-
苹果AppleCard将于8月上旬正式推出
-
【钛晨报】格力称举报奥克斯无关“618”;快狗打车被曝"裁员50%";微软删除最大公开人脸识别数据库
-
Netflix探过的路,爱奇艺还会再硬闯一遍吗?丨财报季
-
华为的痛点,真的只是芯片吗?
-
历史性的一刻!Android和iOS设备实现互通
-
华为手机怎么关闭锁屏广告
-
京东27亿收购翠宫饭店,酒店是京东2019年的发力点?
-
热点|P2P平台现状:近50%平台失联,超11%平台停运
-
贾跃亭罕见发声,FF91距离量产“只差临门一脚”!
-
前央视主持人布局知识付费,瞄准Z世代红利教“新手爸妈”带娃
-
VR/AR迎来倒闭潮?英特尔、IMAX VR、Blippar等为何放弃V
-
“吃鸡”没过审,拖累年报!刚刚,第十批游戏版号依旧无腾讯
-
数说|嫦娥四号三周年