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

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

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

客户满意度

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

欢迎新的变化

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

交付

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

协作

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

激励

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

对话

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

衡量进度

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

保持恒定的节奏

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

监控

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

简单

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

自组织术语

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

审查工作

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

每日站会

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

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

每日站会的功能列表如下 −

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

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

  • 本次会议的参与者通常会起立,意图尽快结束会议。

用户案例

案例通常是一个需求,用简单的语言用几句话来表达,并且应该在一个迭代内完成。 用户案例应包含以下特征 −

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

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

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

  • 定义案例时获得产品负责人的接受。

敏捷 Scrum 模型

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