内容简介:作者:熊节 / 插画:虎头锤敏捷是一种重视质量、追求快速反馈的软件开发方法。2001 年 2 月,美国犹他州雪鸟滑雪度假村,“敏捷软件开发联盟”成立,并签署“敏捷宣言”。仅仅几个月后,林星、石一楹等国内的先行者开始翻译引进与敏捷相关的资料,敏捷引入中国。
作者:熊节 / 插画:虎头锤
一、生于滑雪度假村,它的名字叫敏捷
敏捷是一种重视质量、追求快速反馈的软件开发方法。
2001 年 2 月,美国犹他州雪鸟滑雪度假村,“敏捷软件开发联盟”成立,并签署“敏捷宣言”。仅仅几个月后,林星、石一楹等国内的先行者开始翻译引进与敏捷相关的资料,敏捷引入中国。
敏捷对行业的影响远不止几个编程实践,说它影响了 Java 技术栈的变迁,说它引领了 DevOps 和持续交付的潮流,甚至,说它在软件发展史上是浓墨重彩的一笔,都不为过。
敏捷中国之于中国 IT 行业的发展,是同样甚至更大的影响。
然而,敏捷在技术人士中具有很大的争议,有人将敏捷奉为圭臬,有人对敏捷嗤之以鼻。大家对敏捷的态度为何有天壤之别?
二、成年礼——首个传纪,《敏捷中国史》
2019 年 2 月,敏捷正式诞生 18 个年头。对于热爱它的人士,对于贬低它的人士,《敏捷中国史》的出现无疑是大家重新认识敏捷的一个重要契机。
作为中国敏捷十余年发展历程的亲历者与推动者,资深老程序员熊节从整个中国 IT 发展进程审视敏捷,参阅无数资料(光是写作过程中的引用文献就有 400 多篇),打造了《敏捷中国史》。
通过《敏捷中国史》,熊节带你一起重新经历一代程序员的青葱编程岁月,与你一起梳理中国软件工程领域 20 年发展的关键脉络。你会对如下问题的认识更为深刻:
-
如今很多人所认识的敏捷跟 Martin Fowler、Kent Beck 等先驱主张的敏捷有何不同?
-
70 后与 80 后老程序员当年是如何突破自身技术瓶颈,将敏捷引入中国的?
-
敏捷是如何从一个名不见经传的小流派,到如今,从自由职业者,到创业小团队,再到大型公司,无不接纳并大力应用它的?
-
IT 领域最有影响力的巨头阿里、腾讯、华为的技术成长是如何深度融入敏捷方法的?
接下来让我们看几个典型的场景,先睹为快。
三、感受无数资深程序员当年如何突破技术瓶颈
《敏捷中国史》是一部一线技术人士“低视角”亲历的 IT 发展史,这才是中国 IT 业真实的发展样貌——并非像新闻稿和鸿篇巨著所写那样高屋建瓴,反而是由无数普通人自觉或不自觉、主动或被迫、有心为之或机缘巧合的行动一点点塑造起来。
《敏捷中国史》中记录的一线普通 IT 从业者,当年初出茅庐,时常受困于各种技术问题,如今,它们中的很大一部分仍然奋斗在行业一线,不过,已经成为很多人心中的“大佬”。大佬当年遭遇了哪些技术难题,他们是如何突破瓶颈的?
场景一:
这几天,庄表伟一直在反思开发“中国上海”网站的过程。年初启动项目时,老板让他估工作量,他估了一个数字以后,老板直接乘以 2 报给了甲方。起初他还有些不以为然,谁知项目一做起来,进度一拖再拖,最后竟然比老板报给甲方的工作量还超出了些,到最后逼着团队连更连夜加班才赶上时间节点。
第一次带团队的庄表伟这才意识到,带着一支团队做一个上规模的项目,跟自己一个人做些单机软件,是有很大区别的。这种差异体现在哪里,他一时还说不清。
场景二:
孟岩彼时在网络上声名鹊起,重要的原因之一是他在 2001 年 2 月发布的一篇文章:《VC 不是梦想,C++ 需要自由的心》。在中文世界里用“梦想”、“自由”这样的词汇来描述一种编程语言,就算他不是第一个也差不太远。把当年如日中天的微软批评为“封闭”、并振臂疾呼“在我们程序员的心中,没有凯撒,我们可以把你当朋友,但是你别想做我们的主子”、“不自由,毋宁死”,这在当年看来是极具开创性和震撼力的观点。
场景三:
“那台监视器用了一段时间,陈总看上面也没什么特别的东西,每天都是一块绿色,可能觉得也没什么用吧,新员工入职的时候就分配给别人用了,”何晓东答道,“后来我们去工商局驻场的时候都忘了这事。可能还是应该有这么一个监视器好些,不然也不至于测试都失败了我还不知道。”
“唉,你们呀,叫你们做的事情,几天不来看全都走样了,也难怪你们项目赶得辛苦。”石一楹长叹一口气,“好在你们项目总算也上线了,有点小 Bug 修修补补,大问题不会有了。下一个项目争取把这些动作做得再标准一点吧。”
四、首次集中揭秘 IT 巨头阿里、腾讯、华为的敏捷故事
华为敏捷“三步走”策略
2008 年,徐直军出任华为产品与解决方案总裁,主抓产品研发。甫一上任,“小徐总”就提出了“三年把华为建设成为中国从事研发人员向往的地方”的战略目标。这一目标拆解到产品与解决方案体系下属的系统工程部,就落实到了 全面推行敏捷 上面。
经过 2008 年在核心网、无线等产品线的试点, 华为研发体系内部达成共识 :敏捷/迭代开发已经成为业界主流软件开发方法。
系统工程部并定义出了 公司敏捷推行的“三步走”策略 ,将敏捷实施分为项目级、版本级和产品级,要求 2009 年重点全面推进项目级敏捷,版本级敏捷进行试点,计划 2010~2011 年在版本级敏捷试点基础上进行逐步推广。
敏捷导入之于腾讯是进化
即便确定了敏捷的大方向,腾讯从未像通信企业、尤其是华为那样搞过自上而下的敏捷转型运动。当时在研发管理部任高级项目经理的肖德慧认为,这是由腾讯的文化决定的。
在高速发展的互联网环境下,腾讯团队本身已经具备了拥抱变化、重视反馈、快速发布、快速改进的“敏捷基因”,因此敏捷的导入对于腾讯而言不是转型、而是进化,不需要、也不适合以自上而下的转型运动形式开展。
在这样的企业大背景下,腾讯研发管理部没有设计全公司敏捷转型的整体路线,而是以平台和服务的形式给各个产品团队提供帮助,由团队主动选择。
研发管理部继承了腾讯一贯的 产品思维 ,把敏捷也当做产品来运营,并定义出腾讯敏捷的 5 大特性。
压力驱动下的阿里自发敏捷
2005 年 8 月,雅虎以 10 亿美元投资和雅虎中国全部资产为代价,换取阿里巴巴 40% 的股份。这笔交易不仅解决了阿里的燃眉之急,而且让阿里获得了雅虎中国一批优秀的工程师。其中雅虎中国广告团队整体切换成阿里广告团队,并于 2007 年成立阿里妈妈。
阿里的敏捷之旅,就发端于这支团队。据当时在阿里妈妈负责过程改进的李宇回忆,这支团队最初是在 2006 年 3 月开始试用 Scrum,并结合了极限编程的一些实践,经过近两年的试点、推广和改进,到 2008 年已经在全部门采用。
阿里妈妈开始使用敏捷方法的 出发点非常简单 :业务希望每个月能定期上线,技术团队就对应地制定了每月一个项目的排期。
五、了解中国软件工程近 20 年发展脉络
张松老师在《敏捷中国史》推荐序「敏捷画卷:中国软件史的精彩侧影」中说,如果把软件开发当成一个谜题,数代的软件人在过去的 50 年里前赴后继地尝试解决这个谜题,不过到今天为止,全世界不管是 码农 还是码神,我们仍在这个谜题当中痛苦挣扎。
中国用 20 年的时间迈过了西方 50 年的软件工程发展史。《敏捷中国史》中一个个鲜活的故事和严谨的数据考证一起,描绘了敏捷方法在中国软件产业的土壤中一步步发芽、传播的画卷,构成了中国软件史一个精彩的侧影。
《敏捷中国史》不仅帮读者在宏观层面理清了中国软件工程领域在过去 20 年里发展的关键脉络;一系列从业者的经历巧妙串联,更让读者从个体视角体验历史,了解众多普通的软件人是如何参与着历史和创造着历史。
接下来,让我们更好地了解历史,并致力于创造属于 IT 人的更好历史。
敏捷是一种重视质量、追求快速反馈的软件开发方法。它对行业的影响远不止几个编程实践,说它影响了 Java 技术栈的变迁,说它引领了 DevOps 和持续交付的潮流,甚至,说它在中国 IT 发展史上是浓墨重彩的一笔,都不为过。
然而,敏捷在技术人士中具有很大的争议,有人将敏捷奉为圭臬,有人对敏捷嗤之以鼻。
大家对敏捷的态度为何有天壤之别?如今很多人所认识的敏捷跟 Martin Fowler、Kent Beck 等先驱主张的敏捷有何不同?70 后与 80 后老程序员当年是如何突破自身技术成长困境,将敏捷引入中国的?敏捷是如何从一个名不见经传的小流派,到如今,从自由职业者,到创业小团队,再到大型公司,无不接纳并大力应用它的?IT 领域最有影响力的巨头阿里、腾讯、华为的技术成长是如何深度融入敏捷方法的?
作为中国敏捷十余年发展历程的亲历者与推动者,资深老程序员熊节从整个中国 IT 发展进程审视敏捷,通过本课程带你一起重新经历一代程序员的青葱热血岁月,与你一起梳理中国软件工程领域 20 年发展的关键脉络。
不止于敏捷,你会切实感受到整个中国 IT 行业、乃至中国经济的发展。
【课程目录】
作者简介:
作者:熊节,现任宝尊电商成都研发中心总经理,曾任 ThoughtWorks 总监咨询师、 CSDN 技术主编。
IT 行业打拼 18 年,在金融、零售、政府、电信、制造业、全球医疗等行业的信息化建设方面有着丰富经验。翻译了《重构》《软件工艺》《实现模式》等行业重要著作,是中国 IT 浪潮中敏捷发展的领航者之一。熊节拥有利物浦大学 MBA 学位。
插图:虎头锤,旅居墨尔本的老程序员,北邮博士、北大硕士,15 年编程经验。目前从事支付系统相关业务,曾转战区块链、通信行业。敏捷倡导者、手绘爱好者。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从规范出发的程序设计
[美] Carroll Morgan / 裘宗燕 / 机械工业出版社 / 2002-8 / 45.00元
本书详细论述了有关规范程序设计的内容,包括:程序和精化、谓词演算、选择、迭代、构造类型、模块和封装等,最后几章还包含了大量的实例研究和一些更高级的程序设计技术。本书提倡一种严格的程序开发方法,分析问题要用严格方式写出程序的规范,而后通过一系列具有严格理论基础的推导,最终得到可以运行的程序。 本书是被世界上许多重要大学采用的教材,适于计算机及相关专业的本科生和研究生使用。一起来看看 《从规范出发的程序设计》 这本书的介绍吧!