软件开发人员看板的关键原则
对于正确的工作,看板是一种非常简单的调度系统,易于学习和实施。以下是它运行的原则:
- 可视化工作流程:看板的简单性源于丰田意识到,人们对视觉线索的理解要比文本或其他交流方式更好。在看板框架中,每一件或一批工作都由一个彩色卡片表示,称为看板卡片,它在代表整个生产或开发工作流的看板上移动。ob欧宝娱乐app手机下载
- 限制进行中的工作:在板上使用看板卡可以很容易地在给定时刻跟踪生产过程中任何阶段的工作项的数量——当然,前提是您定期跟踪进度。ob欧宝娱乐app手机下载拥有太多的在制品使得很难识别瓶颈,并且还可能导致焦点的丧失或缺陷和错误的增加。
- 加强流程:通过限制在制品的数量和识别瓶颈,您可以通过工作流优化工作进度流),这样处理工作项的时间就会减少。
- 把工作:看板的定义特征之一是它根据实际需求而不是根据产出目标来决定产出。总的来说,这种方法降低了库存成本,特别是与JIT系统结合使用时。(当然,这种特殊的好处可能不适用于软件开发。)拉动式生产系统也更ob欧宝娱乐app手机下载能响应客户的需求,通常会减少浪费,即使是在无形商品的生产中。
- 测量和缩短周期时间:改善流程是一个数据驱动的过程。当减少正在进行的工作量和提高工作项的处理速度是衡量和缩短生产周期长度的更大战略工作的一部分时,这些行动是最有效的。ob欧宝娱乐app手机下载这项工作可能需要一些步骤,例如添加资源以消除瓶颈。欧宝体育app官方888
- 执行反馈循环:由于看板是与精益方法相关联的,因此持续改进的思想被构建在它的哲学中。反馈循环允许团队成员和其他利益相关者将预期结果与实际结果进行比较。根据他们所学到的,他们可以实施改进以减少浪费。
- 明确策略:清晰有效地沟通策略是看板先驱David Anderson在他的书中指出的核心看板属性之一看板——为你的技术业务成功的进化式变革.从业者说,为了成功地实施看板,并利用其增量改进的潜力,这一原则是必不可少的。策略是指应用于工作流和流程的规则,以确保它们保持高效。例如对变更请求和WIP的限制。您可以通过与团队和客户讨论以及将它们写在看板板上来明确策略。一些电子工具还允许您设置自动策略。
使您的团队在保持企业级安全性的同时提高生产效率ob欧宝娱乐app手机下载
Smartsheet是一个基于云的平台,它允许团队和组织将战略计划和日常运营与一流IT要求的治理、遵从性和安全性联系起来。
看板在日本的起源
看板是备受吹捧的丰田生产系统(TPS)的一个元素。ob欧宝娱乐app手机下载一旦被称为JIT制造,TPS是后来被称为精益制造的前身。该系统是由丰田工业工程师大野太一开发的,他被公认为“TPS之父”,也是七大废物概念背后的理论家。
看板作为一种制造通信系统被引入,以促进JIT制造。这个想法起源于丰田在20世纪40年代对超市的研究,在超市里,顾客只购买他们当时需要的东西,超市只储存它预计出售的东西。这种方法优化了超市和顾客之间的产品流动,使库存与ob欧宝娱乐app手机下载需求相匹配,从而降低了库存成本。这一实践使丰田将生产链中的下游流程可视化为上游流程的“客户”;ob欧宝娱乐app手机下载也就是说,它们推动了生产中间产品的上游流程的需求。ob欧宝娱乐app手机下载对丰田制造业来说,这意味着要使库存与材料消耗保持一致。
看板系统的早期迭代包括将物理看板卡传递给上游的工作团队,以表明下游的制造能力已经开放。这张卡代表了对已知数量的中间产品的需求。ob欧宝娱乐app手机下载例如,如果清空了生产中使用的物料的容器,则会将看板卡传递到仓库,其中详细说明了补充容器ob欧宝娱乐app手机下载所需的物料的类型和数量。仓库将重新进货,然后将看板卡传递给供应商,供应商将申请新的材料库存。
丰田的看板系统有六条规则。尽管看板在过去的几十年里不断发展,但JIT生产的概念仍然是该模型的核心。ob欧宝娱乐app手机下载客户流程(即下游流程)按照看板卡上指定的精确数量绘制项目。同样,上游流程生产看板卡上精确指定数量的中间产品。ob欧宝娱乐app手机下载没有看板卡,项目就不能生产或移动,并且看板卡总是附加在项目上。有缺陷的产品从未被传递到下游,因此,理论上,最终产品总是没有缺陷的。ob欧宝娱乐app手机下载看板卡的数量增加了系统对变化或问题的敏感性。
看板在软件开发中的历史
软件从业者在世纪之交开始利用看板对软件开发的好处,他们关于这些实验的文章引起了广泛的关注。David Anderson在他2010年的书中描述了最早的一种用法看板从2004年到2007年微软和Corbis的项目,从看板式的拉系统到我们今天熟悉的卡片系统。
Don Reinertsen和Corey Ladas在2009年出版的书籍推动了这种方法的流行。Reinertsen将看板的采用描述为第二代精益产品开发方法的一部分,Ladas则认为看板是对软件开发Scrum方法的改进。ob欧宝娱乐app手机下载
在他们2011年的书中个人看板Jim Benson和Tonianne DeMaria Barry将看板概念应用到个人和小团队的生产过程中。ob欧宝娱乐app手机下载迈克洞穴的内部看板在2014年,解释了看板的作用以及它与之前的开发模型之间的关系。克劳斯·利奥波德和齐格弗里德·卡尔特内克的看板改变领导力在2015年从管理变更的角度探讨了看板。将看板应用于知识工作的其他贡献者包括Net goals的Alan Shalloway,精益和敏捷顾问Karl Scotland,以及2010年布里克尔关键奖得主Alisson Vale和David Joyce。
与制造业的看板一样,软件开发和其他知识工作应用中的看板寻求管理和改进产品交付系统。ob欧宝娱乐app手机下载重点仍然是JIT交付和控制正在进行的工作量。工作项在看板板上被可视化为看板卡。董事会必须保持最新,这就要求实时沟通能力和充分的透明度。
如果您遵循这些需求,整个工作流中的团队成员可以在任何给定的时间点上看到特定工作项的进度。这种可见性使工作人员能够平衡需求和能力,并系统地解决工作流程中的瓶颈。最终,看板的可视化特性使得确定工作堆积在哪里变得容易。
如何将看板的价值应用到软件过程中
对于一些团队来说,看板似乎仅仅是一种任务沟通的方法。虽然看板系统确实做到了这一点,但看板是一种精益方法,因此持续改进的使命,在日语中称为改善是其价值观的核心。精益软件开发思想领袖Mary和Tom Poppendieck认为,有效的软件开发虽然实际上不同于精益和丰田生产系统,但与那些管理哲学共享相同的原则。ob欧宝娱乐app手机下载看板工作流改进过程遵循三个原则:
- 从你现在做的开始:看板并没有从头开始规定一个最佳的工作流程;相反,它改进了现有的工作流。知道看板不需要进行彻底的更改,可以使系统更容易为一些团队所采用。
- 通过进化的改变来追求进步:精益方法的核心是持续改进。要意识到,持续改进并不是把整个工作流程扔出去重新开始,而是要确定可以减少浪费的特定领域。在进化过程中,一次只针对一个目标。
- 鼓励各级领导的行为:在丰田,高层管理者意识到改善的灵感来自于那些最接近工作流程的人:车间工人自己。这帮助整个组织的员工改进工作实践。当然,软件开发团队没有车间,但是为了改进过程而授权那些最接近工作的人的原则仍然有效。
这三个原则是建立在九个价值观之上的。看板重视将看板仅仅作为一种沟通方法使用的团队与将其作为精益进化技术使用的团队分开。
看板的第一个价值是透明度-就工作流程的可见性、决策制定和客户对工作流如何运作的洞察而言。前两项是可视化工作流程不可或缺的,而第三项使流程能够更好地适应客户的特定需求。相关值为客户关注,因为开发过程最终寻求满足客户,所以知道哪些工作流过程正在为客户创造价值是很重要的。
工作流不能在没有理解准确的改变需要什么,以及在看板被采用和改善被应用之前,开发工作流看起来是什么样的评估。当变革被认为是必要的时候,变革必须建立在一致和尊重的基础上,否则就会有分裂和破坏的风险。最终,看板带来的改变必须是和谐的,协作关注开发过程中所有涉众的过程。
看板的另一个价值是平衡,这可以被认为是对正在进行的工作进行管理的结果,从而保持(如果不是增加的话)重点。借用大野太一书中的一句话丰田生产体系:超越大规ob欧宝娱乐app手机下载模生产,团队“停止开始,开始完成”,并创建一个流让顾客和员工都满意的可预测结果的工作。无论最终产品是汽车还是软件应用,都是如此。ob欧宝娱乐app手机下载
最后是一种草根领导-授权过程中的参与者负责并发起改进-仍然是改善的宝贵方面,因此也是看板过程的宝贵方面。
看板如何有益于软件开发
我们已经介绍了很多理论,但是您可能对看板能为您做什么感兴趣。下面是该系统为典型开发团队提供的好处:
- 计划的灵活性:通过减少在制品,专注于完成已经在进行的项目,而不是开始新的项目,开发人员可以专注于手头的任务。如果ob欧宝娱乐app手机下载产品负责人(决定发布的产品应该是什么样子的)通过审查和确定优先级来维护待办事项ob欧宝娱乐app手机下载用户故事这样重要的项目就会保持在顶部,开发团队的工作就不会中断。随着容量的增加,系统会简单地从backlog中提取任务,从而更容易确定优先级。在看板中,Scrum中看到的固定长度的迭代(称为sprint)似乎是多余的,因为任务是以连续的顺序完成和交付的。也就是说,产品所有者也ob欧宝娱乐app手机下载不应该让开发人员在backlog优先级划分方面蒙在鼓里。通常,对待办事项中的项目的估计取决于其他工作。重新调整优先级可能会影响这些依赖关系,并使估计不准确。
- 缩短周期时间:对于看板团队来说,周期时间是一个工作单元通过工作流所花费的时间。虽然更短的周期时间本身有明显的好处,但优化周期时间也可以提高交付预测的准确性。
一般来说,拥有具有重叠技能集的团队成员将缩短周期时间。根据团队的规模,只有一个或少数几个拥有特定技能的人可能会造成瓶颈并延长周期时间。为了解决这个问题,专家可以培训团队成员缺乏的技能——这不仅消除了瓶颈,而且还允许开发人员团队成员在需要的地方更灵活地投入工作。开发人员也可以承担非传统的任务,比如测试。在看板系统中,维护工作流程是每个人的责任。
- 更少的瓶颈:除了团队拥有重叠技能集的情况外,看板还认识到多任务处理是生产力杀手。ob欧宝娱乐app手机下载这就是为什么系统试图最小化正在进行的工作。这些限制使团队成员能够全身心地投入到完成一项任务中。限制正在进行的工作还可以更容易地发现瓶颈和备份,特别是考虑到看板系统的可视性质。但是限制正在进行的工作并不一定是不必要的复杂。例如,设置代码评审阶段一次不超过两个工作项的限制,可以帮助开发人员将注意力集中在评审其他人的代码这一不吸引人的任务上。从长远来看,这种策略可以提高整体产品质量。ob欧宝娱乐app手机下载
- 视觉指标:虽然看板板为系统设计过程提供了透明度,但它并不是看板中有利于可视化管理的唯一方面。跟踪一些简单的数据点可以为看板系统提供重要的见解。通常用来报告这些点的两个工具是控制图和累积流程图。
- 控制图:控制图只是一个跟踪器,它记录了何时执行任务(或问题),每项任务需要多长时间,以及处理时间的平均和滚动平均。所有这些数据点都存在于同一个轴上,因此很容易发现周期时间中的偏差。平均周期时间的减少是开发效率提高的一个指标。
- 累积流程图:累积流程图跟踪问题的累积总数做某事,做某事,完成随着时间的推移。堆叠的问题要做或做分期是堵塞或减缓的一个很好的指标。团队可以使用这些信息来识别问题。
- 控制图:控制图只是一个跟踪器,它记录了何时执行任务(或问题),每项任务需要多长时间,以及处理时间的平均和滚动平均。所有这些数据点都存在于同一个轴上,因此很容易发现周期时间中的偏差。平均周期时间的减少是开发效率提高的一个指标。
- 持续交付:持续交付是频繁地向客户发布工作的实践——每天或甚至每小时。由于看板起源于JIT,它非常适合于持续交付价值。此外,将产品快速推向市场对于任何开发团ob欧宝娱乐app手机下载队来说都是不可否认的竞争优势。
看板还有其他优点。在优先级快速频繁变化的项目中,Scrum可能会出现问题。另一方面,看板允许频繁的优先级更改。通过平衡需求和吞吐量,看板仍然以客户为中心。而且,正如我们前面所提到的,它不需要组织改组来实现,而是关注于对现有流程的小增量改进。
作为一种精益方法,看板有助于减少浪费和消除没有增加价值的活动。一个顺利运行的看板系统可以缩短交货时间,提高生产效率。ob欧宝娱乐app手机下载
此外,看板减轻了非敏捷开发实践的启停性质,就像古老的瀑布法.一些看板倡导者建议在看板系统中建立松弛时间,这样可以暂停思考,并在需要时聚集到瓶颈处。这些优势可以帮助形成一个高成熟度的组织,从而始终如一地满足其交付目标。此外,与看板相关的改进激励授权提高了员工满意度。
看板板和卡片提供视觉线索
的看板还有有色人种看板卡片是传统看板系统的标志性元素。在日语中,看板这个词大致翻译为“可视卡片”,尽管英语中最接近的术语可能是“队列限制器”。最简单的说,看板是带有部分(通常是列)的公告板或白板,这些部分表示工作流中不同顺序的子过程。然而,软件工具简化了创建、共享和维护看板的过程。
每一列代表一个价值流(为客户创造价值所采取的步骤)。一个简单的板可能只包含三个部分:做,做,而且完成.当然,您可以根据工作流程以及开发团队的规模和结构使它们更加复杂。在更高的级别上,对于跨越多个团队或工作流的过程,看板可以支持整个部门甚至组织。
开发团队的典型看板可能包含以下列:目标,故事队列,细化和验收,开发,测试,部署,而且完成.另一个可能包括产品backlog、需求、设计ob欧宝娱乐app手机下载、开发、测试、部署和完成。
彩色的看板卡——物理看板中的便签纸或便利贴——每一张都代表一个工作项目。卡片从左到右在棋盘上移动,当工作项完成时,通过工作流跟踪工作项的进度。卡片上还可以有关于工作项目的信息,例如简要描述、成本和持续时间的估计,以及从事这项工作的工作人员。高优先级的项目可以这样标记或给予特殊的颜色,并且可以将它们添加到看板板上的平行加速列中。
看板的价值在于它如何可视化工作和优化流程。它实时地传达软件开发团队的能力,并使识别阻塞变得容易。一个维护良好的板可以被认为是关于开发团队工作的单一信息存储库。
虚拟板提供了许多优点:它们使工作进度可追溯,简化了信息记录,并且更容易从不同位置访问它们。您还可以将信息剪贴到虚拟板上的卡片上,包括屏幕截图、工作日志、电子邮件和其他数据。
使用看板板来跟踪工作进度的一个关键元素是对正在进行的工作施加限制。根据工作流和开发团队的不同,在制品的限制可能是对每个阶段中卡片数量的限制,也可能是在任何给定时间对工作流中卡片总数的限制。确定在制品限制是很棘手的。虽然可以根据您对团队能力的经验使用任意数字或衡量适当的数字,但也可以使用公式来计算极限。看看这篇文章通过Evan Leybourn在敏捷总监网站上学习如何。
软件开发团队如何使用看板
对于软件开发团队来说,看板的功能与传统生产线相同——唯一的区别是,后者仍然使用物理板和卡片,而前者很少见到。
精益管理的概念应用于软件开发比应用于物理制造过程更棘手,主要是因为对于一个主要是静态和数字化的过程,对浪费进行概念化是多么困难。
对于数字化工作流程,几乎没有浪费材料和动作。然而,还有其他类型的浪费:缺陷、生产过剩、等待和不必要的加工。ob欧宝娱乐app手机下载通过对被转移到下游过程的工作项进行质量检查,确定待办事项的优先级,并将团队的能力与允许的正在进行的工作量相匹配,看板系统可以帮助减轻质量问题、延迟和多余的工作。这导致更清晰地关注手边重要的、客户重视的工作项,以及更有效的开发线。虽然看板被认为是一种敏捷系统,但看板板和卡片也可以帮助瀑布开发模型中的调度。
传统看板的价值和原则在应用于软件开发时是一样的。看板仍然关注现有工作流的渐进改进和促进团队自我指导的授权。(事实上,看板更容易应用于软件开发,而不是制造业,在制造业中它可能需要改变物理工作过程。)可视化工作流管理技术有助于快速、准确地做出关于工作内容、如何工作以及何时工作的决策。而且,透明、以客户为中心、尊重、平衡、理解、一致、协作、流动和领导的价值观仍然是看板软件开发的核心。
看板生态系统的另一个好处是过程本身的自然副产品:最小化风险。ob欧宝娱乐app手机下载因为看板需要清晰和早期的沟通——因为每个人都需要知道他们在开发过程的每个阶段在做什么——它有一个令人欢迎的优势,那就是迫使团队在早期讨论风险。
看板如何帮助评审和反馈过程
尽管看板是作为一种组合通信调度工具实现的,在一开始几乎不需要对工作流进行系统更改,但该系统可以用于反馈和审查。这些步骤可以改变工作实践,甚至最终改变工作流程的结构。
以W. Edwards Deming的渊博知识系统为例,该哲学认为,通过平衡组成系统组件的相互关联的过程和人员,管理负有优化的责任。创建高深知识体系有四个先决条件:
- 理解系统。
- 理解系统中的变化。
- 有一个如何对系统采取行动的理论。
- 了解人类心理。
理解系统需要从系统组件的孤立视角转向对系统如何实现其最终目标的整体理解。这是系统思维的一个关键原则,正如约翰·塞登和彼得·圣吉所证明的那样。这种对系统的理解包括理解组织试图实现其目标的路径,以及系统组件之间的边界和约束。
看板,就其性质而言,它显示了工作过程中适合他们的个体成员,不仅有助于发展对系统的理解,而且通过创建对共同目标的使命感和责任感,加强对其目标的承诺。它提高了对系统及其结果的接受度。
软件开发中看板的一个常见批评是,它意味着知识工作的统一性,而这种统一性实际上并不存在。在制造业中,过程结果的可变性是一个禁忌,但是在软件开发中,工作项通常具有更多的可变性。然而,在制造和知识工作中,交付时间的一致性和一致性仍然至关重要。看板通过减少正在进行的工作量、减少变化的连锁效应、重新分配人力资源以消除不均匀性,以及在不微观管理单个工作项目提前期的情况下管理平均提前期,减轻了知识工作中变化的影响。欧宝体育app官方888
看板的可视化特性也简化了反馈和审查过程,如PDSA(计划,执行,研究,行动),部分原因是它使浪费更容易被发现。这种能力反过来又为改进提供了基础。在精益思维:消除浪费,创造企业财富作者是詹姆斯·p·沃马克和丹尼尔·t·琼斯改变世界的机器),作者阐述了精益思维的五个原则:价值、价值流、流动、拉力和完美。虽然Womack和Jones在1996年描述了这些原则与制造过程有关,但创造客户想要的价值、最小化正在进行的工作以及消除缺陷的重要性也与软件开发过程相关。
的约束理论是一种管理技术,可以用来维持整个系统的工作节奏和流程(开发人员Eliyahu Goldratt的Drum-Buffer-Rope方法)。在这种技术中,滚筒是最慢的工作流步骤,并限制了交付速度。它像鼓点一样设定节奏。为了防止上游流程移动过快和累积正在进行的工作,它们的速度受到绳子的限制。在连续流程之间维护的空间是缓冲区,它是围绕工作流子流程(尤其是鼓)构建的时间,以考虑知识工作中固有的可变性。
虽然看板系统默认不包含Scrum的冲刺回顾(参与者在两周的冲刺中讨论如何进行),但许多使用看板的软件开发团队在他们的时间表中建立了定期的检查点。这些例子包括季度战略审查、月度运营审查、月度风险审查、两周一次的服务交付审查或每周一次的补充会议。许多看板团队还采用了每日会议的Scrum实践,在Scrum中称为会议每日站立会议.
定义敏捷、Scrum和看板
在复杂的,不断发展的世界敏捷方法在美国,很难弄清每项工作的具体要求。那么,什么是敏捷,Scrum和看板如何融入敏捷?
敏捷是一系列软件开发方法,所有这些方法都是迭代开发方法,旨在满足不断变化的客户需求。经典的敏捷开发项目是在一系列迭代(sprint)中执行的,每个迭代开始时都商定增量目标。敏捷项目没有固定的范围;相反,他们的需求是由用户故事(用户想要的特性或功能的描述)引导的,因此,需求是不断更新的。
Scrum是一种特定的敏捷方法,它基于对一组需求进行优先排序,并在固定的时间内努力满足它们。在许多这样的冲刺中,软件开发团队将通过需求列表进行工作。对于某些产品,需求ob欧宝娱乐app手机下载列表是不断更新的,因此Scrum项目实际上可能没有可预见的结果。
看板不是一种方法论,也不是像Scrum那样的结构化过程框架:它实际上是一套旨在改进现有工作流的沟通和调度工具和原则。因此,在使用Scrum的团队必须根据Scrum框架建立的地方——组建Scrum团队,创建和维护待办事项,执行和审查sprint等等——团队可以在其他开发方法和框架之上使用看板,包括XP、Scrum、Crystal、Waterfall、RUP、DSDM和FDD,通过投资一些看板工具并为如何执行工作设置规则。
从定义上看,Scrum是一种敏捷方法,但是看板是否是敏捷还存在争议。有一些相似之处。看板像敏捷方法一样是迭代的,但它并不特定于软件(敏捷方法也是如此)。在看板用于敏捷开发项目之前,敏捷方法背后的思想就已经固化了。一些开发人员认为看板不是敏捷的,因为它是一组与之无关的过程改进工具提高敏捷性.正如查尔斯·布拉德利在ScrumCrazy博客上指出的那样,看板最初是为制造业设计的,这是一个完全不同于创造性软件设计的领域.同时,其他人认为看板是敏捷的,因为它满足了敏捷宣言背后的所有12条原则.
无论您站在争论的哪一方,大多数专家都认为看板在敏捷迭代交付模型难以解决的领域确实工作得很好,例如在日常IT操作中,以及在修复bug和对现有系统进行增强的团队中。在这里,看板流程所产生的价值是批量工作无法实现的。
Scrum和看板之间有更明显的区别。以下是两者在各个方面的比较:
- 节奏和发布方法:Scrum迭代以固定长度的间隔进行,称为sprint。在每个sprint结束时,在项目所有者批准的基础上发布一个新版本。看板通过从积压中提取项目所有者优先考虑的问题,随着容量的增加,不断地交付迭代。
- 指标:Scrum的关键指标是速度,也就是每次迭代交付的故事点的数量。看板的关键指标是平均周期时间,也就是处理一个任务平均需要多长时间。
- 改变哲学:在Scrum中,变更不可能在sprint中发生。在看板中,任何时候都可以通过改变backlog中工作项的顺序来进行更改。
- 任务大小:看板任务比Scrum中的任务更加多变。
- 定期评估:定期的评估是通过sprint评审和sprint回顾构建到Scrum中,但它们并不是看板的一部分。然而,这并不是说它们从未被整合到看板中。
- 角色:所有的Scrum项目都有一组明确定义的角色,比如服务请求管理员、Scrum管理员和服务交付管理员。看板项目,因为它们可能覆盖在现有的开发框架上,没有一组一致的已定义的角色。
看板中这种看似缺乏控制的现象有时会受到质疑,但相反的观点是,看板系统本身创造了一个高效和忠诚的团队。而且,因为看板在处理相对可重复的问题时表现良好,所以它不需要过多的控制。 - 成本:Scrum和看板之间的另一个区别因素是成本。Scrum有着固定的框架、定期的会议和每隔一段冲刺就会损失大量的时间,因此花费大量的时间在只支持实际软件开发过程的工作上。另一方面,看板具有较少的支持功能,专注于完成任务,因此它倾向于在相同的时间内完成更多的事情。根据作者Sergey Laptick的说法,Scrum的冲刺启动会议和回顾会议,以及日常会议和冲刺过渡,意味着Scrum中30%到40%的时间都花在支持过程上。
要了解XP、Scrum和看板的真实实现,请查看Henrik Kniberg的文章《从战壕中精益:用看板管理大型项目》,这解释了他的团队是如何为瑞典警方实现软件系统的。
关于Scrum、看板和传统瀑布式开发在这些关键领域的比较,请参考下面的图表:
元素 | Scrum |
看板 |
瀑布 |
节奏 |
重复固定长度的工作周期,称为“冲刺” |
连续流 |
阶段和里程碑的连续完成 |
发布方法 |
冲刺结束 |
持续交付 |
项目结束 |
关键指标 |
速度 |
周期时间 |
交货时间 |
改变哲学 |
灵活,不能发生在冲刺阶段 |
灵活,随时 |
不灵活,项目的所有方面都是在开始时定义的,除非通过特别措施,否则不会改变 |
角色 |
明确定义的 |
不同团队不同 |
明确定义的 |
任务大小和优先级 |
可变的,在sprint开始之前,工作backlog可以重新排序 |
统一的工作待办事项可以在任何时候重新排列优先级 |
在项目初始阶段定义 |
反馈过程 |
冲刺结束 |
团队设定 |
项目结束 |
软件开发中看板的改进
自敏捷2007大会以来,软件开发中的看板已经取得了长足的进步,David Anderson在会上介绍了一种称为持续工程看板系统(KSSE)的看板软件开发方法。早期的方法侧重于限制在制品,使开发团队能够自己指导工作流程,并使用可视化看板来识别开发流程流中的停滞点。Anderson在会议后建立了一个看板开发邮件列表,该列表主持了一些关于软件开发中看板的早期对话,今天,Anderson被认为是看板软件开发的先驱。
由于看板可以分层于其他开发过程之上,因此已经开发了许多更类似于开发方法的混合方法。其中之一是Scrumban顾名思义,它将Scrum的固定长度迭代和特定角色与看板的工作进度限制和周期时间限制结合在一起。Scrumban最初是作为从Scrum过渡到看板的过程设计的,但现在它被那些需要Scrum提供的结构化开发方法的开发团队所使用,他们也看到了限制正在进行的工作和使用平均周期时间作为性能度量的价值。看到看板和Scrum:充分利用两者由Henrik Kniberg和Mattias Skarin提出,这表明看板对整理的关注可以使Scrum受益。
Change Vision Inc.首席执行官Kenji Hiranabe描述了另一种看板改进看板纳米.在看板纳米中,一个开发团队被分成更小的子团队(通常只有两个开发人员),他们一起工作。较大的团队有一个以用户故事为特征的看板,而每个较小的团队都有一个将用户故事分解为组成任务的纳米看板。看板纳米允许在处理用户故事时增加粒度级别,同时确保主项目看板板不会变得混乱。
在软件开发中实现看板的主要技巧
正在考虑将您的软件开发团队过渡到看板?下面是一些帮助你成功的关键步骤和小贴士:
- 问自己为什么要引入看板:讨论你希望从看板实现中得到什么。您是否打算在现有流程开发框架之上建立看板层?如果是的话,它会给你的开发过程带来什么?或者,您是否计划将看板单独用于更具可重复性的开发任务?
- 划分开发过程:您的开发过程需要分成几个部分,这样您就可以跟踪工作的位置。首先,您必须确定由看板过程管理的工作流的范围。根据典型开发任务的性质,流程可以简单地分为正在执行、正在执行和已完成的类别,或者分为更复杂的工作流,其中包含用于开发、测试和部署的特定步骤。您还可以创建水平泳道来使用其他标准来描述工作项,例如工作项类型或服务类别。
- 创建看板板并为看板系统设置规则:使用新的细分开发过程来设置看板板。与团队成员和利益相关者会面,就在制品限制达成一致,并建立有关优先级和释放机制的政策。教团队董事会和系统如何工作,并在董事会面前建立每日站立会议,讨论和更新工作项目进展。
- 找到瓶颈:仔细地、定期地检查看板,可以快速地向您显示系统瓶颈存在的位置。寻找工作项目堆积的地方。
- 优化工作流程:通过添加资源或删除系统约束来消除瓶颈是优化开发工作流程的简单方欧宝体育app官方888法。您可能还想研究每一类工作项的需求,并基于是否可以容忍延迟的风险概要来分配资源。欧宝体育app官方888其他的改进,比如增加对精加工的关注和优先级,往往伴随着看板领域而来。教育开发团队精益思维的原则,让他们了解什么是浪费,它如何影响过程结果,以及他们可以做些什么。
- 映射价值创造网络:价值创造网络是开发人员将知识、信息和创造力结合起来以创造价值的一系列途径。在软件开发中,这个复杂的网络比它在制造业中的兄弟(价值流)要难得多。价值创造网络只能粗略地可视化,但即使是显示交接和排队时间的基本网络表示也可以推动朝着优化的方向努力。例如,冗余或瓶颈可能在这里变得逻辑明显。记住,不同类型的工作项的价值创造网络不可能是相同的。
在DevOps中如何选择看板和Scrum
当您开始工作时,您可能不确定哪个框架适合您的团队。当你在看板和Scrum之间做出选择时,你需要问自己一些关键问题
- 您的开发团队是否刚刚开始使用敏捷?如果是这样,选择看板,它可以覆盖在您现有的开发框架之上,以简化团队向敏捷过程的过渡。看板也比其他一些流行的敏捷框架要简单得多。与Scrum的9条、XP的13条和Rational统一过程(RUP)的120条相比,它有3条基本规则。
不管采用哪种敏捷方法,在考虑替代框架之前,让新框架不间断地运行一段时间。有一段时间的调整,在这段时间,好处可能并不明显。同时,一次做出太多的改变会阻碍团队成员的专注力和成熟度。
- 你的团队有敏捷经验吗?如果你的团队精通敏捷框架,并且工作得相当好,那么使用看板工具可以帮助你识别潜在的精益改进领域。看板板和卡片是最明显的选择;至少,它们将促进工作项在敏捷框架中的流动。看板可以用于在sprint期间可视化工作,或者您可以简单地取消sprint并使用看板来建立持续交付。看板指标,如周期时间,对其他敏捷设置也有价值。
- 敏捷对你的团队有效吗?如果敏捷框架不适合你的团队,或者你需要大规模的改变,那就选择Scrum。由此产生的对开发框架的调整可能正是您正在寻找的跳跃式启动。
- 任务优先级对开发人员重要吗?如果您的团队开发工作的性质涉及不同工作项的不同程度的优先级,看板是一个更好的选择,因为您可以简单地通过重新安排backlog或将工作项放入优先级泳道来重新确定优先级。由于项目所有者决定优先级,这种策略不会干扰开发人员的工作——前提是重新调整优先级不是不合逻辑的。对于可以批量处理的工作,Scrum是更好的选择,因为sprint本身很适合处理批次类似的工作项。
- 您正在寻找一种更灵活的敏捷方法来进行评估吗?如果是,选择看板,它在估计看板任务时使用绝对值。(Scrum使用故事点的相对价值系统。)Scrum使用相对值来计算冲刺速度,看板将工作项分解成大小大致相同的“块”,并通过计算单位时间内完成的单元数来衡量速度。因此,如果你处理的任务可以被分解成类似的组成项,看板是一个更好的选择。(出于同样的原因,Scrum更适合于高可变性的任务。)虽然看板并没有完全消除评估,但它确实提供了更多的灵活性空间。
- 还不确定?如果您在看板和Scrum之间犹豫不决,请记住,组织类型、组织文化、工作的典型性质以及开发团队的动态也有助于确定哪个是最合适的。如果这还不够,请记住,在Scrum和看板之间做出选择并不是一个非此即彼的决定。Scrumban结合了两者的特点。
尽管如此,我们还是应该提醒大家:看板本身并不是一个开发框架。一些批评人士说,将看板应用到软件开发过程中是一个错误——即使是开发中看板的先驱David Anderson也同意他们的观点。
请记住,看板来自制造业,而Scrum是为创造性产品设计而生的。ob欧宝娱乐app手机下载看板,这种观点认为,在定义清晰、可重复的过程中工作得很好——而不是那些你可能在软件开发中看到的过程。
借用Cynefin决策框架,看板适用于通过良好实践来解决的复杂工作,而像Scrum这样的正式开发框架适用于参与者通过实验、失败和反馈来学习的复杂工作。如果不关注业务价值和用户如何使用软件,看板本身并不能满足软件开发工作的所有要求。Scrum是关于软件开发的,而看板是关于管理变更的。
使用Smartsheet改进软件开发中的看板部署
为您的员工提供一个灵活的平台,以满足您团队的需求,并根据这些需求的变化进行调整,使他们能够超越自我。
Smartsheet平台可以轻松地在任何地方计划、捕获、管理和报告工作,帮助您的团队更有效地完成更多工作。通过汇总报告、仪表板和自动化工作流,报告关键指标,实时了解工作情况,使您的团队保持联系和信息灵通。
当团队清楚地知道要完成的工作时,没有人知道他们在相同的时间内能完成多少工作。今天就可以免费试用Smartsheet。