来自 :coolshell

这篇文章的原文在这里(原文链接)(下文不是全译,也不是部分译,我只是把其总结,有我自己的发挥,但是原意大致不变),这篇文章完全是在调侃Scrum的,作者第一段就是一个免费声明,其说他是Scrum和其它敏捷方法的big fan, 他也认为Scrum 100% 对 软件开发可行。作者使用Scrum 5年了,也公开作过几次敏捷的分享会。他觉得写这篇文章只是为了好玩,因为他们戴上Edward de Bono 的 black hat (黑礼帽 – 是6个思考之帽中的一种——负面思考,思考事物的负面因素,这样才知道:它会起作用吗?缺点是什么?它有什么问题?为什么不能做。)

因为本人经常站在Agile的风口浪尖,所以我有必要也来一个“免责声明”。Shit!其实我想来的是“不免责声明” ——下文中的九大原因是对中国的各种Agile实践者咨询师不注重实际只重方法论的批判本人必然要和那种只以流程方法论为中心的软件开发斗争到底。其实我没有那么嚣张,我只是想说,下面的这些东西相当的现实。希望各种Scrum的实践者们认识到这些问题,从而可以让你们明白软件开发中的人的重要性

Reason 1:  Scrum 的基石是相信人。创造一个安全的环境,这样每个人都能相互学习,相互直言。但是,这是不行的,这世上有很多人并不关心这些,而且政治和竞争到处都是,办公室里无小事,你和别人交心,你相信他们,最终受伤的你自己。你真的以为那里有空间让你可以去犯错,去冒险吗?别天真了!你啊,too young, too simple, sometimes naive!

Reason 2Scrum 认为只要给员工足够多的自由员工就能做得最好。这该死是理论是基于什么玩意?不可能,人的天性是懒惰的,他们才不会把事做好的,他们只会做相应报酬的工作量,还可能基本还达不到其相应的报酬,大多数人都在混日子啊。尤其是和经理比起来,谁不想能尽快地成为经理或Team leader啊,因为那样他们就可以即不干活,又挣得多。另外,你给他们自由,你就会发现,他们会只会做他们感兴趣的事,要么聊QQ,要么打游戏,看闲书,反正不干正事。直到你催了,他们才动一动。

Reason 3: 因为前面的原因,所以,我们仍然要把一个PM放在Scrum团队的上面做管理,这样才会有产出。于是,PM给团队分配任何,管得细枝末节,事无巨细,天天让你做进度汇报,等等。直至把团队拖垮。

Reason 4Scrum 只不过是一个流程。这世上有太多的流程,尤其是那那些操CMMi的公司。几乎所有玩CMMi流程的公司,你都能看到的是员工都是那一副副苦逼的脸。所以,Scrum的流程同样会这样。因为这些都不是开发团队自发出来的,而是上面管你喜欢不喜欢按给你的。 Scrum 根本不可能增进你的软件质量和技术,只能是优秀的人才才可能!使用Scrum的公司都是些吝啬鬼,他们不愿花大钱招优秀的人,他们妄图使用Scrum这种东西让现有的这些廉价劳动力发挥更大的生产效率,Scrum成了push程序员最有用的工具。

Reason 5Scrum delivers ‘business value’。不是这样的,实际上,Scrum不可能。这有很多原因。真正了解业务的那帮人根本不可能加入项目团队,那些人谁TMD愿意和苦逼的技术人员加班啊。 那些人喜欢和我们的用户吃吃喝喝,花天酒地的,根本不会和你们那些奇怪的东西(如:backlog)或是那堆ugly的内向古怪的技术人员打交道,更别说什么技术了。所以,你的团队就像一个客服团队或救火队一样疲于奔命。

Reason 6: 一个敏捷的团队应该是持续进步的。这就是为什么Scrum总是在问什么干得好,什么需要改进,并定义行动方案。你真的以为员工想进步吗?让他们不得不去想想自己和团队怎么进步,然后他们还不得不去执行行动方案。别天真了,人的天性是不喜欢改变的,人的天性是习惯于一些按部就般的事的,也许那样做令人讨厌,但是人家还是能干点东西出来。如果你逼着人家改变,你就是在压迫人家,人家自然会反抗。

Reason 7: Product Owner 专注于 ‘what’ 和 ‘why’ 的问题,开发团队决定 ‘how’。很不错的分工,于是可以造就一个即高速有重质量的团队。然而,这根本不行。你的Product Owner马上就想要这个功能,他才不管你的软件开发的技术难题,人家只要快,要你meet deadline,要你给我们重要的客户做出承诺。另外,你千万不要以为你们可以哄走这个初级的product owner,因为他的后台是直接汇报到高层管理。你作为一个程序员可能只是其个小部门的一个小喽啰,或者只是外包公司,你觉得可能吗?你觉得建立信任可能吗?

Reason 8: 软件质量和生产率成正比。也就是说,质量越高,生产率越高。如果质量不高,你开发效率就会低下,但是谁管呢?我们朝九晚五的上班,质量好了也是做8小时,质量差了也是做8小时,无所为嘛。另外,我们的 project manager (或者是Scrum master!) 总是会批评我们没有按计划完成。所以,这根本 不可能。

Reason 9: “是的,如果我们只做需要的功能,那么我们就会最低的成本,对吗?”,为什么这世上总是会有这些幼稚的人?这种事怎么可能啊。很多很多的银行或保险公司的项目在你还没有启动项目前就谈好了一个价格(可能还会有回扣),为了打单子,销售什么都干得出来,让你去做项目是因为你是廉价劳动力,而且,他们会不断地加需求,因为软件合同谈好的价格时候,连需求都没有,你去做了才有,还是模糊和不确定或根本就是错的,然后需求是越来越多,越改越多。等你精疲力尽的时候,你才意识到,销售早就把你卖了。

爽啊,戴着黑礼帽思考问题比我想像中的要有趣得多,现在我必需要把它摘下来了。

看完这篇文章,你觉得是人的问题还是软件开发方法的问题?

SCRUM黑的更多相关文章

  1. Alpha冲刺! Day11 - 砍柴

    Alpha冲刺! Day11 - 砍柴 今日已完成 晨瑶: gitkraken团队协作流程教程基本完工. 昭锡:将主页包含UI界面.逻辑处理等与底部栏整合,学习Retrofit网络库. 永盛:更多 c ...

  2. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day7

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day7 一.项目燃尽图 二.项目进展 [20172301郭恺第七天的进展] 第七天完成的任务: 代码整合,界面调整为相对 ...

  3. BugPhobia开发篇章:Beta阶段第V次Scrum Meeting

    0x01 :Scrum Meeting基本摘要 Beta阶段第五次Scrum Meeting 敏捷开发起始时间 2015/12/17 00:00 A.M. 敏捷开发终止时间 2015/12/17 23 ...

  4. BugPhobia开发篇章:Beta阶段第IV次Scrum Meeting

    0x01 :Scrum Meeting基本摘要 Beta阶段第四次Scrum Meeting 敏捷开发起始时间 2015/12/16 00:00 A.M. 敏捷开发终止时间 2015/12/16 23 ...

  5. scrum立会报告+燃尽图(第二周第六次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2251 一.小组介绍 组名:杨老师粉丝群 组长:乔静玉 组员:吴奕瑶.公冶 ...

  6. 为什么Scrum不行?

    这篇文章的原文在这里(原文链接)(下文不是全译,也不是部分译,我只是把其总结,有我自己的发挥,但是原意大致不变),这篇文章完全是在调侃Scrum的,作者第一段就是一个免费声明,其说他是Scrum和其它 ...

  7. 卓越Code团队SCRUM呕心沥血实践总结

    卓越Code团队SCRUM呕心沥血实践总结 序言 所属课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign ...

  8. 关于Scrum+XP+DevOps的学习

    最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的 ...

  9. Scrum简介

    1. 什么是Scrum Scrum是一种轻量级的框架,适合于小型的.结合紧密的团队开发复杂的产品.Scrum是二十世纪后期一些软件工程师协同努力的脑力劳动的成果,现已成为技术领域最具魅力的方法.但Sc ...

随机推荐

  1. 红黑树:个人理解与Python实现

    红黑树:个人理解与Python实现 [基本事实1] 红黑树是一种平衡的二叉查找树,无论插入还是删除操作都可以在O(lg n)内实现,而一般的二叉查找树则在极端情况下会退化为线性结构.红黑树之所以是平衡 ...

  2. Visual Studio 2013百度云下载地址

    Visual Studio 2013百度云下载地址: 链接: https://pan.baidu.com/s/1JkVYLnFo2TWSu4dkDdZP3Q  提取码: 关注公众号[获取   winf ...

  3. Android Studio编译慢、卡死和狂占内存怎么破?

    https://www.zhihu.com/question/27953288 作者:知乎用户链接:https://www.zhihu.com/question/27953288/answer/118 ...

  4. PHP session 写入数据库中的方法

    首先解释下为什么要把session 写到数据库中呢,session 一般默认是以文件的形式放在php.ini 配置的目录中的, 如果你的网站实现了多台服务器负载均衡,这样用户访问你的网站,可能进入的服 ...

  5. PCA(Principal Component Analysis)主成分分析

    PCA的数学原理(非常值得阅读)!!!!   PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...

  6. 装饰 Markdown

    利用 Font Awesome 提升 Markdown 的表现能力 Font Awesome 是一个字体和图标工具包,包含人物.动物.建筑.商业.品牌等等各种主题丰富的图标符号,可以通过相应的语法添加 ...

  7. JDK源码分析(二)——LinkedList

    目录 LinkedList LinkedList继承结构 LinkedList内部类Node LinkedList成员属性 LinkedList构造方法 重要方法 Deque方法的实现 遍历 总结 L ...

  8. shell 转码BIG5 UTF8

    BIG-5 轉 UTF-8 若要將一個文字檔從 BIG-5 編碼轉換為 UTF-8 編碼,可以執行: iconv -f BIG-5 -t UTF-8 big5.txt > utf8.txt 其中 ...

  9. [leetcode DP]91. Decode Ways

    A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...

  10. Java设计模式GOF之6大设计原则

    Java设计模式GOF之6大设计原则原则 1.开闭原则(Open Close Principle) 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 开闭原则是面向对象的可复用设计的第一块基石 ...