作者简介: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时代社区