跳转到主要内容

保存的帖子

朝着连续流动

Dave Nicolette |龙头
戴夫尼科尔特
读: 朝着连续流动

我观察到,“现实世界”中的大多数软件交付过程都是混合过程。一个组织严格遵循一个既定的方法是很少见的。也就是说,似乎有四种常见的参考模型,而真正的流程往往更依赖于其中一种,而不是其他三种:

  • 线性
  • 迭代
  • tateboxed.
  • 连续流动

线性模型是所谓的“瀑布”方法的规范基础。关键的潜在假设是有效的软件交付需要遵循预定义的步骤序列。如果每个人“他们的工作就在权利”,单一通过这些步骤会导致良好的结果。由于历史问题超出了这篇文章的范围,今天很少有人认为纯粹的线性过程是实现良好结果的实用方法。但是,线性思维仍然通知管理和执行假设关于软件如何最佳交付。在实践中,大多数其他方法包括一定程度的线性思维。

迭代模型是最广泛使用的,有许多变体。关键的潜在假设是通过要求的单一通过将产生更深入的解决问题空间的理解,但是需要多次通过来创建可行的解决方案。一些迭代方法呼叫解决方案的增量细化,从那里的原型和建筑物开始。其他人呼吁增量交付“垂直片”功能,直到到位足够的功能以满足客户需求。一些过程定义了线性分析和设置阶段,然后是一系列开发迭代,并以线性化硬化和输送阶段结束。有许多品牌和公布的迭代模型变种,甚至更具现成的未达成的变种。

如今,敏捷运动占据了行业关于软件交付方法的思考。敏捷社区作为整体视线的过程模型礼节。许多Agilists无法想象任何其他方式来提供软件。Timeboxed模型类似于具有两个附加(和定义)特性的迭代模型:(1)迭代的长度相同,并且(2)在每次迭代(至少)中产生潜在可移动的解决方案增量。若干Timeboxed流程目前正在广泛使用。

几年来,精益思想一直影响着人们对有效软件交付方法的思考。敏捷社区已经接受了这一点,现在大多数关于敏捷的言论也都提到了精益。将精益思想应用到软件交付中的一个关键的基本假设是建立和管理。实际目标是实现连续流,或尽可能接近它。连续流程通常被认为是对时箱方法的改进。

由于大多数交付团队目前使用的是一个有时间限制的过程,一个实际的问题是如何从一个有时间限制的过程转移到一个连续流过程。我可以分享我自己在指导交付团队迈向连续流流程方面的经验。

帕金森定律

帕金森定律持有工作扩展以填满其完成所需的时间。当团队采用定时流程模型时,他们就会进入一种例行程序,以保证他们在迭代过程中所执行的工作完全填满该迭代。(这对于团队使用的任何流程模型都是正确的。)

让我们说团队从线性或基本迭代模型转移到一个时间禁止的模型。他们从四周的迭代开始。经过一点学习曲线时间,他们陷入了一个例程,涉及在迭代规划中支出x时间,而y时间炼制他们的积压,以及在演示和回顾的z的时间。无论他们如何进行这些活动,他们都将填补这四周的时间空白。

降低迭代长度

一支团队挑战自己以提高交付性能的有效方式是缩短迭代长度。现在,球队必须在三周而不是四个时完成相同的工作量。他们会找到简化和简化标准迭代管理活动的方法,以便他们可以在更短的时间内完成它们。最终,他们陷入了完全适合三周时间槽的例程。

他们已经习惯了三周的迭代,是时候再次走出舒适区了。他们会重复这个过程,直到他们适应了两周的舒适节奏。根据我的经验,简化“标准的”迭代管理活动以适应两周的时间是非常可行的。事实上,许多团队开始有两周的迭代。

迭代长度的渐近极限

这不是正确使用这个词渐近极限但我喜欢打字。

我的意思是,迭代管理开销的成本超过了频繁的反馈循环所增加的价值。是的:是高架。事实上,你的团队迭代地计划可以帮助他们增量地交付,但这并不意味着计划活动本身为客户增加价值。你不会因为可以在“迭代规划”框中打勾就赢得奖杯。都是关于交付。当团队学习如何在越来越短的迭代中交付相同的价值时,他们通常通过减少支持迭代管理开销所需的时间和努力来做到这一点——例如迭代计划、迭代审查和心跳回顾等活动。

其中一些改进可能是显而易见的 - 你不需要花费尽可能多的时间来规划两周的迭代,以计划为期四周的迭代。但是,很多改进来自学习以更简单的方式实现这些活动的目标。其中一些扭转了在团队的工作实践中改进。

到达那里

例如,学习将用户描述划分为一个或多或少一致的大小,可以在计划期间消除对描述大小的需求,还可以简化指标的收集。类似地,将传统上分离的活动组合在一起可以降低交付过程的复杂性——例如,将编码和测试分解为单个活动,或者以可执行的形式指定验收标准,作为验收测试套件。在团队中建立跨职能技能还可以减少协调和沟通的开销,从而节省时间。自动化部署过程意味着团队需要更少的时间来完成有意义的故事完成定义。

通过不同领域改进的组合,团队可以在他们的时间框框过程的上下文中实现相当顺畅的工作流程。根据我的经验,团队开始质疑时间框模型的价值的点是一个星期的迭代长度。这似乎是价值线与成本线的交叉点。

在那里

一旦团队到达了一个可以合理地质疑通过固定长度迭代添加的值的点,它们可能已经以非常顺利的方式提供。这可能是建立连续流程的逻辑时间“正式”。

那些没有在一个失常的过程中投入的团队呢?有些人认为有必要从一个时刻的过程开始,并在他们采用连续流程之前“赚取顺利”。这不是真正的情况。您可以随时转换为连续流动它对您有意义。如果你是已经在使用一个有时间限制的过程,那么上面列出的步骤序列可能很适合。但是你可以在任何时候尝试任何你喜欢的方法。

下一个>问答:估算和会议Sprint承诺与Derek Huether

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

发表评论

您的电子邮件地址将不会被公布。必填字段被标记*