男人关注趣闻网

为什么谷歌的开发人员认为敏捷开发是无稽之谈?

  • 日期:2019-08-16 10:32:20
  • 来源:互联网
  • 编辑:小TT
  • 阅读人数:276

为什么谷歌的开发人员认为敏捷开发是无稽之谈?(图1)

作者:David Jeske,计算机工程师,前谷歌工程总监。本文是 Quora 上的一篇回答,作者是一名前谷歌工程总监,他认为敏捷宣言从较高层次而言,与谷歌工程师对软件的看法是很接近的。但如果落实到细节,比如敏捷宣言背后的某些原则,其所代表的主张短迭代和低文档的 Scrum 流程,过于集中于短期思维,不适用于谷歌这样性的工程项目。

在 Quora 上有人提出了 “ 为什么像谷歌这种公司的人员认为敏捷是无稽之谈?” 的问题,关于此,作为一名前谷歌工程总监,David Jeske 提供了一些个人见解,以下是 David Jeske 的回答。

对很多人来说,敏捷意味着很多事情。我认为敏捷宣言从较高层次而言,与谷歌工程师对软件的看法是很接近的。个体和互动高于流程和工具

工作的软件高于详尽的文档

客户合作高于合同谈判

响应变化高于遵循计划

然而,一旦把这些高层次的观点落实到细节,这些协定就开始褪色。敏捷有一些很好的想法,但它也存在一些问题元素,即过于集中在短期思维,对于像谷歌这样的公司进行性工程项目并不太适用。在不深入细节的情况下,让我们来看看敏捷宣言背后的原则。

让我们从共通点谈起。谷歌的发展风格是敏捷宣言背后的原则中所提到的激励赋能个体的例证。在这些原则中,最符合硅谷风格,可能本身就是受到硅谷启发的几条原则包括:激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。

最好的架构、需求和设计出于自组织的团队。

团队定期反思如何能提高成效,并依此调整自身的行为。

坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

以简洁为本,它是极力减少不必要工作量的艺术。

为什么谷歌的开发人员认为敏捷开发是无稽之谈?(图2)

这些原则对于聪明的工程师来说几乎是常识。我认为,硅谷打造了一种以赋能和信任个人为中心的文化。

在整个项目中,业务人员和人员必须每天一起工作。

不论团队内外,传递信息效果最好效率也最高的方式是面对面交谈。

欣然面对需求变化,即使在后期也一样。为了客户的竞争优势,敏捷过程对变化进行掌控。

频繁地交付可工作的软件,从几周到几个月不等,倾向于采取较短的周期。

这种短期规划、直接与客户接触和持续迭代的风格,非常适合具有简单核心和大量客户可见特性的软件,这些特性的可用性可以增量方式上升,不太适用于那些只有非常简单的用户接口和大量隐藏的内部复杂性软件,这些软件可能直到相当完整时才具有可用性,或实现客户无法想象的飞跃式解决方案。

像谷歌这样的公司一直在编写性软件,这些产品以前从未有人编写,在复杂的子组件编写完成之前,软件是无法工作的。这让我立刻想到了 Bigtable 和 Borg 项目。Bigtable 是一种广泛复制的分布式数据库设计,而 Borg 是最早出现的超大规模集群 / 云器之一。这种类型的颠覆性创新需要大量的预先设计时间,并且需要在超过一周的迭代中为编写组件而工作。由于项目的外部接口如此简单,以及内部复杂性如此之高,以至于许多工作对“客户”甚至无法可见的,因此没有办法编撰客户可见的相关用户故事。这种类型的软件需要 8-20 个月的时间向客户交付第一个工作版本。

像 Bigtable 和 Borg 这样的项目是反 scrum 的。它们代表了技术领导者非常长远的考虑。在单独一周的时间里,他们并没有做一些可以满足少量需求的事情,而是为集群软件方式的根本性转变打下了基础。这项投资不仅在谷歌获得了令人难以置信的回报,而且影响了整个行业。

为什么谷歌的开发人员认为敏捷开发是无稽之谈?(图3)

其他行业也有类似的情况。从税务会计软件到电脑游戏,有些软件在部分完成后并不适宜交付给终端客户。

如果我被要求重写上面的敏捷原则,使之更符合谷歌风格的,它们可能会是下面这个样子:我们的首要任务是提高客户(和程序员)的生产力和对信息的访问。处理你能找到的最迫切、最常见的问题,并产生最大的网络影响。不要仅仅满足客户的要求,要去深入了解客户,并彻底改变他们的世界。

人员应该创建一个谷歌设计文档(一个相当小型的,但是结构化的设计文档)对项目做出解释,这个项目希望实现什么目标,以及为什么不能用其他方法来完成目标。此文档应该分发给所有项目干系人,以便在项目开始之前获得早期反馈。书面记录是必不可少的,因为它确保对项目何时抵达成功以及如何达到目标有一个清晰和一致的理解。

在项目的所有阶段,大型组件的关键设计元素应该在设计文档中得到简明的解释和记录。

飞跃式创新。完成并部署一个飞跃式创新比追求完美更重要。不可能做到完美无暇。相反,要灵活,并计划在技术栈的每一层不断地重新创造和改造。

在合理的情况下,尽可能快地交付工作软件,并非一味地追求尽快交付。在对外交付之前先在内部使用自己的产品。确保产品在交付前达到高质量标准。产品的质量比交付产品所花费的时间更重要。

虽然敏捷宣言从高层次而言有足够的灵活性,可以和以上这些原则配合应用,但是我认为这些重写的原则与主张短迭代和低文档的敏捷 /Scrum 流程还是有很大区别的,而这些主张短迭代的低文档敏捷 /Scrum 流程如今几乎已经成为敏捷的同义词。

Why do some developers at strong companies like Google consider Agile development to be nonsense?

本文相关词条概念解析:

谷歌

Google(中文名:谷歌),是一家美国的跨国科技企业,致力于互联网搜索、云计算、广告技术等领域,开发并提供大量基于互联网的产品与服务,其主要利润来自于AdWords等广告服务。Google由当时在斯坦福大学攻读理工博士的拉里·佩奇和谢尔盖·布卢姆共同创建,因此两人也被称为“GoogleGuys”。1998年9月4日,Google以私营公司的形式创立,设计并管理一个互联网搜索引擎“Google搜索”。Google网站则于1999年下半年启用。谷歌于美国时间2015年8月10日宣布创办一家名为Alphabet的“伞形公司”(UmbrellaCompany),Google成为Alphabet旗下子公司。2015年度“世界品牌500强”中,谷歌重返榜首。2016年4月5日谷歌获得核准的一份新专利描绘了一种设备,可以召唤一部无人机携带特定的医疗设备赶来。2016年6月8日,《2016年BrandZ全球最具价值品牌百强榜》公布,谷歌以2291.98亿美元的品牌价值重新超越苹果成为百强第一。2016年7月,谷歌表情符平权方案通过:44款表情将增设女性版。

延伸 · 推荐

谷歌发布支持人工智能硬件开发的新工具

谷歌继续扩大其AI产品和服务的范围,推出了三款针对社区的新硬件设备。它们将以谷歌Coral的新品牌推出,包括售价149.99美元的板、售价74.99美元的USB加速器和售价24.99美元的500万像素...

64位应用即将普及?谷歌提醒应用开发者8月起必须提交

自从芯片平台和安卓都开始支持64位应用,谷歌就在着力推动运行效率更高的64位应用普及开来,早在2017年末谷歌就者2019年8月开始必须应用的64位版本,在近们又通过重申了这一点。谷歌应用商店的具体要...

明年的手机价格或“更上一层楼”:谷歌或被迫向开发商收取系统使用费

此前小编曾经给大家报道过欧盟怀着颗忐忑的心最终决定对谷歌处以50亿美元的罚款,原因让谷歌都无可奈何,原因是谷歌研发的Android将会预装谷歌浏览器和谷歌搜索,谷歌商店违反了欧盟垄断法,欧盟表示谷歌目...

网友评论

提交评论
叔叔的地下
叔叔的地下
敏捷开发和迭代开发是一回事么?
2019-08-16 19:20 963
兵临城下911
兵临城下911
主要是关于允许移动应用获取手机状态变化的API,管理全局系统状态通知
2019-08-25 07:45 42
贪嗔痴慢疑
贪嗔痴慢疑
//infolab
2019-08-23 18:54 307
chenqi159
chenqi159
敏捷开发除迭代式开发外,还包含了其他许多管理与工程技术实践,如演进式架构设计、敏捷建模、重构、自动回归测试(ART)等等
2019-08-23 23:04 295
甜甜美人鱼
甜甜美人鱼
但是并没有继续发展和开发,图片的清晰度和内容等等是较简略的
2019-08-21 11:17 348
惠城小板头
惠城小板头
URLserver和抓取工具都是用Python实现的
2019-08-17 06:40 584
城我无处可
城我无处可
具体为从通话记录中更新某个联系人或创建新联系人的系统和方法
2019-08-17 05:49 679
原来这就是
原来这就是
为什么微软在安卓系统上有专利费,安卓系统不是谷歌开发的吗?
2019-08-19 09:01 428
seven_29
seven_29
但是收益可能远远不及付出,那么这个项目根本就发展不下去
2019-08-19 05:07 255
蔡小帅
蔡小帅
并且没有特别大的实用价值,没有利益就不会去投入和发展
2019-08-24 23:35 41

网站申明:本站图片仅为设计美化,与文章无关。如认为影响您的权益,请与我们联系。