`
isiqi
  • 浏览: 16487448 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

James Shore:敏捷的衰落

阅读更多

James Shore:敏捷的衰落

James Shore声称敏捷正在走向衰落。他说,很多团队在用“sprints”和每日例会,但是却不采用那些可以在长期内产出高质量软件的技术实践。在他的估计中,已有无数个Scrum团队将敏捷用的如此之烂,不仅失败已成必然,而且会将敏捷的发展跟他们一起拖入泥潭。

James的文章中,大部分都是在指责Scrum和Scrum的误用。他将Scrum和XP进行对比,指出Scrum故意把XP中包含的技术实践抛 在一边。在一些技术话题上——例如结对编程、测试驱动开发、持续集成、自动化测试——Scrum保持了缄默。但是如果没有这些实践,团队很快就会造出一个 庞大且蠢,问题多多难以维护的代码库。然后这就会变成他们身上重重的禁锢,使他们无法像敏捷团队一样快速应对变化。

James认为,这也不能说是全都是Scrum的错,因为团队必须要为自己的成败负责。很多团队都只选用Scrum中浅显简单的部分应用,例如短迭 代和每日例会,更困难而且也是更重要的实践——如回顾和改进——就不管不顾了。在这个过程中,团队本应有能力识别并且采用一些工程实践,帮助他们在每个迭 代中交付可用软件,但不幸的是,很多团队都没能做到这一点。

很多人评论说,这个问题不是源于Scrum本身,而是那些把Scrum用的惨不忍睹的人造成的。例如,Dustin Whitney说道,“我觉得你因为那些庸人失败了就来指责Scrum,这相当不公平。”

James的观点是,无论失败的原因是什么,这些失败都有可能把敏捷变成一种风潮,随风而逝。

不幸的是,有很多自称敏捷的项目在走向失败。他们正在失败。最后Agile将承受这后果,它会离我们而去,正如一切流行时尚一样。

Simon Kirk的回应则十分乐观:

我赞同作者的这个前提,很多冠以“敏捷”之名所行之事的确名不副实。不过我也相信,这是普及敏捷(我是说真正的做好敏捷)的过程中无可避免的一步。

敏捷是时尚么?它真的难度很大,大多数团队都没法有效实施?或者它只是正在经受成长的烦恼,即将迎来更广泛更加成功的应用?请留下你的看法,与其他读者共享。

查看英文原文James Shore: The Decline and Fall of Agile

译者注

在InfoQ英文站上,James也留下了评论

很多人都把我的这篇文章视作对Scrum的责难,但这不是我的本意。我只是想着重指出我所见的失败案例,还有导致失败的成因。最大的问题不在于Scrum或是CSM,是那些买椟还珠的人。

Bob大叔则以诙谐辛辣的笔吻写道

现在我们总算找到答案了。我们知道是谁的问题了。是SCRUM!SCRUM是敏捷运动失败的原因。SCRUM是敏捷团队把事情搞糟的原因。SCRUM是一切问题和罪恶的根源。SCRUM带来了“敏捷衰落”。

你被我玩了。

Scrum不是问题,它过去从来不曾成为问题,将来也永远不会成为问题。亲爱的工匠们,这个问题是我们自己的懒惰啊。

既然我们不写测试,不能保证代码的干净,那埋怨SCRUM做什么呢?我们不能将技术债归咎于Scrum。在Scrum出现之前,技术债就存在已久了,而且它还将继续存在下去。不,Scrum不应该被骂。罪魁祸首还是跟从前一样:我们自己。

当然,两天的认证课程不足以构成一个优秀软件领导的充要条件。而且在参加完CSM课程以后得到的证书,除了能够说明你花钱参加了两天的CSM课以外,也没有别的用途。而且在工程实践方面,Scrum也有很多欠缺。但无论是Scrum还是CSM,它们的目的都不是从我们中间培养出工程师,或是给我们灌输工匠守则。那是我们自己该干的活!

有些人还说要是那些Scrum团队都用的是XP,而不是Scrum,那就不会有那些技术债了。扯淡

让俺说的更明白一些: ASININE, INANE, ABSURDITY. BALONEY. DINGOES KIDNEYS. 荒谬!扯屁!蠢驴!XX……

让俺告诉你们,在这,从现在到以后,不管到什么时候,你永远都有可能把XP搞烂。用TDD想留下技术债真他妈的容易。没脑子的家伙跟人结对也会把代码搞成荒地。而且,我告诉你,你会在做出简单设计以后,不再维护它

你想知道写出优秀软件的秘诀么?你想知道怎样保证代码干净吗?你想要银弹吗?私家汤料?万事万物间那唯一的真相?

好,我现在就给你。你准备好了吗?秘诀就是……

秘诀就是……

干好自己的活。

够了,别再埋怨一切,你自己别那么懒就行了。
分享到:
评论

相关推荐

    敏捷开发的艺术.pdf

    书中可能引用了诸如Jim Highsmith、James Shore和Shane Warden等业界专家的观点,他们在敏捷开发领域有深刻的理解和丰富的实践经验。 敏捷开发的精髓在于其核心价值观和原则,这些都详细记录在《敏捷宣言》中,它是...

    shore:简单的JS波形库

    Shore是用于JS的简单波形发生器库。 它使人联想到SoundCloud,但可以与音频元素结合使用,并且不受在线服务的约束。 请随意尝试该,但如果该页面不起作用,则可能需要刷新该页面。 肖氏当前是实时的,并且与音量...

    TestDrivenJS:与JS和James Shore学习TDD

    #Test Driven JavaScript ###学习使用James Shore构建JS来编码TDD样式: 安装了nodejs 运行./jake.sh * Windows-安装Git-安装NodeJS-克隆存储库

    weewikipaint:James Shore的“ Let's code javascript”网络视频系列的示例测试驱动的Webapp

    【标题】中的“weewikipaint”是一个基于James Shore的“Let's code javascript”网络视频系列的示例项目,它展示了如何使用测试驱动开发(TDD)方法来构建一个Web应用程序。这个项目的核心是利用JavaScript语言来...

    敏捷开发的艺术 pdf电子书

    Jim Shore是敏捷开发和极限编程(XP)的早期倡导者和实践者,而Shane Warden在敏捷社区中也很有影响力。这本书不仅涵盖了敏捷开发的实践技巧,比如迭代规划、持续集成、测试驱动开发、重构等,还深入探讨了如何在...

    高中英语单词天天记shore素材

    - 与不同的动词、形容词和介词搭配使用,如"follow the shore of"(沿…海岸航行),"flat shore"(平坦的海滨),"at the shore"(在海边),"on the shore"(在岸边)等。 3. **搭配和短语** - 一些常用的短语...

    Jersey Shore Apartments:MIS3090 - 课堂项目-开源

    CSC3090 类项目使用 MySQL、Workbench 和开发环境创建公寓综合体,管理公寓单元、租金、发生的费用和单元收集的收入。 报告是由于业主。

    01_note5tt_cpp_shore3qg_

    标题 "01_note5tt_cpp_shore3qg_" 可能是指一系列关于编程学习的教程,其中"note5tt"、"cpp"和"shore3qg"可能是特定的项目代号或关键词,但没有明确的信息来解释它们的确切含义。描述中的“arduino basic skill是...

    29192358.rar_shore3y8_网络编程

    "29192358.rar_shore3y8_网络编程"这个标题可能代表一个项目或教程,其中包含了关于网络编程的特定示例或代码库。"shore3y8"可能是该项目或库的特定标识符或版本号。 描述中提到的"GBSBEM(几何单反射椭圆模型)"是...

    gantt_shore9pp_js甘特图插件_甘特图_jscodebase_dhtmlxGantt控件_源码.zip

    《深入理解gantt_shore9pp_js:甘特图插件与dhtmlxGantt控件解析》 在项目管理和任务调度中,甘特图是一种非常实用的工具,它能够直观地展示任务的进度和时间安排。gantt_shore9pp_js是一款基于JavaScript的甘特图...

    gantt_shore9pp_js甘特图插件_甘特图_jscodebase_dhtmlxGantt控件.zip

    《深入理解gantt_shore9pp_js:基于dhtmlxGantt的甘特图插件与JavaScript编程基础》 在IT行业中,项目管理和任务调度工具是不可或缺的一部分,而甘特图则是这类工具中的典型代表。它以直观的时间轴形式展示项目进度...

    Python库 | nr.shore-0.0.23.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:nr.shore-0.0.23.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    The.Art.of.Agile.Development

    《敏捷开发的艺术》一书由James Shore和Shane Warden共同撰写,深入探讨了敏捷开发方法,特别是极限编程(Extreme Programming, XP)的核心实践与益处。本书不仅提供了理论上的阐述,更融入了作者们在领导团队过程中...

    sum_compt8_SUM_XilinxISEDesign_multiplexer_shore5eu_

    标题中的"sum_compt8_SUM_XilinxISEDesign_multiplexer_shore5eu_"表明这是一个与数字逻辑设计相关的项目,其中涉及到了8位加法器和多路复用器(multiplexer)的设计。Xilinx ISE Design Suite是Xilinx公司提供的一...

    2019_2020学年高中英语Unit3Underthesea9练习新人教版选修7

    - shore:海岸,名词,指海边的陆地边缘。 - yell:大声叫喊,动词,用原形yell表示一般现在时或祈使句。 - flee:逃跑,动词,过去式为fled。 - drag:拖动,动词,过去式dragged表示过去完成的动作。 - ...

    3D Appearance_deeplearning_youngerwzp_shore12k_

    “shore12k”可能是一个特定的数据集或者实验环境,它可能包含了12,000个以上的3D模型,用于训练和验证深度学习模型。这种大规模的数据集有助于网络学习到更广泛的3D形状和纹理特征,提高泛化能力。 论文中可能涉及...

    裕兴新概念英语第二册笔记第33课.doc

    7. shore:海岸,陆地与水域的交界。 8. light:光,照明,这里指的是远处的灯光。 9. ahead:在前面,向前。 10. cliff:峭壁,陡峭的山崖。 11. struggle:挣扎,努力,奋斗。 12. hospital:医院,提供医疗护理的...

    matlab终止以下代码-Shore-Water-Level-Approximator:通过确定海洋和海岸之间的梯度深度来确定海岸的水位

    在"matlab终止以下代码-Shore-Water-Level-Approximator"这个项目中,我们可能会遇到需要停止特定代码的情况,尤其是当它涉及到计算海岸水位的复杂算法时。海岸水位的估计通常涉及到对海洋与海岸之间深度梯度的精确...

Global site tag (gtag.js) - Google Analytics