📜  极限编程-过程周期

📅  最后修改于: 2021-01-07 06:11:52             🧑  作者: Mango


极限编程是一个敏捷的过程。

极限编程是一个敏捷的过程,因为它-

  • 强调大量的沟通和反馈-

    • 团队内部(成对编程,集体代码所有权,简单设计)

    • 与客户(现场客户和验收测试)

    • 用于发布计划(由客户和开发人员参与评估)

  • 极限编程公司雇用一名教练,他的工作是在人们不交流并重新介绍他们时注意到。

  • 拥抱变化-

    • 频繁迭代(短版)

    • 轻松设计和重新设计(简单设计)

    • 连续编码和测试(配对编程)

    • 保持客户不断参与(在线客户)

  • 在短期内(短期发布)将有效产品交付给客户。

  • 尽早消除缺陷,从而降低成本(配对编程)

    • 代码审查

    • 单元测试

    • 集成所有变更和测试

极限编程过程周期

极限编程是迭代的和增量的,并且由时间盒循环驱动。因此,极限编程过程的节奏至关重要。

极限编程具有以下活动级别-

  • 产品生命周期

  • 发布

  • 迭代

  • 任务

  • 发展历程

  • 反馈

每个活动级别都提供下一级别所需的最少输入。他们是-

  • 产品生命周期活动为发布周期提供输入。

  • 发布计划会议提供迭代周期的输入。

  • 迭代计划会话为任务周期提供输入。

  • 任务开发为开发事件提供输入。

  • 开发生产产品。

反馈是整个项目以及上述所有活动级别的持续活动。

产品生命周期

这也称为探索阶段。它涉及功能集定义和计划。客户达到了高价值要求,并且这些要求以用户故事的形式给出。

故事是此级别活动的主要交付成果。

发布

这也称为承诺阶段。在此活动中-

  • 整个团队聚集在一起-

    • 审查进度。

    • 可以添加新需求和/或可以更改或删除现有需求。

    • 客户介绍故事。

    • 故事进行了讨论。

  • 开发人员确定技术方法和风险。他们提供了一级估算和选项。

  • 客户确定故事的优先级,然后选择目标发布时间框。

  • 客户和开发人员致力于要包含的功能以及下一个发行日期。

  • 开发人员-

    • 将故事安排为可能的迭代。

    • 包括来自先前版本的验收测试的缺陷修复。

    • 开始迭代。

发布计划是该级别活动的主要交付成果。

迭代

这也称为转向阶段。整个团队聚集在一起,以便对进度进行审查并可以调整计划。客户展示迭代的故事,并且对故事进行了更详细的讨论。

迭代计划是此活动的主要交付成果。

开发人员-

  • 确定详细的技术方法。

  • 为每个故事创建任务列表。

  • 开始发展。

  • 尽可能远地部署系统

可部署系统是该活动的最终交付成果。

任务

开发人员注册任务并开始开发剧集以实施故事。它们确保迭代任务完成。开发人员还确保接受迭代测试的故事是完整的。

发展历程

开发人员形成对,这可以是连续而动态的活动。

每对-

  • 验证他们对故事的理解。

  • 确定详细的实施方法,确保简单的设计。

  • 开始测试驱动的开发,即编写单元测试,实现代码以通过单元测试,重构以简化代码。

  • 以适当的时间间隔将其代码集成到系统代码库中。

  • 经常检查进度。

反馈

两人之间不断进行内部沟通,并不断与团队进行沟通。在线客户也持续参与沟通。某些团队每天进行站立会议,以快速讨论整个团队的状态,并在必要时进行重新同步和微计划。

迭代和发行复审提供总体状态和要点,以进行流程调整和改进。

  • 发展事件可能会引起对任务的重新思考。

  • 任务开发可能会引起对故事的重新思考。

  • 故事重新估计可能会导致迭代更改或恢复。

  • 迭代结果可能会导致发布计划发生更改。

极限编程过程周期如下图所示。

极限编程过程周期