极限编程-过程循环
极限编程是一个敏捷过程。
极限编程是一个敏捷过程,因为它 -
强调大量的沟通和反馈 -
团队内部(结对编程、集体代码所有权、简单设计)
与客户(现场客户及验收测试)
用于发布计划(客户和开发人员参与估算)
极限编程聘请了一位教练,他的工作是注意到人们不沟通的情况并重新介绍他们。
拥抱变化 -
频繁迭代(短版本)
轻松设计和重新设计(简单设计)
持续编码和测试(结对编程)
让客户持续参与(在线客户)
在短迭代(短版本)中向客户交付工作产品。
尽早消除缺陷,从而降低成本(结对编程)
代码审查
单元测试
集成每组更改和测试
极限编程过程周期
极限编程是迭代和增量的,并由限时周期驱动。因此,极限编程过程的节奏至关重要。
极限编程有以下活动级别 -
产品生命周期
发布
迭代
任务
发展
反馈
每个活动级别都提供下一个级别所需的最少输入。他们是 -
产品生命周期活动为发布周期提供输入。
发布计划会议为迭代周期提供输入。
迭代计划会议为任务周期提供输入。
任务开发为开发阶段提供输入。
开发产生产品。
反馈是整个项目和所有上述活动级别的持续活动。
产品生命周期
这也称为探索阶段。它涉及功能集定义和规划。客户提出高价值要求,并且这些要求以用户故事的形式给出。
故事是该级别活动的主要交付成果。
发布
这也称为承诺阶段。在本次活动中 -
整个团队聚集在一起,以便 -
审查进展情况。
可以添加新的要求和/或可以更改或删除现有的要求。
客户讲述故事。
故事被讨论。
开发人员确定技术方法和风险。他们提供一级估计和选项。
客户对故事进行优先级排序并选择目标发布时间框。
客户和开发人员承诺要包含的功能以及下一个版本的日期。
开发商 -
将故事排列成可能的迭代。
包括先前版本的验收测试中的缺陷修复。
开始迭代。
发布计划是该级别活动的主要可交付成果。
迭代
这也称为转向阶段。整个团队聚集在一起,以便审查进度并调整计划。客户提出迭代的故事,并且对这些故事进行更详细的讨论。
迭代计划是该活动的主要交付成果。
开发商 -
确定详细的技术方法。
为每个故事创建任务列表。
开始开发。
尽可能部署系统
可部署系统是本次活动的最终交付成果。
任务
开发人员注册任务并开始开发Plotly来实现故事。他们确保迭代的任务完成。开发人员还确保迭代的故事通过验收测试完成。
发展
开发人员结对,这可以是一项持续且动态的活动。
每对 -
验证他们对故事的理解。
确定详细的实现方法,确保设计简单。
开始测试驱动开发,即编写单元测试,实现代码以通过单元测试,重构使代码简单。
以适当的时间间隔将其代码集成到系统代码库中。
经常回顾进展情况。
反馈
两人不断地在内部和团队之间进行沟通。在线客户也持续参与沟通。某些团队通过每日站立会议来快速讨论整个团队的状态,以及必要时可能的重新同步和微观计划。
迭代和发布评审为流程调整和改进提供总体状态和要点。
发展事件可能会导致对任务的重新思考。
任务开发可能会导致对故事的重新思考。
故事重新估计可能会导致迭代更改或恢复。
迭代结果可能会导致发布计划发生变化。
极限编程过程周期如下图所示。