SCRUM 还是 看板

2022-06-13 11:13:32 浏览数 (3)

IT发展到云计算时代,微服务作为一种软件框架或架构技术,得到越来越多的应用。为了适用这种变化,敏捷不再是要不要的问题,而是如何要,选择哪一种敏捷框架的问题。

严格说来,敏捷其实是一种思想和基本准则。SCRUM和看板则是建立在敏捷思想上的框架,描述和知道团队如何协作,如何学习,如何产生可交付物。另外,虽然目前SCRUM和看板是目前最流行的两种敏捷框架,也还有其他一些敏捷框架,比如SAFe,Scrumban, Kanplan等。

敏捷(Agile) 是一种结构化的迭代式的项目管理和产品开发方法。它充分考虑到产品开发过程中的易变性,提供了一套自组织团队可以在不偏离业务目标的前提下响应变化的方法论。

看板(Kanban)是一种强调持续开发和持续交付的敏捷框架,可以不间断地且并行处理任务或者用户需求。看板使用可视化的计划工具,即看板.使用卡片记录每个用户故事(User Story) ,并在代表不同的任务完成状态之间移动卡片表达该任务或user story的进展情况。如果你的团队需要持续任务或者需求需要处理,也许看板是一个不错的选择。

SCRUM 把复杂的任务分解为Userstory,使用定期的Sprint来管理每个userstory的进展。SCRUM团队强调周期性地交付软件。如果团队需要按照固定的期限周期性的交付给客户,SCRUM肯定是最理想的选择。

SCRUM:一种结构化的敏捷方式

在我们考虑考虑采用SCRUM之前,先问自己一个问题:整个开发团队是否是专职团队,并且负责该项目。

SCRUM团队会承诺每个Sprint结束都会交付产品或者价值。如果你的团队成员有肯能去做别的其他项目,那么SCRUM团队无法承诺每个Sprint的交付。另外,在选择SCRUM时,还需要考虑以下方面:

节奏

SCRUM强调的是快速交付,在每个Sprint结束时交付用户可用的可交付物,每个Sprint一般2周最多4周,有着清晰的开始和结束时间。该框架的背后思想是利用短的时间段强迫把复杂任务分解为小的user story.

另外,每个Sprint都会有Sprint计划,Sprint Review和复盘会议,以及每天的站立会议。虽然这些会议是轻量的,但确实必须的。

因此,我们在选择SCRUM之前,需要先问自己2个问题:1)团队是否如此快节奏的交付;2)团队是否有足够意愿参加SCRUM的4种会议。

发布方式

在Sprint Review会议中,团队一起审查产品的增量部分(即本Sprint的最终交付物),然后决定是否发布。当然,这也要求在每个Sprint结束团队有可交付的价值增量。

SCRUM角色

SCRUM中有三个清晰定义的角色:

Product Owner: 负责管理产品需求(backlog), 理解业务需求,并根据需求,对开发团队需要的工作排出优先级;

SCRUM Master: 管理SCRUM工作流程,确保团队在SCRUM框架下工作;

开发团队: 完成工作并展现共同责任。

SCRUM团队自我组织和自我管理,团队成员虽然承担不同的角色和工作任务,但是人人平等。在各不同角色之间的相互竞争的利益和交付价值的统一目标之间,保持健康的紧张。

关键指标

衡量一个SCRUM团队表现的关键指标是velocity,即在一个Sprint中交付的story points的数量。该指标用以指导后续Sprint中可以承诺完成的story points。想象一下,如果一个团队每个Sprint中平均完成35个storypoints,那么后续的sprint中我们不会完成45个story points.

应对变化

一般情况下,SCRUM团队尽量不要在Sprint过程中进行范围变更。如果团队通过客户反馈发现他们正在开发的功能没有他们认为的那么有价值,这种情况下需要变更该Sprint的开发范围,以便优先交付对客户最优价值的功能或价值。

看板:一种持续改善,变化灵活的过程

看板是一种持续的工作流结构,强调为保持团队的敏捷以随时适应和应对变化。看板的卡片代表工作项,在代表工作项的不同状态或时期之间移动。典型的工作流状态主要有:To Do, In Progress, In Review, Blocked,和Done。当然,团队可以针对自己的需求定义工作流状态,比如 Backlog, Prioritized, Designing, Review和Shipped。

发布方式

看板过程中,软件更新只要完成就可以随时发布,没有一个周期或者提前决定的日期。理论上,看板并不需要预先确定一个时间点来交付一个任务或者软件更新。如果一个特性完成,无论早晚,都无需像SCRUM过程那样等到Sprint结束再发布。

角色

整个团队对看板负责。有些团队可能需要一个敏捷教练的角色来帮助看板过程的顺利进行,但是不像SCRUM一样,有一个看板master,来保证每件事情都平稳运行。看板过程中,整个团队相互协作,来负责交付看板上的每个任务。

关键指标

循环周期(Cycle Time)是看板过程的一种重要指标。它指的是一个工作项从开发到结束所花费的平均时间。工作项循环周期的改善意味着团队的成功。

看板团队经常用来分析项目进展状况的工作是累计流图(CFD)。它可以用来表示每个状态下的工作项的数量,从而帮助识别出限制工作流的瓶颈。

应对变化

看板的工作流可以任何时候进行变更。任何时候都可以添加新的工作项,也可以暂停或删除正在进行中的项目,这一切取决有优先级。而且,如果团队交付能力发生变化,可以重新设定WIP(Work In Progress)限制,工作项也可以被随之调整。

如何选择?

如果无从选择,那么就从SCRUM或者看板中选择一个,并坚持一段时间。如果选择SCRUM,那么至少坚持一个Sprint循环;如果选择看板,至少要交付一些工作项。然后,再进行回顾和反思进展顺利和进展不好的地方。

下面是一些建议:

  • 如果团队能100%的贡献到项目中,并且客户要求按照固定的周期持续的交付价值,那么选择SCRUM;
  • 如果SCRUM不是非常适合你的团队,那就需要选择SCRUM;
  • 如果团队更重视灵活性而非稳定性,或者工作项目可以被映射成工作流,那就选择看板

1 人点赞