正如标题所示,这篇文章是关于 Scrum 的两个不同方面。第一部分涉及 Scrum 不敏捷,第二部分涉及 Scrum 脆弱。

在详细介绍之前,简短的免责声明:我在这篇文章(以及一般博客中)中提出的所有内容都是我个人观点,并不代表我现任雇主,我的前雇主和任何未来雇主的观点。

Scrum 是不敏捷的

我猜人们对这个标题的典型反应会是“这怎么可能? Scrum 不是敏捷的?Scrum 不是第一个敏捷软件开发过程吗?” 简而言之,Scrum 声称是一个敏捷的过程,但令人遗憾的是,Scrum 离敏捷还很远。我会告诉你原因。

我们快速浏览敏捷宣言。它说它重视“个人和交互而不是过程和工具”。让我们快速了解一下敏捷这个词的含义。根据牛津词典,敏捷的意思是“能够快速、轻松地行动”。选择敏捷这个术语来代表敏捷宣言中的高级思想并不是一个巧合。事实上,敏捷背后的一个主要观点是,在许多软件项目中,快速而简单地移动是极其困难的。对于一个全新的项目来说,情况并非如此,但随着时间的推移,许多项目进入了一种根本不可能实现可持续发展的境地。为了防止这种情况(和其他问题),敏捷宣言和敏捷宣言背后的原则提供了几个高级指南。这些指导方针不是特定定义良好的流程或工具,它们允许许多不同的实现。我怀疑这两个属性(高级的和允许不同的实现)都是完全有意的。总体目标不是提供灵丹妙药,而是帮助同行避免软件开发中的许多陷阱,敏捷宣言的作者亲身体验过这些陷阱,而这些陷阱恰好属于这些类别。

现在让我们来看看 Scrum指南 (由敏捷宣言的两位作者编写)。与敏捷宣言和敏捷原则相比,本指南似乎相当冗长。令人惊讶的是,整个指南一次都没有提到敏捷。我不确定历史上是否总是这样,但是如果 Scrum 指南的作者不声称 Scrum 是敏捷的,那么我们已经完成了这个博客文章的第一部分。我想情况并非如此,所以我们继续。 Scrum 指南是关于一个包含“角色、事件、工件和将它们绑定在一起的规则”的框架。换句话说,这是一个非常具体和明确的过程。这听起来既不敏捷,也不敏捷(记住:“个人和过程和工具之间的交互”)。这是非常讽刺和明显的。这就是整个 Scrum 运动应该停止的地方。但它没有,反而让世界各地越来越多的软件开发人员感到沮丧。每当一个 Scrum 项目失败,并不是因为 Scrum 潜在的缺陷,而是因为 Scrum 没有正确实现。这听起来是一个很好的过渡到这篇文章的第二部分。

Scrum是脆弱的

这部分很短。我认为 wordplay (Scrum being agile / fragile)很有趣,除此之外,它完美地描述了 Scrum 真正困扰我的一件事:每当 Scrum 项目失败时,都是因为 Scrum 没有得到正确的实现。你可以阅读大量这样的项目。如果大量的智能软件开发人员不能正确地实现 Scrum,这意味着什么?这意味着整个框架是脆弱的。这是反对使用 Scrum 的另一个主要论点。如果它很难使用,那么什么是适合的框架?

好吧,似乎在昂贵的咨询和指导,以及培训和证书的帮助下,Scrum 实际上可能提供价值。 但目前尚不清楚这对于软件开发公司以及辛勤工作的软件开发人员或那些在 Scrum 生态系统内部和周围提供服务的人来说是否有价值。

个人观点

最后,我想谈谈我个人对软件开发、敏捷和 Scrum 的看法。在我看来,高质量软件开发的一个非常重要的部分是维护一个简单的优先级任务队列。权重是任务为客户/开发人员提供的价值和实现该任务的估计工作量的组合。有些开发人员天生就会这样。对于不属于这种情况的团队和公司,Scrum 提供了一个相当昂贵和低效的优先队列实现。坦白的说吧。软件开发是一项非常困难和复杂的工作。这么多项目都失败了,我们真的感到惊讶吗?这个领域还很年轻,我们需要学习很多东西。这一点至关重要:我们需要从过去的经验中学习,不管是失败还是成功的故事。在这里,我们都失败了。我们没有使用错误的流程或以错误的方式实现正确的流程。我们只是陷入了一场激烈的竞争,无法短暂地休息一下,去看看周围发生的一切,从中学习,甚至是在我们这个时代之前。我们的职责是从我们很容易获得的许多资源中提取知识、经验和智慧:许多有关软件开发的书籍、文章和视频,最后但并非最不重要的是敏捷宣言。

原文:http://www.dennisweyland.net/blog/?p=43

作者:Dennis Weyland

译者:Queena


送福利啦~ 近期将之前已翻译文章,整理成PDF。

在公众号后台回复:002 即可领取哦~

后续也会不断更新PDF的内容,敬请期待!

Scrum是脆弱的,不敏捷的的更多相关文章

  1. 【转】来自《轻松scrum之旅》的敏捷开发总结

    敏捷开发的核心价值观是,软件开发最重要的是给用户提供有价值的.可以工作的软件.如何保证提供有价值的软件,是通过反馈机制来完成的.这一点,我们体会很深.自从采用敏捷开发以后,我们比以前更有意识地希望得到 ...

  2. 【科普】Scrum——从橄榄球争球到敏捷开发

    对敏捷开发Scrum稍有了解的都知道Scrum来源于橄榄球,但你知道为何要以这项球类运动的术语来命名这个敏捷开发方法论吗? Scrum与橄榄球对应关系 Scrum 一词源于英式橄榄球运动,是指双方球员 ...

  3. 敏捷开发之道(四)Scrum概述

    上次的博文敏捷开发之道(二)极限编程XP和敏捷开发之道(三)极限编程XP续中,我们介绍了一下敏捷开发中的XP开发方法,今天咱们来了解另一个比较流行的敏捷开发方法--Scrum. 1.Scrum简介 S ...

  4. [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum

    [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum 1,Scrum概述 上篇中提到敏捷开发有两种主流的方法,一个是XP,另一个是Scrum,本篇简要介绍Scrum方法.Scrum是 ...

  5. 开始一段新的敏捷学习之旅 —— IT帮读书会第4期《Scrum实战》

    刚看了一下,距离上一次写博客过去快1年半了.之前的知识管理都放到笔记软件中了,但是现在看来,收藏了很多东西,输入很多,但是输出有限. 学习任何领域的知识,如果只有输入没有输出,效果都是很有限的,有时需 ...

  6. 关于scrum敏捷测试

    关于scrum的一些定义 敏捷软件开发方法是一种把新增功能通过较小的循环逐步迭代添加到项目中(的项目管理方法),工作是由自我组织的团队以高效合作的方式拥抱和适应变化来保证客户需求被真正满足的方式来完成 ...

  7. Scrum Master如何让敏捷团队正常运转?

    官方<Scrum指南>中定义:Scrum Master在Scrum团队中属于服务型领导,负责践行和支持<Scrum指南>中定义的Scrum,要帮团队的每个人理解Scrum理论. ...

  8. CODING 敏捷实战系列课第二讲:Scrum 敏捷项目管理核心要素之 3355

    Scrum 是敏捷开发流派中最著名和最落地的一支,全球 70% 以上公司的敏捷转型都是以 Scrum 起步.CODING 特邀敏捷顾问.CST & CTC 认证敏捷教练申健老师将在本课程< ...

  9. Scrum转型(一) 为什么敏捷和Scrum

    1.1 为什么敏捷 由于传统的瀑布模型管理方法无法满足现代某些软件产品开发过程的特点,我们需要使用敏捷的方法(例如,Scrum是一个让我们关注于在短时间里交付高质量商业价值的敏捷框架). 需求频繁变动 ...

随机推荐

  1. UWP项目生成安装包远程安装在树莓派上

    原文: UWP项目生成安装包远程安装在树莓派上 哎,好纠结啊!如果这个名字写的太长,会显得太繁琐,如果写的短又好像说不清楚,我这语言表达水平实在是令人担忧啊!不过应该能够明白啥意思吧!因为对这个感兴趣 ...

  2. Android零基础入门第73节:Activity初入门,创建和配置如此简单

    Activity是Android应用的重要组成单元之一,也是Android应用最常见的组件之一.前面看到的示例通常都只包含一个Activity或一个AppCompatActivity,但在实际应用中这 ...

  3. QT Udp组播(穿透)

      http://blog.csdn.net/victoryknight/article/details/7814243 主题 UDPQt路由器 局域网内的两台机器如果隔有路由器,那么这两台机器之间不 ...

  4. ubuntu 14.04搭建tensorflow-gpu开发环境

    一.安装nvidia显卡驱动 去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers 找到显卡对应的驱动下载,例如下载的驱动为 NVI ...

  5. spring boot热部署devtools

    1 pom.xml文件 注:热部署功能spring-boot-1.3开始有的 <!--添加依赖--> <dependency> <groupId>org.sprin ...

  6. play框架之模板

    现在网站发展日新月异,网页上显示的东西越来越复杂,看看HTML源码就知道,这东西不是正常人能拼出来的.因此模板应运而生,自我感觉,好的模板应该支持一下功能: 1.支持HTML代码段的复用,即在HTML ...

  7. Python基础,day2

    程序练习 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买 ...

  8. hgoi#20190519

    更好的阅读体验 来我的博客观看 T1-求余问题 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组{1},{1,1,1},{1,2,1},{1,3,2 ...

  9. Spring cloud stream【消息分区】

      在上篇文章中我们给大家介绍了Stream的消息分组,可以实现消息的重复消费的问题,但在某些场景下分组还不能满足我们的需求,比如,同时有多条同一个用户的数据,发送过来,我们需要根据用户统计,但是消息 ...

  10. 20 如何通过pycharm快速的创建一个html页面

    1.打开pycharm并且新建一个html页面,如下图所示. 2.删除html页面中默认的内容,之后在页面中输入!,之后点击tab即可完成一个html页面的框架新增.