首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

敏捷开发:一个目标、三个角色、五个会议与十二条原则

一、Scrum的定义和目的

Scrum是一个用于开发和维护复杂产品的框架,是一个增量的、迭代的开发过程,目的是让开发人员像打橄榄球一样迅猛并充满激情,通过团队合作,提高工作效率。通过团队间的有效交互,为企业创造价值。

二、敏捷宣言

其实,在发表《敏捷宣言》之前,很多的敏捷实践都已经存在且使用了,比如:Scrum、XP、KanBan等。之所以发表《敏捷宣言》是因为这些实践都是在单打独斗地推进敏捷开发,而不是以一个联合体的形式,且没有一个统一的指导方针。所以17位敏捷联合创始人决定发表《敏捷宣言》共同在全世界推进敏捷开发运动。下面是敏捷宣言的4句话:

1.个体和互动高于流程和工具

2.工作的软件高于详尽的文档

3.客户合作高于合同谈判

4.响应变化高于遵循计划

三、Scrum中的人员角色

在Scrum框架中,存在三个重要职位,它们分别是产品拥有者、Scrum Master以及开发团队。

首先,产品拥有者在Scrum中担任关键角色。他们的职责包括定义产品的所有功能特性,明确确定发布内容和时间,并对产品的投入和产出负责。此外,产品所有者需要根据市场变化来调整不同功能的优先级,并合理地调整产品的功能和迭代次序。他们还需要审查和确认迭代的交付结果,确保其符合预期。

Scrum Master的职责与传统项目经理有不同。他们不具备任务分配、考核或命令的权限。相反,Scrum Master的主要任务是引导团队成员,确保他们按照Scrum的原则和方法进行工作。他们的任务包括领导团队实现Scrum的价值,同时解决团队面临的任何问题和挑战。此外,Scrum Master还需要确保团队具备必要的技能,并维持高效的生产力。他们的目标是帮助团队成员具备多样化的职能和技能,同时在外部环境的干扰下保护团队的稳定运行。

开发团队是Scrum框架中的另一个关键要素,通常由5至9名成员组成,包括程序员、测试员和用户体验设计师等。在一个迭代周期内,团队成员的角色通常是稳定的,但在新迭代开始之际,个人角色可能会进行调整。开发团队以自我组织和自我管理为特点,所有团队成员都应全职参与工作,以确保高效的项目开发。

总的来说,Scrum框架中的这三个职位共同协作,使得项目能够以迭代、自我管理和高效的方式进行,从而更好地满足客户需求和项目目标。

四、Scrum的开发流程

相较于过程固定的传统项目管理体系,Scrum则采用多次迭代的方式每个迭代周期通常为2~4周。Scrum并非按照一定的时间间隔来完成各个阶段,而是将每个阶段所需的工作集中在同一时间段内完成。这意味着,需求收集、设计、编码、测试以及上线都需要在一个迭代周期内完成,并且每个迭代必须产生一个可运行的软件版本。

五、Scrum 整个开发过程分为五个会议:

1、待办事项整理会议

迭代计划会议开始之前3天召开,产品拥有者与Scrum Master,关键开发人员必须参加。

首先,产品拥有者按照实现顺序描述给在场的团队成员,Scrum Master与在场成员分析用户故事,明确指出团队认为需求不明确的地方,产品拥有者现场记录,会后补全。

然后,Scrum Master还有在场成员分析用户故事需要包含哪些技术任务,Scrum Master先把子任务建立,方便迭代计划会议的时候团队可以更准确地预估任务故事点。

会议结束时,产品拥有者确保下阶段会议开始之前团队提出的问题都能被解决。

2、迭代计划会议

首先,产品负责人要建立产品功能列表。这个列表包含了一系列的需求,它们必须以客户价值为导向进行描述,并按照优先级进行排序。

接着,Scrum Master召集相关人员,在每个迭代周期开始召开迭代计划会议的目的是确定本次迭代的待办事项,并估算本次迭代的工作量,直达达到本次迭代的工作量饱和。

产品负责人在讨论中回答了与需求相关的问题,但并没有干扰估算的结果。然后,团队成员认领任务。会议的时间通常控制在1-2小时内。

3、每日例会

每日站会是团队内部用来沟通进度的场合,会议通常持续15分钟,开发团队使用燃尽图来展示整体的进展情况。除非有特殊情况,否则在迭代期内不会有变更。在每日站会上,团队成员需要回答以下三个问题:

-昨天你完成了哪些工作?

-今天你计划要完成什么工作?

-你是否需要帮助?

4、评审会

评审会是一个小组向产品负责人展示迭代工作成果的场合,产品负责人会提供评价和反馈。评价任务完成情况的标准是用户故事是否成功交付。整个团队都需要参加可能还包括客户。这个会议通常控制在1-2小时内。

5、反思会

在每个迭代结束后,会召开一个简短的反思会,总结哪些事情做得好,哪些事情做得不好。好的方面会被保留,不好的方面会被摒弃。会议的重点在于确定下一步的工作方向,包括要开始做什么、要继续做什么,以及要停止做什么。通常,这个会议的时间会控制在15-30分钟内。

总而言之,Scrum方法强调快速的迭代,每个迭代周期内确保所有人有统一的目标以及顺畅的沟通。

六、十二原则

敏捷开发有12条原则,这些原则作为指导性方向,旨在规范软件开发流程,并为敏捷宣言提供实际操作层面的解释。以下十二原则需要遵守:

我们的首要目标是,尽早且持续地交付有用的软件,以满足客户的需求。

我们欢迎需求的变化,即使在项目已经开始或接近完成的阶段。我们把变化看作是为客户获取竞争优势的机会。

我们努力保持短周期的软件交付,通常是每几周或几个月一次。周期越短越好,这有助于快速满足客户需求。

在项目过程中,业务人员和开发人员之间需要密切合作,确保项目朝着正确的方向前进。

我们鼓励和激励项目团队成员,并为他们提供必要的支持和资源,同时相信他们能够成功完成任务。

面对面的交流是的沟通方式,无论是在团队内部还是与其他团队之间。

通过可用的软件来衡量项目进度,这比依赖文档或计划更为重要。

敏捷开发倡导可持续的工作进展,确保项目方、开发人员和用户能够稳定地前进。

我们追求技术的卓越和设计的不断完善,以提高项目的敏捷性。

简洁性至关重要,我们努力减少不必要的工作,将工作精简为一门艺术。

的架构、需求和设计是由自组织的团队共同创造的。

团队应定期反思,寻找提高效率的方式,并相应地调整团队的行为。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OrFuMHXfsuAMB-l6MzYxMq6A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券