关于敏捷开发:敏捷宣言诞生-20-年敏捷成功了吗

0次阅读

共计 3400 个字符,预计需要花费 9 分钟才能阅读完成。

对于宽广程序员而言,“麻利开发”并不是个生疏的词汇。这是一种从 1990 年代开始逐步引起宽泛关注的新型软件开发办法,是一种应答疾速变动的需要的软件开发能力。绝对于“非麻利”,麻利开发更强调程序员团队与业务专家之间的严密合作、面对面的沟通(认为比书面的文档更无效)、频繁交付新的软件版本、紧凑而自我组织型的团队、可能很好地适应需要变动的代码编写和团队组织办法,也更重视软件开发中人的作用。

2001 年,17 位软件行业领军人物独特发表了《麻利宣言》,宣告了麻利开发静止的正式开始。往年,间隔《麻利宣言》的公布曾经过了 20 年,那么麻利开发胜利了吗?资深软件工程师、现 Simple Thread 联结创始人 Al Tenhundfeld 发表了本人的认识。

全文编译如下:

《麻利宣言》诞生 20 年,有两个事实仿佛显而易见:

  1. “麻利”作为一个标签赢了,没有人想被称为“非麻利”;
  2. 然而在实践中,麻利与其提出者的革命性理念相去甚远。

咱们是怎么走到这一步的?—— 每个人都在做麻利,然而简直没有人是真正麻利的。

《麻利宣言》诞生史

2001 年 2 月,17 名软件行业专家在犹他州瓦萨奇山雪鸟滑雪场的小屋会面。通过几天的探讨和答辩,他们单干撰写了《麻利软件开发宣言》(《麻利宣言》)。

首先要强调的是,这些专家都是从业者。他们不是项目经理、CTO 或工程 VP,而是开发者、程序员、科学家和工程师,他们仍在写代码,并与利益相关者单干解决问题。这一点十分重要。

另一点是《麻利宣言》并非凭空产生,这些专家中的许多人曾经有了本人创立的方法论,并开始流传。他们都具备编写软件的丰盛教训,并且都在寻求文档驱动的重量级软件开发流程的代替计划。

该宣言发表了四种外围价值:

咱们正在通过本人开发和帮忙别人开发软件,来发现软件开发的更好办法。由此咱们建设了如下价值观:

  个体和交互  高于 流程和工具
   可工作软件  高于 详尽的文档
   客户单干   高于 合同会谈
   响应变动   高于 遵循打算
  
也就是说,右栏中的我的项目诚然有价值,但咱们更器重左栏中的我的项目。

麻利开发带来的新心愿

站在 2021 年回望,咱们很容易认为这些古代软件开发实际准则是天经地义的,但在 2001 年,这些想法十分激进。

什么叫“在收集所有需要和评估每一项性能之前就开始构建软件”?这太疯狂了!

被忘记的重要一点是,麻利在一开始就是公开、激进地反治理。例如,Ken Schwaber 婉言,他的指标是除掉所有项目经理,从软件行业中铲除这个职业。

“咱们发现,在简单的创造性工作中,项目经理的角色事与愿违。项目经理的思维体现为我的项目打算,将我的项目中每个人的创造力和智力限度在打算中,而不是调动每个人的智力来最好地解决问题。”

Ken Schwaber,《麻利宣言》签订人、Scrum 联结创始人

Scrum Masters 简直没有权威,在问题上没有投票权。他们是佣人式的领导者,帮忙爱护和疏导团队,但不治理团队。

出击

在某些方面,麻利是一场草根劳工静止。它从基层的从业者开始,被推到管理层。那么它是如何胜利的呢?

局部起因在于 开发者的数量及其对业务的价值一直增长,并取得了影响力 。但在我看来, 最大的因素是传统的瀑布办法基本不起作用。随着软件变得越来越简单,业务节奏放慢,用户越来越简单,试图预先计划所有变得不再可能。拥抱迭代开发是合乎逻辑的,只管这对于习惯于打算所有的管理者来说有点可怕。

我记得在 2000 年代中期的会议上,你能够看出管理层并不是真的买账,但他们也没有方法。

管他呢,要不就试试工程师始终在议论的这个疯狂想法。反正还没到最初期限,再糟还能有多糟?

但令他们诧异的是,麻利开发开始见效。团队会反复研究一段时间,而后缓缓站稳脚跟,发现哪些模式对团队无效,并取得能源。通过几次冲刺,你会看到优先思考可工作软件、合作、花工夫检查和适应等的真正力量。

在大概 5 年的工夫里,“麻利”从一种你据说过但可能不习惯于应用的办法倒退成为每个人都在做的事件。2005 年我换工作的时候,对麻利和 TDD 有一点理解,而这将我与其他人辨别开来。到了 2010 年,人们普遍认为古代软件团队在做麻利开发。

那么,麻利开发赢了吗?事件并没有那么简略。

像许多反动一样,麻利的历史并没有依照创始人的构想开展。

  • 事实证明,优先思考集体和交互是一个很难采购的概念,宣传流程和工具要容易得多;
  • 可工作软件比不切实际的打算和大量文档更难制作;
  • 与客户单干须要信赖和脆弱性,而这并不总是呈现在业务环境中;
  • 对变动的响应往往被管理者压倒,他们心愿掌控场面,且认为本人仍有理由为业务制订长期打算。

事实证明,麻利做得不好会让人感觉凌乱。

但这并不意味着《麻利宣言》提出的四种外围价值是谬误的。这只能阐明咱们须要付出一些致力能力做好麻利开发,须要一些勇气去承受软件实质上凌乱的事实。你必须了解并置信,如果你一直学习、适应、改良和运输,你最终会达到一个更好的中央,一个比瀑布开发更坦诚、更事实、更有生产力的中央。

麻利静止并非反方法论,事实上咱们很多人都想复原“方法论”这个词的可信度。咱们想要复原均衡。咱们承受建模,但不是为了在尘土飞扬的公司存储库中归档一些图表。咱们承受文档,但不承受数百页从未保护过且很少应用的大部头。咱们制订打算,同时也理解打算在动荡环境中的局限性。那些将 XP 或 SCRUM 或任何其余麻利办法的支持者称为“黑客”的人,对“方法论”和“黑客”的最后定义无所不知。

Jim Highsmith,《历史:麻利宣言诞生记》

这些很重要。咱们依然须要打算和文档记录,并在麻利开发中放弃谨严,这关乎均衡。然而,如果你的组织在麻利转型中挣扎,吞没在凌乱中,当有人以认证、流程和工具的模式为你提供救生艇时,你会立即飞跃。高管们对流程和工具的了解远远超过他们对自组织团队的了解。

失败的叛变

然而在这方面,我并未看到怯懦的反叛者回归,至多在麻利标签下没有。

工具供应商、流程参谋和专家做出了永远无奈兑现的承诺,这就是为何咱们最终失去了 SAFe、Scaled Scrum 以及其余企业的麻利形式。这些框架并非歹意创立,它们甚至可能在失当的语境中具备肯定价值,但我不会称之为麻利。试图扩大一种专一于集体和交互的办法将不可避免地导致问题,并侵蚀该办法的原始价值。

2018 年,《麻利宣言》签订人、XP 联结创始人 Ron Jeffries 发表文章《开发人员应该放弃麻利》并示意:

“麻利”思维如果利用不当,会导致对开发人员的烦扰更大,实现工作的工夫更少,压力更大,并被要求“进行得更快”。这对开发人员是不利的,最终对企业也是不利的,因为“麻利”做得不好往往会导致更多的缺点,以及更慢的进度。通常,优良的开发人员会来到这样的组织,进而导致企业的效率不如施行“麻利”之前。

2014 年,《麻利宣言》签订人、Pragmatic Programming 提出者之一 Dave Thomas 发表了驰名的文章《麻利已死,敏捷性万岁》:

“麻利”这个词曾经到了被颠覆的境地,麻利社区看起来像是参谋和商家抛售服务和产品的舞台……《宣言》流行起来后,“麻利”这个词就成为了营销术语。

所以我认为是时候淘汰“麻利”这个词了。

从新风行

对我来说,真正可悲的是看到年老开发人员诽谤麻利,并认为这是管理层获取不切实际的承诺并迫使开发团队疯狂工作的伎俩。他们理解到的麻利是强加的管制机制,而不是他们乐于拥抱的自我受权工具。但我心愿围绕麻利开发的历史和最后愿景开展一些探讨,帮忙咱们记住事件本来的倒退走向。

好消息是《麻利宣言》所提出的准则不论在明天还是在 20 年前都一样理智,即便像 Jeffries 和 Thomas 这样的反叛者也依然这样认为。

Jeffries 在下面提到的文章中说,“然而,《麻利软件开发宣言》的价值观和准则依然提供了我所晓得的最好的构建软件的办法,基于我长期和各种各样的教训,无论大型组织应用什么办法,我都会遵循这些价值观和准则。”

我批准他的观点。

当初议论麻利既不时尚也不酷。麻利很无聊,每个人都做麻利…… 但当初是回顾过去 20 年的麻利倒退过程,并发问本人如下问题的最佳时机:

什么是对的?出了什么问题?下次咱们想做哪些不一样的事件?

我心愿,咱们可能通过钻研麻利宣言提出的外围价值和准则,从过来中学习。用 Dave Thomas 的话来说就是,即便咱们抉择放弃“麻利”,咱们也能够放弃敏捷性。

原文链接:https://www.simplethread.com/…

正文完
 0