台湾资深老专家: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 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

伟大的开发者

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

3134
来自专栏Sign

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

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

6363
来自专栏BestSDK

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

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

2773
来自专栏程序员维他命

《如何有效整理信息》- 读书笔记

本书作者(奥野宣之)介绍了一个关于整理笔记的方法:“一元笔记法”。该方法摒弃了将笔记进行分类整理的方式,而是采用了一元化的方案:不采用分类记录的方式,而是将所有...

3602
来自专栏IT派

这么多编程语言,而我为什么要学 Python?

今天分享的4个关于Python编程语言的故事,来看看人工智能时代爆发的Python。 每个人都知道Python是“AI时代最好的编程语言”。 ? 言归正传,我们...

4435
来自专栏java工会

Go语言能够取代Java,成为下一个王者吗?

近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转了。我们来看看Tiobe世界编程语言排行的最新...

924
来自专栏web前端教室

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

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

1856
来自专栏编程微刊

程序员常用的六大技术博客类

2295
来自专栏ThoughtWorks

写给自学者的入门指南

在IT工程师和培训机构多如牛毛的时代,拜师学艺并不难。但自学编程对于毫无基础的同学来说却可能是个问题,相信有过类似经历的朋友都有一把辛酸泪和一肚不吐不快的体会。...

3817
来自专栏Python爬虫与算法进阶

为了知道胡歌粉丝的男女比率,爬了三百万微博数据

、最近偶然间看到一条新闻,标题是:“胡歌作为一个男性明星,男粉丝比女粉丝还多,这不科学!”

1542

扫码关注云+社区