不要再自作多情,2020版Scrum框架和软件研发没有关系,甚至和IT都没有关系
Posted 软件质量报道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不要再自作多情,2020版Scrum框架和软件研发没有关系,甚至和IT都没有关系相关的知识,希望对你有一定的参考价值。
刘先生:一个小孩要健康茁壮成长,专家说要营养均衡,多吃健康食品,但是家长忙,没有时间,但是有钱,就买各种高油、高糖、高热量的套餐/快餐,结果经常吃,天天吃,小孩得病了,快餐店赚了大钱了,然后还全世界开了连锁店......
钢豆豆:最近我们在搞认证,我就是觉得这个东东开始走ISO9000、CMM、CMMI等这些形式主义花架子的老路了。会不会以后认证完就是挂在墙上的一个摆设,开发测试还是那样
蔡先生:SM群众基础已经很大了吧?大到反正我是不好意思提自己是CSM了[呲牙]
张先生:谈到敏捷的历史和未来时,Robert C. Martin指出,敏捷——Kent Beck及其他发明者最初设想的一种方法——长期以来被一大批通过认证的Scrum master和不了解软件怎么开发的业务人员所劫持(就好比城市里的孩子不知道土豆怎么变成薯片)。[敏捷]认证变成了这个“诱人的歌声”;坦率地说,它吸引了所有不该吸引的人。敏捷是由技术人员开发的。它是软件行业的产物——程序员坐在那个房间里,搞出了《敏捷宣言》和敏捷原理。随后出现了认证。通过认证,成群结队的项目经理开始获得认证。他们会在课堂里坐上两天,拿来一张纸,觉得敏捷很重要。而他们实际上接管了敏捷运动……敏捷运动朝着项目管理方面急剧转移。
不要再自作多情,这次发布的 2020版Scrum框架和软件研发没有关系,甚至和IT都没有关系,我从头到尾看了指南,通篇没有发现 “软件”、“代码”等。也正如2020 版指南第6项修改内容所指出 “ 为更广泛的受众而全面简化语言” 更彰显了这一点:着重删除所有与 IT 工作相关的推断 (例如测试、系统、设计、需求,等等),所以它越来越不是软件的研发框架。
其实本来它就不是,Scrum 原来就没有包含什么优秀的软件研发实践,如果你把它和极限编程(XP)一对比,就更加明显,XP倒是有比较多的适合敏捷开发的优秀实践,如代码规范、系统隐喻 ( System Metaphor )、简单设计、集体代码所有制、持续集成和小型发布等。而之前的Scrum框架中,几乎找不到和软件研发有直接关系的优秀实践。
只是两位创始人现在更加明确地宣布它不是软件研发框架,而是“针对一切复杂问题的自适应解决方案”,这也许暴露了两位创始人的野心,想一统世界各个领域?如果是这样,其实这不是他们的专利,他们也不是创始人,见文章 ,而只是二道贩子。
当年,Rational 建立了Unified Process(RUP)想一统软件开发模式,结果今天几乎没有什么团队在用RUP,已经失败。Scrum想统治更大的世界,几乎不可能。普适性和有效性往往是矛盾的,越普适就越不有效,每个公司有不一样团队、不一样的产品、不一样的环境,需要找到更适合自己的开发框架,更何况软件研发有自己的特色?
从 2017 版到 2020 版指南的另外六项变更,其实也没多大意义:
规定性更低,例如删除了 Daily Scrum 三个提问,淡化了关于 PBI 属性的相关描述等,但还是保留了“Daily Scrum 是一个属于 Scrum Team 的 Developers 的 15 分钟的事件”、“以一个月的 Sprint 来说最多为 8 个小时”,规定这样的时间,其实是不合适的,也是违反了这次修改的意图。
一个团队专注于一个产品,其实很难,看如何定义“产品”。产品其实比较大的概念,特别是今天的产品更复杂、规模更大,许多时候,团队只能专注一个组件、一个微服务,或者说,专注一个共同的目标,这是本次修改的重点,特别强调 “Goal”,但这就没有新意,我们之前定义团队时,就是强调团队共同拥有一个目标,大家为实现目标发挥各自的作用,缺一不可。
“Product Goal” 提出并不一定是好事情,容易往特定目标引导,而忽视了用户真实的需求。目标和价值又有什么关系呢?
为了给 Sprint Goal 、 Definition of Done 和 Product Goal 安家而安家吗?有了它们,产品研发的透明度真有改进吗?难道 “product backlog” 和 “sprint backlog” 不是承诺?
“自管理胜过自组织” 感觉就是在玩文字游戏,其实这样的改动也没有意义,世界上也很难存在自管理、自组织的团队,除了少数卓越的团队,对绝大多数的团队这很难,这也说明Scrum不具有普适性。
2020 版 Scrum 指南还强调了第三个话题“为什么”,即 Sprint Goal ,难道之前我们没想这个问题?在列product backlog items时,就是从对用户价值去考虑、去排序,谈用户价值,就是思考“为什么”。增加 Sprint Goal其实是多此一举,无论是release planning还是sprint planning,任何计划,首先要考虑的都是目标、为什么做这个(产品/迭代/项目),这是常识。
Sprint期间不能降低质量,为什么不是不断改进质量的?
尽管被证明是有用的,然而这些实践并不能用来取代经验主义的重要性?
“整个 Scrum Team 将共同制定一个 Sprint Goal,用以沟通当前 Sprint 对利益攸关者有价值的原因”, Sprint Goal成了价值的原因?
作为专业人士对彼此负责,为什么不是对自己负责?
检视使适应成为可能,为何不是反省?
......
以上是关于不要再自作多情,2020版Scrum框架和软件研发没有关系,甚至和IT都没有关系的主要内容,如果未能解决你的问题,请参考以下文章