“谷歌之类大厂程序员认为敏捷开发是瞎扯淡”,你怎么看?
昨天在知乎上收到这么一个问题的邀请,说Google之类大厂程序员认为敏捷开发是瞎扯淡。这个主题,我前两天在InfoQ也看见了。以下是我的回答:
怎么看?四个字:
关你鸟事
谷歌怎么开发软件,跟中国90%的程序员和开发团队,根本就没半毛钱关系。说白了,能力上有代差,人家的做法根本没有参考意义。
什么叫代差,我就随便举个例子嘛。
GAE是哪年出来的?人家十几年前就想到了,计算任务和操作系统可以解耦。那现在不说GAE吧,AWS lambda也好些年了吧。都还不说lambda,试问,国内把Docker整清楚了的企业有多少?
基础设施都差几代了,人家的开发方法,你咋学?
* * *
现在是2019年,谷歌的程序员说,我们发现敏捷有很多问题。
你可知道,2009年,有一批敏捷的领军人物加入了Google。Google在澳洲专门挖ThoughtWorks员工。我都收到过Google澳洲的offer。
比如说,Jon Tirsen了解一下。轻量级J2EE阵营的旗手,反EJB大战的先锋。当年他和Rickard Oberg搞出IoC容器就是为了方便测试驱动开发。在ThoughtWorks的最后两年他在牵头做敏捷项目管理工具Mingle、自动化测试工具Twist和持续交付工具Cruise。你猜Google为什么挖他去做Team Lead?
(BTW,我个人观点,Tirsen离开ThoughtWorks,是ThoughtWorks最大的人才损失之一。)
不要乱想,Tirsen还好好的
* * *
于是Google在原本的学术氛围基础上又补强了工程技术水平。Google的配置管理和自动化测试实践,经常被拿出来分享讨论。
他们说,他们发现敏捷有很多问题,我觉得,说得很有道理。一个方法用了十年,肯定会发现很多问题,肯定是要不断演进完善的。
可是不知道国内这些同行跟着高潮个什么劲。
就国内八成企业那个配置管理的水平,那个自动化测试的水平,那个代码质量。你们根本就啥方法都没有好吗?全凭人类本能在工作好吗?敏捷方法是不是扯淡,跟你们半毛钱关系都没有好吗?
谷歌说啥你就信啥?谷歌还叫你搞持续集成呢,你搞了么?
持续集成是Google Cloud Platform的核心能力之一
说到这儿就得实名反对高赞答案@程墨Morgan 了,啥就“敏捷已经成为软件开发流程的标配了”?嘴上说敏捷就敏捷了吗?八成企业都在全凭人类本能裸奔呢,你就听他们嘴上一说就信了?
* * *
很多人有一种莫名其妙的脑回路。
谷歌说敏捷是瞎扯淡所以我也说敏捷是瞎扯淡。
Linus从来不写单元测试所以我也从来不写单元测试。
这个,人啊,贵在有自知之明。
就说这么多吧。
临渊羡鱼不如退而结网
从基本功做起吧