敏捷数据科学 - 方法论概念
在本章中,我们将重点讨论称为“敏捷”的软件开发生命周期的概念。敏捷软件开发方法有助于通过 1 到 4 周的短迭代内的增量会话来构建软件,从而使开发与不断变化的业务需求保持一致。
有 12 条原则详细描述了敏捷方法 -
客户满意度
通过早期和持续交付有价值的软件,我们会优先考虑关注需求的客户。
迎接新变化
软件开发期间的更改是可以接受的。敏捷流程旨在匹配客户的竞争优势。
送货
工作软件会在一到四个星期内交付给客户。
合作
业务分析师、质量分析师和开发人员必须在项目的整个生命周期中共同努力。
动机
项目应该由一群积极进取的个人来设计。它提供了一个支持各个团队成员的环境。
个人谈话
面对面的对话是向开发团队以及在开发团队内部发送信息的最高效、最有效的方法。
衡量进展
衡量进度是帮助定义项目和软件开发进度的关键。
保持恒定的步伐
敏捷过程注重可持续发展。企业、开发人员和用户应该能够与项目保持一致的节奏。
监控
必须定期关注卓越技术和良好设计,以增强敏捷功能。
简单
敏捷流程使一切变得简单,并使用简单的术语来衡量未完成的工作。
自组织术语
敏捷团队应该是自组织的,应该是独立的,有最好的架构;需求和设计来自自组织团队。
回顾工作
定期审查工作非常重要,以便团队能够反思工作的进展情况。及时审查模块将提高性能。
每日站立会
每日站会是指团队成员之间的日常状况会议。它提供与软件开发相关的更新。它还指解决项目开发的障碍。
无论敏捷团队如何建立,无论其办公地点在哪里,每日站会都是强制性的做法。
每日站立会议的特点列表如下:
每日站立会议的持续时间应约为 15 分钟。它不应延长较长的持续时间。
站立会议应包括有关状态更新的讨论。
这次会议的参与者通常站着,打算尽快结束会议。
用户故事
故事通常是一个需求,用简单的语言用几句话来表述,并且应该在一个迭代内完成。用户故事应包括以下特征 -
所有相关代码都应该有相关的签入。
指定迭代的单元测试用例。
应定义所有验收测试用例。
定义故事时得到产品负责人的接受。
什么是 Scrum?
Scrum 可以被视为敏捷方法论的一个子集。这是一个轻量级的过程,包括以下功能 -
它是一个流程框架,其中包括一组需要按一致顺序遵循的实践。Scrum 的最佳例证是迭代或冲刺。
这是一个“轻量级”流程,意味着流程尽可能小,以在指定的给定时间内最大化生产产出。
与传统敏捷方法的其他方法相比,Scrum 过程以其独特的过程而闻名。它分为以下三类 -
角色
文物
时间盒
角色定义了团队成员及其在整个流程中的角色。Scrum 团队由以下三个角色组成 -
敏捷大师
产品拥有者
团队
Scrum 工件提供了每个成员都应该了解的关键信息。这些信息包括产品、计划的活动和已完成的活动的详细信息。Scrum 框架中定义的工件如下 -
产品积压
冲刺待办事项
燃尽图
增量
时间框是为每次迭代计划的用户故事。这些用户故事有助于描述构成 Scrum 工件一部分的产品功能。产品待办事项列表是用户故事的列表。这些用户故事会按优先级排列并转发给用户会议,以决定应该讨论哪一个。
为什么是 Scrum Master?
Scrum Master 与团队的每个成员互动。现在让我们看看 Scrum Master 与其他团队和资源的交互。
产品拥有者
Scrum Master 通过以下方式与产品负责人互动 -
寻找技术来实现有效的用户故事产品积压并对其进行管理。
帮助团队了解清晰简洁的产品待办事项列表的需求。
特定环境下的产品规划。
确保产品负责人知道如何增加产品的价值。
根据需要促进 Scrum 活动。
Scrum 团队
Scrum Master 通过多种方式与团队互动 -
指导组织采用 Scrum。
规划特定组织的 Scrum 实施。
帮助员工和利益相关者了解产品开发的要求和阶段。
与其他团队的 Scrum Master 合作,提高指定团队 Scrum 应用的有效性。
组织
Scrum Master 通过多种方式与组织进行交互。下面提到了一些 -
教练和 scrum 团队与自组织交互,并包含跨功能的特征。
在 Scrum 尚未完全采用或不被接受的领域对组织和团队进行指导。
Scrum 的好处
Scrum 帮助客户、团队成员和利益相关者进行协作。它包括限时方法和产品负责人的持续反馈,确保产品处于工作状态。Scrum 为项目的不同角色提供了好处。
顾客
冲刺或迭代的持续时间较短,用户故事是根据优先级设计的,并在冲刺计划中进行。它确保每次冲刺交付、客户要求都得到满足。如果没有,则会记录需求并计划并进行冲刺。
组织
在 Scrum 和 Scrum master 的帮助下,组织可以专注于开发用户故事所需的工作,从而减少工作负担并避免返工(如果有)。这也有助于提高开发团队的效率和客户满意度。这种方法还有助于增加市场潜力。
产品经理
产品经理的主要职责是确保维持产品质量。在 Scrum Master 的帮助下,可以轻松促进工作、收集快速响应并吸收变化(如果有)。产品经理还会在每个冲刺中验证设计的产品是否符合客户要求。
开发团队
由于时间限制和冲刺时间较短,开发团队会热衷于看到工作得到正确反映和交付。工作产品在每次迭代后都会递增每个级别,或者更确切地说,我们可以将它们称为“冲刺”。为每个冲刺设计的用户故事成为客户优先考虑的事项,为迭代增加更多价值。
结论
Scrum 是一个高效的框架,您可以在其中团队合作开发软件。它完全按照敏捷原则设计。ScrumMaster 以各种可能的方式帮助和配合 Scrum 团队。他就像一位私人教练,帮助您坚持设计的计划并按照计划执行所有活动。ScrumMaster 的权威永远不应该超出流程。他/她应该有能力应对各种情况。