敏捷开发框架Scrum工件-冲刺/迭代燃尽图(下篇)
By 老彦
《系统之美》
前言,在本文中,我们将从以下几点了解有关燃尽图的详细内容(下篇为主题4-6):
(延续上篇主题1-3 敏捷开发框架Scrum工件-冲刺/迭代燃尽图(上篇))
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
<p>
在这种情景下,团队需要查看当前的燃尽图和实际线。 截至特定日期,它们还有多少富余的工作时间。 可能有3种选项:
</p>
<ol start="1">
<li>
<strong>团队可以直接同意将故事添加到当前的sprint中</strong>
</li>
</ol>
<p>
如果实际线结束于理想线或能力线以下,则意味着有富余时间可用于在冲刺时间内完成更多工作。<br /> 留意测试人员个人能力(工作时间),即使整个团队富余很多工作时间,如果单个测试人员级别也没有太多富余工作时间,在这种情况下,可以参考下面的选项2。<br /> 因此,先要看燃尽的情况,如果说可以提交更多故事,考虑其他限制因素再做出决定。
</p>
<ol start="2">
<li>
<strong>团队可以要求PO取消一些低优先级的故事,这意味着从当前的sprint中移除并将其放回待办事项</strong>
</li>
</ol>
<p>
如果团队发现燃尽实际线接近能力线或理想线,则团队检查已提交但尚未开始开发的相似大小故事,请产品负责人同意减少这些故事中的任何( 一个或多个),替换为新的关键故事。<br /> 留意冲刺中剩余的时间,新故事所需的技能以及这些熟练的团队成员的富余时间。
</p>
<ol start="3">
<li>
<strong>团队认为在sprint范围内添加新故事是有风险的,建议不要更改范围。 </strong>
</li>
</ol>
<p>
如果团队离冲刺结束只有两到三天,实际线非常稳定,有些故事已完成,有些在进行中。 在这种情况下,接受新故事可能会有风险,团队可以向产品负责人解释并建议到下一个冲刺将优先完成新故事,并尽快将其部署。<br /> 不过即使是冲刺的最后几天,如果当前的所有故事都已完成并被验收,实际线已经触地。 团队可以快速估算并提交新故事。
</p>
</div>
</div>
</div>
</div>
</div>
<div class="wpb_column vc_column_container vc_col-sm-6">
<div class="vc_column-inner">
<div class="wpb_wrapper">
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
<h4>
情景2:其中一位团队成员需要连续几天请急诊病假。
</h4>
</div>
</div>
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
<p>
在这种情况下,请查看燃尽图并分析实际线终点的位置。 如果终点在理想线以下很远,可以接受计划外的请假。在个人级别上,还要查看该成员有待处理的工作总小时数,以及冲刺剩余的总天数。查看同一技能的其他成员是否具有足够的富余时间来弥补差距。<br /> 如果团队认为有可能不能完成所有已提交的故事,团队就应立即通知PO,达成共识,例如确定优先级较低的故事等。
</p>
</div>
</div>
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
<h4>
情景3:在sprint测试团队的第二周,提出了太多的bug,需要在sprint持续时间内解决。
</h4>
</div>
</div>
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
<p>
如果测试人员在测试用户故事时发现太多缺陷,这让开发看起来不够成熟,但还是会发生。查看实线和能力线的差异。团队多大程度上能够轻松修复缺陷以及正在进行的开发工作,测试人员需要重新测试重要的修复以及已完成的待测试的工作。<br /> 为了完成所有修复,工作燃尽图应具有足够的富余工作时间,这意味着实际线的末端应比能力线的末端低得多。如果不是,在进行下一个冲刺时,在能力规划期间保留足够的缓冲区需要重点考虑。<br /> 查看关于缺陷关闭的完成(DOD)定义,如果说所有P1和P2的缺陷必须关闭才能认为故事完成。查看P1 / P2错误的数量,评估修复它们的额外时间以及燃尽图中可用的富余时间。<br /> 考虑与产品负责人沟通,应对最坏的情况,确定优先级最低和最关键的用户故事。<br /> 燃尽图是决定现在是否应该与产品负责人沟通的第一步。或者需要进一步细化可能的其他约束。<br /> 工作中可能还有许多其他情况,燃尽图有助于针对不同情况做出决策。
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1011" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraightLine-1.jpg" alt="" width="760" height="435" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraightLine-1.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraightLine-1-300x172.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraightLine-1-768x439.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
<ol>
<li>
团队没有每天更新剩余的任务时间
</li>
<li>
团队还未创建所有任务,因此无法更改剩余时间
</li>
<li>
任务工作量被低估,因此剩余时间没有变化
</li>
<li>
用户故事受到某些障碍的阻碍,而这些障碍尚未解决,因此团队无法继续进行
</li>
<li>
诸如开发服务器之类的环境问题无法进行编码或无法进行测试的测试环境
</li>
</ol>
<p>
如何解决这些问题?
</p>
<ol>
<li>
确保每个团队成员每天更新他们工作的剩余时间。
</li>
<li>
在执行用户故事任务期间,花时间来尽可能准确地创建和估算任务。
</li>
<li>
尝试尽快解决障碍,如果某些故事被阻止,请不要等待其解决,开始处理其他故事,如果所有故事都被阻止并且可能需要几天才能解决,请通知产品负责人并采取相应行动。
</li>
<li>
在开始sprint之前,请先解决所有依赖项,然后提交故事,在解决依赖之前,只处理独立的故事。
</li>
<li>
解决所有环境问题,在开始冲刺之前检查可用性和可访问性。
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1014" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround.jpg" alt="" width="760" height="424" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround-300x167.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround-768x429.jpg 768w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround-740x414.jpg 740w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_TouchingGround-355x199.jpg 355w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
<ol>
<li>
团队努力工作,每天根据产能消耗更多时间
</li>
<li>
团队投入的比实际能力要少
</li>
<li>
团队对任务工作量的估计过高
</li>
</ol>
<p>
解决方案
</p>
<ol>
<li>
如果团队愿意努力工作,是一件好事,但更好的是用商定的时间来完成工作。每天加班可能会导致其他负面影响。根据团队可以执行的最佳优化工作量来计划能力。
</li>
<li>
如果团队投入比实际能力要少,那是因为在大多数情况下由于需求量不足,产品负责人在计划时可能没有足够的故事准备投入。经常进行定期梳理,以使待办事项保持健康(参考 <a href="https://www.agilewalker.com/product-backlog-prioritization/">敏捷Scrum开发7大事件之1:产品待办列表优先级排序</a> <a href="https://www.agilewalker.com/understanding-scrum-metrics/">理解Scrum 度量和关键绩效指标</a>)。
</li>
<li>
合理的估算,使其尽可能准确
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1010" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike.jpg" alt="" width="760" height="424" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike-300x167.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike-768x429.jpg 768w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike-740x414.jpg 740w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_Spike-355x199.jpg 355w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
<ol>
<li>
范围变更(范围在sprint持续时间内增加),PO可能要求在当前sprint中添加一个或几个故事。
</li>
<li>
或者团队已重新估计任务,增加了剩余的工作量。
</li>
</ol>
<p>
解决方案
</p>
<ol>
<li>
使Sprint计划更成熟,使待办事项保持健康,在Sprint计划期间,通过按优先级分配尽可能多的待办事项条目,充分利用团队能力。
</li>
<li>
彻底进行任务分解,创建所有可能的任务,估算和分配。 因此无需在冲刺期间重新估算。
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1009" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity.jpg" alt="" width="760" height="424" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity-300x167.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity-768x429.jpg 768w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity-740x414.jpg 740w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_IdealVSCapacity-355x199.jpg 355w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
<ol>
<li>
没有足够的用户故事在准备就绪状态下(DoR),因此团队最终完成了Sprint计划
</li>
<li>
或团队没有信心充分利用全部能力,只能利用部分能力。
</li>
</ol>
<p>
如何解决这种情况,以便将来冲刺
</p>
<ol>
<li>
再次进行连续待办事项梳理,以准备好足够的条目的健康的待办事项。
</li>
<li>
详细了解涵盖所有方面的细节需求。 只在sprint计划期间提交用户故事。 让每个团队成员为他们创建,估算和分配任务。 如此不断计划,直到利用了最大团队能力。
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1008" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal.jpg" alt="" width="760" height="424" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal-300x167.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal-768x429.jpg 768w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal-740x414.jpg 740w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_ActualOutsideIdeal-355x199.jpg 355w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
<ol>
<li>
团队在按预期工作,但是他们没有更新剩余时间。
</li>
<li>
团队实际上没有在工作。
</li>
<li>
团队的前进被阻挡或妨碍。
</li>
<li>
团队发现估计的工作时间太短,需要做更多的工作,但并没有重新估计任务的时间,也没有更新剩余的时间,只是在努力减少剩余的时间。
</li>
</ol>
<p>
如何解决这种情况,以便当前冲刺和未来的冲刺
</p>
<ol>
<li>
请每天更新剩余时间,这可能会带来一些高峰,它将描述真实的情况。
</li>
<li>
其它情况的解决方案因团队而异,需要进行分析并采取最合适的纠正措施。
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1012" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_1-1024x561-1.jpg" alt="" width="760" height="416" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_1-1024x561-1.jpg 1024w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_1-1024x561-1-300x164.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_1-1024x561-1-768x421.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-1013" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_2.jpg" alt="" width="760" height="416" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_2.jpg 1000w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_2-300x164.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Performance_StraingLine_Sudden_Fall-_2-768x421.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
<div class="wpb_text_column wpb_content_element ">
<div class="wpb_wrapper">
</div>
</div>
</div>
</div>
<ol>
<li>
通常发生在团队使用故事点作为燃尽的Y轴时。
</li>
<li>
剩余工作的更新没有定期发生。
</li>
<li>
剩余工作的更新只在冲刺的最后日期进行。
</li>
</ol>
<p>
如何处理这些?
</p>
<ol>
<li>
开始任务分解,并在燃尽的Y轴上使用任务时间。
</li>
<li>
每天更新剩余时间。
</li>
</ol>
<p>
下一节将讨论为什么不应该将故事点用作Sprint燃尽图的Y轴。
</p>
</div>
</div>
</div>
</div>
<div class="vc_row wpb_row vc_inner vc_row-fluid">
<div class="wpb_column vc_column_container vc_col-sm-4">
<div class="vc_column-inner">
<div class="wpb_wrapper">
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-998" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withHours-1024x537-1.jpg" alt="" width="760" height="399" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withHours-1024x537-1.jpg 1024w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withHours-1024x537-1-300x157.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withHours-1024x537-1-768x403.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
</div>
<div class="wpb_column vc_column_container vc_col-sm-4">
<div class="vc_column-inner">
<div class="wpb_wrapper">
<div class="wpb_single_image wpb_content_element vc_align_center">
<figure class="wpb_wrapper vc_figure photoswipe-item photoswipe-wrapper"><img class="alignnone size-large wp-image-999" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_1-1024x586-1.jpg" alt="" width="760" height="435" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_1-1024x586-1.jpg 1024w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_1-1024x586-1-300x172.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_1-1024x586-1-768x440.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" /></figure>
</div>
</div>
</div>
</div>
<div class="wpb_column vc_column_container vc_col-sm-4">
<div class="vc_column-inner">
<div class="wpb_wrapper">
<div class="wpb_single_image wpb_content_element vc_align_center">
</div>
</div>
</div>
</div>
<p>
<img class="alignnone size-large wp-image-1000" src="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_2-1024x637-1.jpg" alt="" width="760" height="473" srcset="https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_2-1024x637-1.jpg 1024w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_2-1024x637-1-300x187.jpg 300w, https://www.agilewalker.com/wp-content/uploads/2020/04/Burndown_withSP_2-1024x637-1-768x478.jpg 768w" sizes="(max-width: 760px) 100vw, 760px" />
</p>
<p>
参看 <a href="https://www.agilewalker.com/sprint-burndown-chart/">敏捷开发框架Scrum工件-冲刺/迭代燃尽图(上篇)</a>
</p>
<p>
—
</p>
<p>
END
</p>
<p>
希望能在评论区学习到大家的经验和想法~
</p>
<p>
如果对相关内容感兴趣可以关注我的公众号:捷伴行Agile。会有更多更及时的内容与君分享。
</p>
<p>
<img class="alignnone size-full wp-image-642" src="https://www.agilewalker.com/wp-content/uploads/2020/02/qrcode_for_gh_babbdd98b6f5_258-1.jpg" sizes="(max-width: 258px) 100vw, 258px" srcset="https://www.agilewalker.com/wp-content/uploads/2020/02/qrcode_for_gh_babbdd98b6f5_258-1.jpg 258w, https://www.agilewalker.com/wp-content/uploads/2020/02/qrcode_for_gh_babbdd98b6f5_258-1-150x150.jpg 150w, https://www.agilewalker.com/wp-content/uploads/2020/02/qrcode_for_gh_babbdd98b6f5_258-1-250x250.jpg 250w, https://www.agilewalker.com/wp-content/uploads/2020/02/qrcode_for_gh_babbdd98b6f5_258-1-80x80.jpg 80w" alt="" width="258" height="258" />
</p>
</div>
</div>
</div>