老雷看Win7(5)——发布是硬道理
对于很多大型的软件项目来说,如期发布是一个可望不可即的目标。拿NT系列的Windows来说,延迟也是习以为常的事。第一个版本,即NT3.1,本来计划是18个月,但是实际用了差不多5年,整整晚了三年多。因此Lucovsky在一次演讲中,曾以自嘲的口吻说:“我们不过是延迟了三年么:-(”。
Vista的延迟也是够离谱的,项目从2001年5月开始,先是以Windows XP的代码为基础,最初计划是在2003年下半年完成,但是到了2003年时,可谓是八字还没一撇,于是索性返工,改为以Windows Server 2003的代码为基础,后来实际上是到了2006年11月8日才RTM(Release To Manufactoring)。
让很多人没有想到的是,Windows 7如此准时,准确来说是提前了,本来计划是2009年年底或者2010年年初,但实际上2009年7月22日便RTM了。即使这算不得什么奇迹,但确实很值得让人思考。
下面是广为流传的一张照片,照片中的两个人都叫Steve,一个是Steve Ballmer,另一个是Steve Sinofsky,后一个通常被称为Steven,但其实这两个英文名是半斤八两,八两半斤的关系,Steve是Steven的昵称。
照片中,鲍尔默手里拿的便是象征胜利完工的Win7 RTM金盘(gold disk)。称为金盘不是因为颜色像金子,而是通过测试可以发布的意思,与gold release中的gold是一个意思。
看两个人的表情,多开心啊!鲍尔默激动不已,大呼大叫,辛诺夫斯基笑逐颜开,高兴的有点手足无措,似乎有要挽住鲍尔默胳膊的迹象......
看了这样的照片,不知道大家什么感觉。也许有人认为有点作秀,有点夸张,有点没有必要。
但我一直不这么认为,反倒觉得他们内心也许比表现出来的更加激动和欢欣,还有一种强烈的如释重负的感觉。
Windows让很多人成就辉煌,但是也让很多人跌落马下。内存管理器的核心设计者Lou Perazzoli在Windows 2000时代达到顶峰,在2000年时离开;Win32 API和调试子系统的设计者Lucovsky在Server 2003时达到高峰,同年去了Google。曾经在英特尔工作过的Brian Valentine在开发Vista时达到巅峰,但是没等Vista发布就奔赴Amazon了。Jim Allchin在Vista RTM那一天宣布退休,真是明智,如果留下来,整天听人说Vista这样那样,岂不气死。就连因亲手缔造NT而有NT内核之父的David Cutler也在Vista后,不管这个“儿子”了,转去做Windows Azure。
因此,可以说随着Vista的发布,NT的一个时代结束了,一个新的时代开始了。
虽然还有一些老将,但是主导新时代的是一批新人物,包括两个“领队”——Steven和Jon,都因Office成名,不是从操作系统起家的。
看到这里,也许更能理解Win7发布的意义了。它的失败意味着新时代的失败;它的成功意味着新时代的成功......
Win7发布后,销售异常火爆,在亚马逊上,前8个小时的预定量就超过了Vista前17周的记录,截止2010年1月29日,已经卖出了6千万份。Win7的热销甚至带动了整个PC产业,成为PC产业新一轮攀升的催化剂。
当然也有人认为Win7仓促发布,不顾瑕疵。的确,Win7 RTM不久,就有人报告各种不同的问题,比如扫描磁盘导致系统崩溃,老雷在上一篇文章中也描述了一个比较严重的问题。但是这又怎么样呢?Win7的热销和成功已成定局。当然这绝不是鼓励大家把不成熟的东西都发布出去,要知道那是在玩火。
总的来说,准时发布对于软件工程来说太重要了。而且可以说,在今天的技术和人文背景下,准时发布变得更加重要了。延迟对公司意味着真金白银的投入,丢掉合作伙伴的信誉,对个人来说意味着加班和额外的付出,对领导来说意味着可能丢掉位子和前程......
有人说Win7没加入什么新功能,所以才能准时。我也不同意这种观点。的确,在官方宣布的功能列表中,Win7的新功能不是那么多,但事实上,Win7中有很多“夯实基础”的大动作并没有对外人说,比如影响整个系统的MinWin架构,随时可以打电话回家的Telemetry机制,推而广之的ETW设施......本着低调精神,这些改动都以“不足为外人道也”的姿态暗藏在Win7中。
在我看来,Win7的准时发布是团队模型和整个项目管理方式的成功,今天不继续聊了。