本文来源 | 公众号-余晟以为

作者 | 余晟

责编 | 林瑟

许多人大概还记得列宁有句名言:“忘记历史就等于背叛”,也承认历史的重要价值。但是,IT 的历史有什么价值,有多重要?恐怕对许多人来说,IT 的历史只是有趣故事的集合。

这不奇怪,因为“计算机的历史”实在不是一门显学。许多人都认为,计算机(或者“IT行业”)太年轻,一切尚待摸索,发展又太快,所以不了解过去,完全不是什么问题。我以前也这么想,不过在这个行业干了十多年之后,我不得不承认,多懂点 IT 的历史真不是坏事。

有时看到一些程序员写的程序职责混杂,最基础的操作和存储都没有分离,真是让人无语。不过,这正是我今天推荐《敏捷中国史》的理由所在。与常见的“IT 技能培训”不同,《敏捷中国史》由熊节这位开发专家撰写,讲解的却不是具体的  IT 技能,而是接近 20 年的开发演变历史。

长期以来,外行虽然能把故事讲好,又缺乏专业素养,经常闹一些笑话,而 IT 行内人士更多擅长讲解专业技术,不擅长也没兴趣讲 IT 的历史。反过来想,IT 行内人士来正经讲 IT 历史,这恰恰是《敏捷中国史》的独到之处。而且我相信,熊节讲的这段历史值得如今的从业人员了解。那么,它包含了哪些内容呢?

先不要被“敏捷”所迷惑,以为是它是在念经。其实不是,这里说的“敏捷”,其实是相对传统开发模式而言的。那是什么模式?瀑布式开发、大版本、长周期、部署繁杂…… 似乎一切都与今天流行的“开发”不同。《敏捷中国史》所讲的,就是这种转变的故事。简单来说,它主要包括两方面的内容。

▼扫码查看《敏捷中国史》

01

一方面是全球的 IT 发展潮流

举个例子,像我这样“入行比较早”的开发人员都还记得,曾经有个东西叫 EJB,一度非常红火,成为企业应用中当仁不让的主力。EJB 也得到了大批产业人士的推崇——当时“中国 Java 第一人”,深圳金蝶中间件有限公司技术总监袁红岗就声称:“如果项目中没有使用 EJB,就不能算是真正使用了 J2EE 技术”,斩钉截铁,言犹在耳。

EJB 是什么?是当年 Sun 主推的技术方案之一,其设计初衷是成为基于 RPC(远程过程调用)的分布式应用架构。简单说,可以把远端进程当成普通对象,像本地 Java 方法那样简单调用。所以,对象需要考虑分布,RMI 成为标配,XML 更是铺天盖地……

为什么如今的分布式架构和 EJB 看起来截然不同?很大程度上是因为敏捷开发的领袖们发出了不一样的声音。Martin Fowler 大力主张“分布式对象设计的第一原则就是对象不能分布”,他提出的解决之道是如今开发的常识:

Put all the classes into a single process and then run multiple copies of that process on the various nodes. That way, each process uses local calls to get the job done and thus does things faster. You can also use fine-grained interfaces for all the classes within the process and thus get better maintainability with a simpler programming model.

这还不算,另一位大神 Rod Johnson 更是写了一本振聋发聩的著作《Expert One-on-One J2EE Development without EJB》,书名直接打脸。什么,你不知道 Rod Johnson 是谁?那你更应当去读IT的历史了。如今大红大紫的 Spring 框架,可不是石头缝里蹦出来的。

当年 EJB 为何得到厂商的大力推广?敏捷阵营又如何颠覆了 Sun 的“亲儿子”EJB?这个故事在《敏捷中国史》里有专门描述。看完,估计你会对如今热炒的、有各路人士站台的技术潮流有更多的看法,这是好事。

02

另一方面是国内的 IT 发展故事

第一个例子是微软的公众印象。如今微软在国内开发者心中的形象并不太好,甚至 C# 的开发人员都已经越来越难招了。但是倒回去 20 年,画面可截然不同。对许多开发者来说,“Visual C++ 就是 C++ 的同义词”。在 2001 年,著名程序员孟岩写了《VC 不是梦想,C++ 需要自由的心》。在中文世界里用“梦想”、“自由”这样的词汇来描述一种编程语言,就算他不是第一个也差不太远。

把当年如日中天的微软批评为“封闭”、并振臂疾呼“在我们程序员的心中,没有凯撒,我们可以把你当朋友,但是你别想做我们的主子”、“不自由,毋宁死”,这些真诚的呼声,在当年看来是极具开创性和震撼力的观点。如今这样的声音似乎不见了,即便有也往往伴随着各式嘲讽。这到底是好事还是坏事?我不知道答案。但知道历史上有过这样的呐喊,总不是一件坏事。

另一个例子来自敏捷在国内的落地。今年初任正非老先生专门写了封信,强调软件工程。那么,如今成为普遍共识的“敏捷开发”,在各家公司是如何导入的?《敏捷中国史》里用三节,分别讲述了敏捷在阿里、华为、腾讯落地的故事。

简单来说,华为采用的是“三步走”的策略,2008 年先在核心网、无线等产品线试点,成功之后再全面推行,由系统工程部提出了完整的规范和详细的计划。而在腾讯,之前已经有模糊的敏捷的实践,所以研发管理部没有设计全公司的整体路线,而是以平台和服务的形式提供给各团队,自由选择。

阿里巴巴的故事最神奇,2005 年8 月,雅虎以雅虎中国全部资产和 10 亿美元为代价,换取了阿里巴巴 30% 的股权(后来看这是雅虎历史上最正确的选择)。原来雅虎中国的广告团队整体切换为阿里广告团队,后来成立了阿里妈妈。阿里巴巴的敏捷实践,最早就是这支团队在 2006 年 3 月开始的。联想到早期雅虎和 Sun 的工程师为阿里的技术做出了很重要的贡献,我们是不是可以得出结论说:阿里巴巴的文化确实有独到之处呢?

当然中国的故事还不只这些。在阅读过程中我经常遇到尘封许久的名词,比如“软件蓝领”,当时很多人主张要学习印度,像培养流水线工人一样培养软件开发人员;又比如 CMM,这个概念一度大热,各公司都以能拿一个 CMM x 为宣传……这些东西为什么后来沉寂了,消失了?我似乎没想过,此时听作者娓娓道来,是一种享受。

我一直很认同秦晖老师的话:“主义可拿来,问题须土产”。在技术领域也是如此,单纯是贩卖些流行的概念,尽管光鲜亮丽,更像绣花枕头,其实不能产生多少实际价值。唯有静下心来收集信息、了解情况、细致分析,投进去足够多的工夫,才能发现真问题,才能推动解决问题。

如果上面的故事让你产生了兴趣,如果上面我的观点让你认同,建议你阅读《敏捷中国史》。我相信,在阅读过程当中,你收获的并不只是“历史故事”,肯定还有对现实的更立体的了解,以及其它启发。

03

再介绍《敏捷中国史》的作者熊节

如果你阅读计算机书籍时留意过译者,应当记得和这个名字相关的有一系列重磅作品:《重构》、《软件工艺》、《实现模式》。但他其实不是专门的译者,而是技术专家,现任宝尊电商成都研发中心总经理,曾任 ThoughtWorks 总监咨询师、 CSDN 技术主编。

我们都知道,在这个年代,做技术的收入远远超过写一套 IT 历史。所以,愿意花这么大力气写整套历史,除了兴趣和情怀,实在找不到更好的理由了。

最后,《敏捷中国史》未来有书籍出版计划,目前是以线上课程形式在GitChat 提供。我觉得这是好事,一方面它本身天然适合分章分节阅读,另一方面,读者的许多疑问也可以及时提出,得到作者解答。

有兴趣的读者,扫描上方海报的二维码就可以试读了,这是《敏捷中国史》的阅读指南,大家可以尝鲜预览:

适宜人群

  • 致力于高效开发的程序员

  • 对 IT 发展感兴趣的人士

  • 互联网从业人员

购买须知

  1. 本课程为图文课程,共计 35 篇。

  2. 付费用户可享受文章永久阅读权限。

  3. 本课程为虚拟产品,一经付费概不退款,敬请谅解。

  4. 本课程也可在 gitbook.cn 上购买和阅读。

点击阅读原文,了解中国软件开发工程 20 年!

实名推荐熊节《敏捷中国史》,IT 历史不止有趣的故事相关推荐

  1. CODING 敏捷实战系列课第五讲:敏捷中国史

    敏捷软件开发方法自 2001 年传入中国以来,历经十多年的发展变迁,目前已经成为国内 IT 企业主流的研发管理方法.敏捷方法的传播和发展历程,是中国 IT 行业发展的剪影.CODING 特邀敏捷顾问. ...

  2. AD怎么输入坐标_实名推荐|相见恨晚的CAD坐标提取技巧

    经常用CASS计算土石方的小伙伴,经常会遇到一个很大的拦路虎:拿到一张甲方提供的dwg图纸,要求用CASS进行土石方计算.顿时感觉无从下手了.遇到这样的问题,我常常会问焦急的小伙伴三个问题:已知的数据 ...

  3. 大卫张翻译:敏捷宣言的历史(敏捷宣言诞生记)| 真北敏捷低调分享

    Jim Highsmith 真北敏捷 今天 译者按 本文译自: http://www.agilemanifesto.org/history.html. 要想了解敏捷软件开发,这篇文章是必读,对学习敏捷 ...

  4. 备考书籍推荐|PMI-ACP®敏捷管理开发

    PMI-ACP认证,PMI没有编撰类似PMBOK这样的知识体系指南,而是推荐了该领域已经出版并得到广为认可的一些书籍作为参考书参考书. 书有点多,如果只是备考阶段,很难一一通读的,建议选取其中2-3本 ...

  5. 推荐Scum敏捷开发的几款工具

    1,VersionOne VersionOne市场排名第一.支持SaaS模式和本地安装模式,web客户端,支持Scrum, Extreme Programming, DSDM and Agile UP ...

  6. 推荐阅读敏捷书籍清单

    人生及哲学类 – Life and Philosophy 道德经 – Tao(by 老子 LaoZi) 活法 – Live Act(by 稻盛和夫 Kazuo Inamori) 乔布斯传 – Stev ...

  7. 实名推荐的神器,你安排上了几款?

    目录 1.ShowMore: 2.ApowerREC 3.HIPDF: 4.扫描神器: 5.Mindmanager: 6.菜鸟教程: 7.硕鼠: 1.ShowMore: 一款简洁实用的高清在线录屏工具 ...

  8. 《SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架》一 3.13 故事

    本节书摘来自华章出版社<SAFe 4.0参考指南:精益软件与系统工程的规模化敏捷框架>一书中的第3章,第3.13节 作者[美]迪恩·莱芬(DeanLeffingwell),更多章节内容可以 ...

  9. 敏捷开发绩效管理之五:敏捷开发生产率(上)(故事点估算)

    这是敏捷开发绩效管理的第五篇.(之一,之二,之三,之四,之五,之六,之七) 度量敏捷开发的生产率一直是个难题,确切说度量任何开发方法的生产率都是一个难题,但它实际上有答案,这个答案是本文的主要内容. ...

最新文章

  1. 如何“愚弄”人工智能?
  2. SAP EWM - 其他主数据 - 供应链单元
  3. idea git 提交代码
  4. Python 管道与特征联合
  5. 设计师的10种范式转变
  6. RuoYi-Cloud 部署篇_01(windows环境 mysql +nginx版本)
  7. python asyncio_Python 中的异步编程:Asyncio
  8. sql max同一行_超经典SQL题 | 做完这4道面试题你就过关了
  9. POP3启用LDAP实现自动加载邮件通讯录的过程
  10. div显示图片_图片按照百分比显示部分,不变形
  11. 【Inkscape】SVG矢量图形编辑器
  12. obs无法录制mkv视频文件的解决方法
  13. JQuery EasyUI 教程
  14. 商品-商品订单-支付订单
  15. mw325r服务器无响应,水星(MERCURY)路由器MW325R上不了网/连不上网的解决方法
  16. Relax中的量化管理
  17. 如何自己编写字符串处理函数
  18. 3d打印价格怎么算的
  19. oracle数据库事务日志已满,SQL Server中已满事务日志原因的检测(上)
  20. CTFshow刷题日记-MISC-图片篇(上)基础操作和信息附加

热门文章

  1. ACM 算法竞赛入门级模板 ------ (比赛技巧工具)
  2. Java的新项目学成在线笔记-day12(五)
  3. 水果售卖系统课程设计(过程由组员记录,此为总文档)
  4. MFC显示Mat图片
  5. java计算机毕业设计玩转保定旅游系统源程序+mysql+系统+lw文档+远程调试
  6. 提升“软实力”门槛,今年Gartner超融合软件魔力象限有点“魔性”啊
  7. 交流伺服电机及驱动器接线
  8. Matlab虚拟现实——相关的链接
  9. 《服务器上搭建Discuz论坛》
  10. 资深java工程师简历