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



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

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

客户满意度

通过尽早并持续交付有价值的软件,将客户的关注重点放在需求上,这是最高优先级。

欢迎变化

在软件开发过程中,变化是可以接受的。敏捷流程旨在运作以匹配客户的竞争优势。

Learn Data Science in-depth with real-world projects through our Data Science certification course. Enroll and become a certified expert to boost your career.

交付

在 1 到 4 周的时间内向客户交付工作软件。

协作

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

激励

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

面对面交流

面对面交流是向开发团队发送信息以及团队内部发送信息的最高效和最有效的方法。

衡量进度

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

保持恒定速度

敏捷流程侧重于可持续开发。业务、开发人员和用户应该能够与项目保持恒定的速度。

监控

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

简洁

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

自我组织团队

敏捷团队应该是自我组织的,并且应该独立于最佳架构;需求和设计来自自我组织的团队。

审查工作

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

每日站会

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

每日站会是一项强制性实践,无论敏捷团队如何建立,无论其办公地点如何。

每日站会的特征列表如下 -

  • 每日站会的时间大约应为 15 分钟。它不应延长更长时间。

  • 站会应包括关于状态更新的讨论。

  • 此会议的参与者通常站着,目的是快速结束会议。

用户故事

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

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

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

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

  • 产品负责人定义故事时的认可。

Agile Scrum Model

什么是 Scrum?

Scrum 可以被认为是敏捷方法的一个子集。它是一个轻量级流程,包括以下功能 -

  • 它是一个流程框架,包括一组需要按一致顺序遵循的实践。Scrum 的最佳示例是遵循迭代或冲刺。

  • 它是一个“轻量级”流程,这意味着流程尽可能地小,以最大化在指定持续时间内产生的生产力输出。

Scrum 流程以其与其他传统敏捷方法相比的独特流程而闻名。它分为以下三个类别 -

  • 角色

  • 工件

  • 时间盒

角色定义团队成员及其在整个过程中包含的角色。Scrum 团队由以下三个角色组成 -

  • Scrum Master

  • 产品负责人

  • 团队

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 是一个高效的框架,您可以在其中通过团队合作开发软件。它完全基于敏捷原则设计。Scrum Master 始终以各种方式帮助和配合 Scrum 团队。他就像一位私人教练,帮助您坚持既定计划并按照计划执行所有活动。Scrum Master 的权限绝不应超出流程范围。他/她应该有能力处理各种情况。

广告