跳到主要内容

保存的文章

松弛、流动和持续改进

Dave Nicolette |领导敏捷
Dave Nicolette
读: 松弛、流动和持续改进

保持工作前进的关键方法之一是避免同时工作过多的东西。理想情况下,一个人应该完成他们在开始任何其他事情之前正在努力的事情。同样,团队应该完成工作项或故事(或者他们称之为任何东西)他们在拿起下一个之前正在努力。在更大的规模中,软件交付组织应同时限制飞行中的项目数量,并努力“停止启动并开始完成”,就像大卫安德森所说的那样。这就是投资组合管理的(以及其他事情)。

从不同的角度来看这个问题,许多人都发现,如果我们一个一个地完成任务,比我们同时开始许多任务并尝试着同时完成它们,可以用更少的时间完成清单上的任务。友好的敏捷教练可能促进游戏与您的团队中你体验这种效应折叠纸飞机,构建的连锁塑料块,写下字母和数字的列,或者地方点便签,第一次上下文切换和多个项目进展,然后是单件流动。

用精益的术语来说,你在这些游戏中所体验到的是一种高水平的工作过程或擦拭。控制WIP是主要的“旋钮”,我们可以在过程中转动管理流程。该过程本身是否本身是有效的,限制WIP是充分利用它的有效方法,并帮助暴露阻碍流动的过程的部分。这真的很容易。我们只需要说,“我们会一次开始不超过两个项目。”那里。我们刚刚设定了2.没有压力,没有压力。

上下文切换的开销

高在制品(特别是涉及创造性知识工作时)的削弱效果的一个原因是上下文切换开销。当我们全身心投入工作时,我们就会进入一种心流状态;不Lean-style流, 但Czikszentmihalyi风格的流量。有些人称之为“进入状态”。我们的头脑中有很多细节,我们正在处理的问题感觉有点像一个有生命的实体。

中断时,这些细节逃脱,我们失去了焦点;实体死亡。当我们返回第一批任务时,需要我们几分钟才能回到我们在我们中断时所在的州。许多软件开发人员将在10到20分钟之间拨打到区域,才能回到该区域,具体取决于任务。当我们玩杂耍而不是这样的话,我们可以在这种方式中失去大量时间,因为我们试图记住我们在旋转中的每项任务中离开的地方。当然,这将影响精益风格的流量。

一些研究人员发现,当他们玩杂耍两项任务时,人们似乎在最佳水平上运行。一次有一个任务,有机会被卡住或无聊。在团队级别,当项目被阻止时可能会延迟。虽然某些团队成员地址拦截器,但其他团队成员可以在第二件商品上工作。诀窍是避免越来越多的项目,因为额外的阻挡者出现。这是一个滑坡。

当两个以上的东西在飞行时,上下文切换开销开始成为一个因素。考虑到这一点,一次把自己限制在一项与工作相关的任务可能是一个好建议,在你的脑海中留下第二个“空档”来处理可能是你工作的一部分,但不是“工作”的一部分的行政活动。请注意,即使你天生有能力同时处理两件事,作为一个实际问题,你也只有能力在适当的专注和有效的情况下一次处理一件与工作相关的事情。

在20世纪80年代 - 1990年代在软件领域工作的任何人都太熟悉了上下文开销的影响。当天的传统智慧是组织“矩阵”的人,并以百分比为基础同时向多个项目分配给多个项目。个人可能将50%分配50%,将20%的项目B,10%的项目C,15%进入项目D,5%的项目E.

如果没有外部控件,强迫他们以不同方式运行,大多数人默认往往会落入两件事模式。毕竟,认为您可以通过花费5%的时间来实现软件开发并不现实。工作的性质需要较长时间的不间断焦点;也许在伸展2到4个小时。

480分钟工作日时间的5%就是24分钟。扣除会议、上厕所和行政活动的时间(比如,10分钟),可怜的老项目E没有得到太多爱;特别是当其中的15分钟是用来从上下文切换中恢复的时候。这样每天就有一分钟的时间专注于项目e。这个解决方案有多好呢?

没有人会一天花一分钟消极思考任何事情。那是什么意思?发生了什么,当然,是人们会收取百分之五的时间项目E因为这就是时间管理系统允许他们进入,而在现实中,大部分时间他们关注的项目和项目的一些时间,这是所有。在管理层看来,每个人都像马戏团明星一样耍杂耍球。但这种看法源于人为的衡量标准。

平衡容量和需求

我们从制造业借来的一个概念是平衡能力和需求的想法。对于软件团队,“容量”是指他们通常在给定的时间间隔内完成的工作量。使用时间盒迭代过程模型的团队,如Scrum或Extreme编程测量容量,其Sprint长度或迭代长度为时间间隔。使用其他种类的流程模型的团队使用数天或数周作为时间间隔。

无论如何,如果我们计算团队在每次间隔中完成的工作项目数,那么三个或四个这样的间隔我们可以看到其交付能力确实是什么。当然,有变体。一方面,没有一致的措施单位。即使当团队努力筹集他们的工作项目的大小时,一些任务也比其他任务更长。有些团队使用某种尺寸的某种尺寸,如“故事点”或“理想时间”,以尝试到达能力的一致测量单位,以最大限度地减少这种变化。并取决于组织的大小和复杂性,许多团队可能无法经常向最终客户提供解决方案;他们可能有一个调整后的“定义”,符合其情况。随着时间的推移,随着人们逐步改善他们的流程,所有这些因素都会发生变化。

正是每个团队如何为我们在此处的直接目的的“实施细节”;没关系。关键是我们希望查看团队的均值,而不是担心从任务到任务的短期变化。WIP限制是我们可以用来尝试和最大化流动的工具,在给定情况下适用的任何约束。

当我们调整在制品限制和观察流程时,我们就是在应用约束理论。根据该模型,在任何多步骤过程中,其中一个步骤的容量最小。这一步称为“约束”。系统作为一个整体的运行速度不能超过约束的容量。当过程中其他步骤的运行速度超过约束条件时,我们就会积累未完成的库存。这在精益思维中被定义为“浪费”的一种形式。

在软件开发过程中,未完成的库存可以采取陈旧要求的形式,未经测试的代码,测试但未能已部署的代码,已部署但未发布的代码等。软件开发工作本质上不太可预测,而不是生产线。一个项目可能需要更多的分析时间;另一个测试;另一个可能难以设计和代码。该过程中的每个步骤都会加速并减速。在软件工作中,通过所有这些活动的交互,图片更加复杂。没有像分析的线性序列 - >代码 - >测试 - >部署。所有这些事情都在小块中发生在一起。

然而,软件组织中的团队之间可能存在多步过程。例如,某些组织在不同的技术平台或不同的架构层上分开工作,例如移动应用程序,网络应用程序,中间层,API和后端应用程序,以及从基础设施工程团队中分离应用程序开发团队,数据库管理团队等等。任何给定的倡议都可能要求多个团队的服务。

为了保持工作顺利进行,我们可能需要允许存在某种级别的库存,以为过程中每个步骤的速度变化提供缓冲。在精益思维中,这被称为“缓冲管理”。我们接受库存来提供缓冲的原因是流程比最小化浪费更重要。如果仔细考虑一下,就会看到空缓冲区(也称为“饿死队列”)或重载缓冲区的影响。要获得正确的平衡,需要观察和谨慎地调整在制品的限制。

当我们调整在制品限制以确保我们的系统不会比其限制运行得更快时,我们应用了五个聚焦步骤中的前三个。这就是约束理论中定义的基本过程改进机制。的步骤是:

  1. 确定约束条件
  2. 利用约束
  3. 使其他一切服从约束
  4. 提升约束
  5. 避免惯性 - 返回步骤1

前三个步骤用于确定约束的情况下,然后最大化系统的有效性(即吞吐量),因为它当前站立,而不尝试“改善”它。步骤4是我们可以通过改善约束来改进系统的位置。此时,一些其他步骤成为约束,我们无法猜测它将提前哪一个,所以我们必须恢复第1步。这个想法是继续无限期地做到这一点。

对于软件开发团队和其他从事软件相关活动的团队来说,“利用约束”意味着如果您的团队是约束,那么您的利用率将达到100%。你会一直很忙的。“让其他一切服从约束”意味着其他团队都有空闲时间。闲置时间的目的是使连续流动。当团队的服务需要时,它们将立即可用,因为它们不会因为某个任意的低优先级任务而“保持忙碌”。

磨斧头

亚伯拉罕·林肯着名,“给我六个小时砍下一棵树,我将花费前四个锐化斧头。”

在历史上,关于软件开发工作最具破坏性的错误观念之一是守旧的观念,即一旦人们学会了如何编程,他们的职业生涯就会一次又一次地重复相同的工作。事实上,这是一个需要不断学习和改进的领域。替代方案不是稳定性或可预测的性能;这是技能的不断退化,随之而来的是软件质量和提供给客户的价值的退化。

所以,如果我们说,“每天给我六个有效的工作时间来构建软件,我将花费前四个代码katas?”

好吧,不太。一般的想法是声音,但我们需要考虑我们正在做的工作类型。我们确实需要奉献斧头锐化的时间,但我们不需要与ABE所需的相同时间。

这些日子几乎没有问题关于提供技术团队跟上该领域的时间的重要性。然而,有问题是如何做到这一点。

两种酥脆的懈怠

您将读取和听到精益学校的人,以指责非约束步骤的空闲时间为“松弛”。他们的意思是我们确保无限制资源将在他们需要的那一刻而毫不拖延。亚傅体育app

软件开发人员多年来一直在谈论另一个概念,并使用“松弛”这个词来描述它。他们在谈论安倍林肯斧头锐化的时间。那个时候是本来是可选的,现在也是意味着被用来吸收到团队中的意外工作。

最近,我注意到人们说和写出限制WIP产生的空闲时间,实际上是我们需要斧头锐化的时间。他们说,如果提出急救,我们只能停止练习或学习,或者我们在我们的“业余时间”并立即解决紧急物品。这有点误解。

加快工作

所有的精益风格的松弛是为了促进连续流动计划工作。计划中的工作可能包括需要不同类型的活动或不同的拉的“规则”的项目;我们通常将其称为“服务等级”。

大多数基于精益的流程都有一个“标准”服务类别,代表了它们最常做的工作类型。它通常也被命名为“标准工作”,尽管不需要特定的名称。在软件开发工作中,一些计划的工作项具有目标交付日期。我们可以将其归类为“约会驱动型”。有些团队有比这些更多的工作类别或类别。这取决于他们所做的工作,以及是否有些工作必须与其他工作区别对待。

但也有计划外的工作。计划外工作软件团队包括生产支持问题和bug修复以及紧急特性请求出现在自然过程中迭代测试市场频繁的发布,和(可能是任意的)请求是“紧急”,因为人的正式权力要求他们。通常,使用精益方法的团队将这些事情作为服务的“加速”类来管理。有些团队甚至有不止一种快件类型的服务,因为他们不时会收到不同类别的紧急工作。

可见性和过程改进

最近我已经看到了在我们限制WIP时创建的空闲时间的建议应该用于吸收加速项目,以便团队可以在不受影响的情况下提供它们。这被吹捧为件好事。我不认为这是一件好事。

一件事,它会摧毁团队的ABE林肯时间。我在该领域的观察一旦开始,它就会摇晃到“正常”的操作方式。团队总共失去了斧头锐化的时间,每支球队很快就会恢复到100%的利用率,在WIP上没有真正的控制。加快服务的级别开始用作适当的嗜好和工作安排的替代品。在长期之前,组织再次回到20世纪80年代,并相应地交付。与此同时,技术人员没有实用的方法可以保持其技能最新。那时,整个“精益”的东西被打破了。

当一个进程有太多的加速项时,这是一个有问题的信号。这可能是一个“共同原因”的问题;系统本身的故障。我们想要尽早看到该信号,以便我们采取适当的行动。如果团队正在使用它们的空闲时间作为缓冲区以吸收加快请求,那么他们隐藏了组织中其他人的过程问题的信息。实际上,他们是培养制度化太多的问题,而不是解决它。

明确定义松弛时间

如果我们牢记两种脆弱味道之间的差异,很容易避免这种情况。WIP限制将在非约束团队中创建空闲时间,如果我们喜欢那个词,我们可以称之为“松弛”。这是为了促进连续流动计划的工作

一般来说,我们希望尽量减少加速工作。否则,我们将失去对过程的控制,它会很快恶化。为此,我们需要利用精益组织的基本特征:视觉管理。

让系统揭示自己的弱点。不要通过将计划生育的工作吸收到团队的ABE林肯时间来掩盖它们。如果我们得到太多的加速项目,让我们了解为什么并纠正问题。

鉴于一个8小时的工作日,其中一些时间并没有真正可用于计划任务的下降工作。它的部分部分用于休息,进食,咖啡休息,伸展,会议,行政任务以及必然是工作日的一部分的其他事情。大多数人为此计划,他们设定了技术团队将能够奉献,例如每天5到6个小时到下来的工作。

留出亚伯拉罕·林肯的时间,防止它被加速请求“占用”的方法是将它列入从原来的每天8小时中减去的事情中。无论如何,只有剩下的5个半小时或6个小时可以用于计划中的工作,而不考虑可能出现的加急工作。如果我们把亚伯拉罕·林肯的时间当作组织的一等公民,那么我们每天的计划工作时间就减少到5个小时。我们可以把这30分钟的片段收集起来然后把它们放在一起这样我们就有足够的时间来磨斧头了。这是现实的,实际的,可持续的,它不会破坏精益系统或烧坏工人。

连续的提高

人们担心减少团队“工作时间”的影响是很自然的。毕竟,在他们开始他们的精益和/或敏捷“转型”计划之前,他们所能做的就是让大量员工每周加班来维持公司的运营。如果人们都在花钱,他们怎么可能支持企业呢亚博vip9通道较少跑步机上的几个小时?

好消息是,在改进计划期间发生的组织的许多变化的集体效应将弥补时间。通过传统方法,人们不得不花很多时间试图因为组织限制而做的事情,使一切困难。当我们学习从繁忙的工作中分开高价值工作时,开始可视化我们的进程,学会适当的优先顺序和计划工作,减少批量大小,消除跨团队依赖项,引入强大的技术实践,以及自动化的重复任务,我们发现同样大小的工作人员可以处理他们之前所做的所有工作,然后是一些,同时保证高品质和与客户需求的良好对齐。

Abe Lincoln Time并不是“额外的”,“给予”技术人员为“蓬勃发展”。这是使企业在市亚博vip9通道场上竞争的企业必需品。与成本相比,ABE林肯时间的成本可以忽略不计使技术人员能够跟上该领域的发展。

下一个;Scriumaster Surive Tips W / Sarah Smith

自1977年以来,Dave Nicolette一直是IT专业人士。他在各种技术和管理角色方面服役。自1984年以来,他主要担任顾问,在管理营中保持一英尺。

评论(1)

  1. 克里斯
    回复

    谢谢你,戴夫。我不得不承认,我认为空闲时间是一种吸收计划外工作的方式。我完全同意这本质上允许系统随着时间的推移而自我游戏。

    我认为将其击败到日常平均时间,帮助人们围绕这一概念迈出他们的头。So my initial numbers look like the below, assuming an average 9-hour work day, which I’m defining as the time a person arrives at the workplace until the the time they leave for the day (or time started to time finished if working remotely).

    顺便说一下,我们目前有很多加速/计划外的工作,我的目标是长期减少,但这是今天的现实,不是一夜之间解决的。所以我不得不明确地解释这一点,因为它确实是一些人日常生活的一部分。

    加急/计划外工作:1小时
    与计划工作无关的会议:1小时
    Abe Lincoln时间:.5小时
    个人时间(午餐,休息,运动等):1.5小时
    计划工作流程的休闲时间:1小时

    留下4个小时的计划工作,这是烤的懈怠时间只有〜11%的容量,而这与我见过的大多数指导相比,我见过的瘦松时间最佳实践。我见过的最佳休闲时间更像是30-50%,这将根本留下计划的工作,大声笑。

    关于我对这次崩溃的看法,有什么建设性的意见吗?

    回复

留下你的评论

您的电子邮件地址不会被公开。必需的地方已做标记*