台湾资深老专家:Scrum 和 Kanban 你选对了吗?

作者简介:Ruddy Lee(李智桦)老师,DevOpsDays北京站金牌讲师,台湾著名精益布道师,敏捷专家,著有《精益开发与看板方法 》。

先学开发还是先学测试?

对于初学者或新人而言,由测试开始是再好不过的了。

一旦写程序的功力够了,制造缺陷的机率自然会下降些,这个时候再来写程序,才不会害己害人。

原因很简单;因为缺陷是程序没写好所造成的,所以想要写的一手好程序,先学如何测试别人的程序,先看懂别人的程序,再来尝试写好程序,似乎会好一些!

先学 Scrum还是 Kanban?

大部份的时候;你可能完全没有选择的余地,这可不是老天能安排的,而是看老板的安排。

从属性上来看:

Scrum 容易探讨未知,处理复杂项目,拿来开发新东西威力无比。 Kanban 是教我们如何自我检讨,可以迅速消除浪费,而得到好的效能。

如果你是开发团队,当然是先从Kanban 开始。

先检讨团队的基本动作,整顿好了再来开始作新的东西,从事开发的动作,自然减少浪费。这是精益Lean 的好处。 (有太多开发团队,只晓得一意往前冲刺,忽略了自己在开发上的浪费,这会造成很难走得久远,尤其是Startup的团队尤其如是。)

如果你是运维团队,当然是先从Kanban 开始。

视觉化是最大的亮点,团队可以看见工作上的维护流程是一件相当有价值的事,针对个人亦是如此,人们常常因为养成习惯了,就一直持续做同样的事情,很少会有机会回过头来检讨,哪里做得浪费了应该改进。 看板方法的第一步: 视觉化。正是团队可以拿来持续改进的基础。这一点对维护工做更显得珍贵。

如果你是测试团队,当然是先从Kanban 开始。

看的见以后才可以减少猜测的比例。测试团队在拟定测试计划之前,一定要对待测的产品或程序有足够的了解,才可能写出实用的测试案例,不至于浪费大量的测试资源,或做了过多的重复性测试。

你可能觉得奇怪,为什么都是Kanban Method 先行呢?

其实原因很简单,因为它"单纯“,不是简单喔! 它没有想像上的简单,因为它可以演进得很有深度,但是它的目的很单纯,就是追求效能。不像Scrum 的目的,是要来应付复杂的项目开发作业,基本上的方向就完全不一样的

将看板方法融入Scrum的开发过程才是上策

看板方法是一种流程控制,他不是一种具有完备基础的方法学,虽然他的潜在发展相当可观,但目前他仍只是一种提供我们产出高效能的流程控制法而已。

他缺少需求描述、没有完备的会议规划、少了团队职责分配,少了很多很多软件开发上该有的措施,这一点让他看起来十分空泛,但就是这个特性也让他十分适合融入其它开法方法中,尤其是Scrum。

看板方法之父 David J. Anderson 是在Microsoft 公司推行敏捷开发法 Scrum 的时候发明看板方法的。他原本的目的只是要求能够在最少阻力之下顺利在组职中推行敏捷式的开发方法而已。却由于他熟悉限制理论的运作而开创了看板方法Kanban Method。做出了对敏捷开发的精益Lean 一支的重大贡献。

也就是这样的典故,让看板方法Kanban Method可以十分容易的融入到Scrum的开发过程。

著名的《 Essential Scrum 》 的作者Kenneth S. Rubin(它是2013年Amazon 敏捷理论最畅销书),书中就大量的采用 WIP(Work-In-Process)的观念,实际的运用在工作看板上面。让Scrum在开发流程上减少了许多的浪费现象。

看板方法先行 因为它可以减少组织在推行敏捷上的阻力,它能让工程师以最好的节奏持续进行开发工作。又能将精益观念带入团队运作。 融入Scrum的开发过程 因为看板方法的流程控制方式是用来提升Scrum运行时的效能,让 Scrum 能真正用来克服复杂的软件程序开发过程。

Scrum 的目的在解决复杂的软件开发作业

许多人误把Scrum 当成加速软件开发的银子弹。这是错的!

他的目的不在加速开发(加速开发工作是开发工具的广告词),它的目的是在解决复杂的软件开发作业,让它提高成功率。在协助团队能够提供给客户真正要的产品,且让他在市场上具有实际的竞争力。这一点也正好是看板方法所缺少的。

开发团队千万别因为实施了看板方法而误以为需要把 Scrum 抛弃了,这是一种错误的想法,让他们相辅相成才能有更大的效益。下一回就来谈"运用看板方法的十个不应该放弃 Scrum的理由"。

测试难还是写程序难

让我们回到一开始的主题,到底是测试难还是写程序难? 其实正确的说法应该是写出正确无缺陷的程序难! 实际上程序设计人员在写出程序之后,也必须透过测试,才知道他是否能正确运行。因此"写跟测"实质上是一体的二面,一样重要。

至于Scrum 与 Kanban Method 之间,则都是通往敏捷开发的路径。已经在使用 Scrum 作开发工作的人士,学习 Kanban Method 可以让他们进入精益的领域,有所依据的持续追求更好的效能。

先学会Kanban Method 再跨足 Scrum 的人呢? 则可以看到敏捷开发在处理复杂问题上的具体方法,真正懂得去追求效能之外的正确性与方向。

先学 Scrum还是 Kanban? 二者之间并没有冲突存在,就看你现在最需要的是那一样,那一样就先来吧!

原文链接:http://t.cn/RoYrlaB

文章来自:DevOps时代社区

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

资源 | C和C++程序员面试神器

C和C++在互联企业开发工作中有着非常重要的地位,在《顶级数据团队建设全景报告》中我们通过对企业的调研,发现C和C++是含金量指数最高的编程工具。所以,只要你对...

13640
来自专栏web前端教室

前端知识学了却不会用,都是没走心

我发现,许多人在学习前端的时候,更多的时候是处于一种“对外宣称正在学习中”的状态。而他本人真正的学习了多少前端知识?未必。 我之前就多次说过,“学习前端开发不是...

20160
来自专栏高性能服务器开发

后台开发应该读的书

根据我的经验来谈一谈,先介绍一下我的情况,坐标上海,后台开发(也带团队了),某知名互联网公司。 目前主流的有C++和JAVA,C++我的经验稍微多一点。我就说说...

61190
来自专栏BestSDK

29条新手开发时,必备经验

1. 积极大胆地谷歌。你得知道如何有效地组织搜索关键字,查阅别人写的代码,然后合理地用在代码里,从而解决问题。 2. 拥抱变化,坚持不懈。老手程序员在接触新技术...

30230
来自专栏架构说

不要在一门技术上吊死

现象 刚出道的朋友,特别是刚踏入社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。 对...

412130
来自专栏CDA数据分析师

原来,你是这样的R语言

? 今天给大家介绍一款在开源世界里集万千宠爱于一身的软件——R语言。 有多受宠呢?简单说,你能想到的地方都有它的身影。 做学术?看看R在各大语言排名系统的表...

272100
来自专栏喔家ArchiSelf

PHP 是最好的语言吗?

最近被朋友们拉入了几个技术社群,有微信群,也有QQ群,尤其对一些年轻的朋友,大家乐此不疲的问题居然是 PHP 是最好的语言么?

18520
来自专栏Sign

英雄联盟 外挂脚本 实现原理

本来应该早点来蹭这个热度的,基本上每年LOL世界赛我都有看,今年终于拿了冠军,觉得很开心~

4.2K30
来自专栏程序员互动联盟

伟大的开发者

如何成为一名优秀的开发者?你觉得自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Ri...

33340
来自专栏编程坑太多

高级程序员和普通程序员有哪些区别?

13950

扫码关注云+社区

领取腾讯云代金券