敏捷数据科学 - 方法论概念


在本章中,我们将重点讨论称为“敏捷”的软件开发生命周期的概念。敏捷软件开发方法有助于通过 1 到 4 周的短迭代内的增量会话来构建软件,从而使开发与不断变化的业务需求保持一致。

有 12 条原则详细描述了敏捷方法 -

客户满意度

通过早期和持续交付有价值的软件,我们会优先考虑关注需求的客户。

迎接新变化

软件开发期间的更改是可以接受的。敏捷流程旨在匹配客户的竞争优势。

送货

工作软件会在一到四个星期内交付给客户。

合作

业务分析师、质量分析师和开发人员必须在项目的整个生命周期中共同努力。

动机

项目应该由一群积极进取的个人来设计。它提供了一个支持各个团队成员的环境。

个人谈话

面对面的对话是向开发团队以及在开发团队内部发送信息的最高效、最有效的方法。

衡量进展

衡量进度是帮助定义项目和软件开发进度的关键。

保持恒定的步伐

敏捷过程注重可持续发展。企业、开发人员和用户应该能够与项目保持一致的节奏。

监控

必须定期关注卓越技术和良好设计,以增强敏捷功能。

简单

敏捷流程使一切变得简单,并使用简单的术语来衡量未完成的工作。

自组织术语

敏捷团队应该是自组织的,应该是独立的,有最好的架构;需求和设计来自自组织团队。

回顾工作

定期审查工作非常重要,以便团队能够反思工作的进展情况。及时审查模块将提高性能。

每日站立会

每日站会是指团队成员之间的日常状况会议。它提供与软件开发相关的更新。它还指解决项目开发的障碍。

无论敏捷团队如何建立,无论其办公地点在哪里,每日站会都是强制性的做法。

每日站立会议的特点列表如下:

  • 每日站立会议的持续时间应约为 15 分钟。它不应延长较长的持续时间。

  • 站立会议应包括有关状态更新的讨论。

  • 这次会议的参与者通常站着,打算尽快结束会议。

用户故事

故事通常是一个需求,用简单的语言用几句话来表述,并且应该在一个迭代内完成。用户故事应包括以下特征 -

  • 所有相关代码都应该有相关的签入。

  • 指定迭代的单元测试用例。

  • 应定义所有验收测试用例。

  • 定义故事时得到产品负责人的接受。

敏捷 Scrum 模型

什么是 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 的权威永远不应该超出流程。他/她应该有能力应对各种情况。