诺基亚实施敏捷软件开发的前世今生

发表于:2013-03-20来源:letagilefly.com作者:徐 毅点击数: 标签:敏捷
诺基亚实施敏捷软件开发的前世今生!不久前诺基亚宣布停产生产塞班智能手机,业内人士和媒体开始热议塞班之败的原因。微博上也有很多网友开始将塞班甚至是诺基亚之败跟“诺基亚不是最早做敏捷的么”关联起来,甚至得出一些类似于“敏捷害死了诺基亚”或者“敏捷也没能救

  不久前诺基亚宣布停产生产塞班智能手机,业内人士和媒体开始热议塞班之败的原因。微博上也有很多网友开始将塞班甚至是诺基亚之败跟“诺基亚不是最早做敏捷的么”关联起来,甚至得出一些类似于“敏捷害死了诺基亚”或者“敏捷也没能救得了诺基亚”之类的结论。作为几乎较完整地经历了诺记(包括前诺基亚网络也即现在的诺基亚西门子通信,简称诺西;以及诺基亚手机部门)。

  我叫徐毅,现在在诺基亚功能手机北京研发部门担任敏捷及精益教练,在此之前,我短暂地供职过上海惠普的企业服务业务部门,再往前,就是我至今为止职业生涯中经历最长时间的前诺基亚网络(现称诺西)杭州3G研发中心。诺西杭州最早是在2005年底开始第一个Scrum及敏捷试点项目,我在第二个月以专职测试人员身份加入;2008年开始转为内部的专职敏捷教练;如今在诺基亚功能手机部门。所以,我自认为还是有一定的资格可以跟大家介绍一下诺记敏捷的历史。

  当然了,诺基亚和诺西都有着好几万的雇员,业务遍及全世界,而研发中心也有很多个, 业务线也很多,而且诺西除了前诺基亚网络的部分还有合并进来的前西门子通信的人员和业务,所以我不可能可以概括全部,但至少我可以从我所见所闻和所知道跟大家闲聊几句。关于我自己的职业生涯信息,或者其他个人信息,可以通过如下链接深入了解:

  LinkedIn职涯档案:https://www.linkedin.com/in/kaveri

  在下的个人网站:http://kaverjody.com/

  about.me页面:http://about.me/xuyi

  故事正式开讲。

  2005~2006年 前诺基亚网络,IPA

  年初我还是一名小小的测试工程师,刚刚被母公司前纬创杭州(=前士通资讯,=前杭州超软)派遣到前诺基亚网络杭州研发中心,作为一名外包方员工加入其3G传输平台系统的软件测试工作。主要担当测试及测试自动化方面的工作,而且也主动加入了当时新成立的Linux平台部门,这也为后来加入试点项目买下了伏笔。

  2005年底,吕毅找到我问我要不要加入正在进行中的一个叫ATCA-IPA的项目,他们正在尝试一种叫做Scrum的新式软件开发方式,目前有三名开发人员,需要一名专业测试人员的加入。搜索阅读了大量文章,我并未犹豫多久,就决定加入这个项目。后来我慢慢地才知道,这竟然是敏捷大转型的开端;而且以我所了解的情况,这应该也是国内最早的Scrum试点项目,可能敏捷的个人实践者很多,但一则多是尝试XP实践,二则规模不大,总之,在Scrum这一块,我们应该是最早的先行者了。

  项目一直延续到2006年底,我们团队(团队名:Grid;集体投票得出,取意当时热门的网格计算技术)还获得了项目的公开表扬,因为我们不但保证了高产出,而且还很好地探索了当时所知的各种敏捷实践(主要是XP范畴内的诸多实践,包括单元测试、TDD、结对编程等等)。如今我还依然记得在Greenwich会议室里,和李程远、孟贤、周函一起奋斗的场景,也记得我和ScrumMaster许俊因为测试自动化策略和Scrum做法而争得面红耳赤的样子,真是一段美好的时光。

  能够在敏捷试点方面有好的成果,后来观察了很多其他组织实施敏捷之后,我才意识到,当年我们能够成功的关键在于我们有极其强大的支持团队。它包括,

  业内专家:Craig Larman,Bas Vodde(时任内部敏捷转型团队负责人),和其他我未曾见面的大牛。

  内部专家:主要是指我后来也加入的Flexible Company团队,全球范围内支持诺西内部所有敏捷转型。成员包括Petri Haapio等;以及来自内部测试卓越团队的Jukka Savela。

  里应外合:吕毅曾师从Ken Schwaber;而我则是对Scrum有着极大的兴趣;后来加入的@秦之远和@hanzhi窦也都对敏捷有着非常积极的态度。

  后来团队也变成了两个,项目增加了很多新鲜血脉,没记错的话,@秦之远和@hanzhi窦都是在这个时候加入的。项目将近尾声时,@terry尹哲短暂地担当了一阵子我们团队的ScrumMaster。

  遗憾的是,虽然我们在技术、产品(传输平台系统,非面向消费者的终端产品)和敏捷实践方面有着令人瞩目的成绩,但在当时前诺基亚网络和前西门子通信合并的大环境之下,诺记ATCA-IPA产品在权衡之中被领导层决定放弃,转为使用前西门子通信据说已经达到商用水平的系统(不过貌似后来也取消了……),我们的敏捷试点项目也就就此告一段落。

  对我来说,个人收获主要在于:体验了Scrum、敏捷开发模式;理解了测试人员如何在敏捷环境下工作(参考我2010年敏捷中国大会的演讲《Be Modern Agile Tester》);参与制定了DI(Development Item)流程中的测试(DIT)流程;尝试了和开发结对,也尝试了和测试结对;等等。

  2007~2008年 诺西,3G传输平台研发部

  虽然前面的Scrum试点项目因为大环境缘故被取消,但高层很认可其试点效果,于是才有了后续的大范围推广。时任该产品线研发老大的Tero Peltola下定决心,要通过敏捷提升软件研发实力,影响多达五六百人的产品线敏捷转型就此拉开帷幕。时至今日仍在延续,并以扩散至其他产品线,但各个产品线的实施效果则有很大不同,这是后话,这里先不讲。

  话说这个敏捷大转型,我后来认为至少有一个极大的失误,那就是,之前的Scrum试点团队人员被直接安排进入下一代新产品研发,而没有被整体考虑放入老产品的600多人里面去散播敏捷知识和经验、促进转型顺畅进行。与之相反,我们采取的是一种Big-Bang形式的转型,直接转为基于Scrum的敏捷模式,就像我常说的,一夜之间,所有的项目经理岗位全部消失,他们必须再选择担纲其他角色,例如ScrumMaster、产品负责人等等(这段记忆或许不对,如有朋友仍记得内情,请不吝告知)。

  我自己则跟随着前试点团队直接进入了下一代新产品FemtoGW的研发,和产品线分属两条线各自进行自己的敏捷实践和转型。诺西属于全球性企业,加之刚刚合并,因而也导致FemtoGW面临着三线开发的局面:我们在杭州负责传输平台的开发,意大利米兰负责驱动层部分的开发,而印度班加罗尔则负责应用层的开发。更复杂的是,杭州采用了完全敏捷化的开发方式,而和我们有较强依赖关系(平台依赖驱动)的米兰则选择跟随采取了半敏捷的方式,位于班加罗尔的印度同仁们则依然是瀑布型(应该是CMMI吧)的传统开发方式。

原文转自:http://letagilefly.com/post/2013/03/%e8%af%ba%e8%ae%b0%e6%95%8f%e6%8d%b7%e4%b9%8b%e5%89%8d%e4%b8%96%e4%bb%8a%e7%94%9f-10201.html