敏捷数据科学 - 方法论概念
在本章中,我们将重点讨论称为"敏捷"的软件开发生命周期的概念。 敏捷软件开发方法有助于通过 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 的权威永远不应该超出流程。 他/她应该有能力应对各种情况。