极限编程 - 附加功能


在本章中,我们将了解极限编程的一些附加功能。

反馈回路

极限编程的魅力在于持续的反馈,让每个人都保持专注,并且开发继续朝着正确的方向发展,没有任何延迟。

在极限编程中,反馈是在不同级别完成的,达到所需的和足够的细节。这也是在迭代和发布过程中持续不断地完成的。

下表说明了反馈事件和反馈持续时间。

反馈活动 反馈持续时间
结对编程 秒数
单元测试 分钟
团队之间以及与客户之间的澄清 小时
进步 一天内
验收测试
迭代计划 周数
发布计划 几个月

项目管理

在极限编程中,项目管理不被重视,经理角色执行最低限度和最基本的管理活动。

然而,这些活动嵌入了项目管理要求。

  • 发布计划

    • 范围由故事卡中的用户故事定义。

    • 估计是故事估计,可以是故事点。

    • 交付里程碑由发布计划捕获。

    • 发布分为迭代。

  • 迭代计划

    • 故事被分解成任务卡中的任务。

    • 估计是任务估计。

    • 通过平衡整个团队的负载系数来完成任务分配。

    • 任务的接受取决于团​​队的承诺和责任。

  • 追踪

    • 从故事点到项目级别实施的实际时间的速度。

    • 生产力是根据开发人员级别完成的实际实施时间进行的任务估计。

    • 缺陷追踪

极限编程——行业经验

从整个行业执行的极限编程项目中,可以学到一些对团队有用的经验。

XP 实践中的经验教训

在以下部分中,您将了解这些知识。

  • 简单的设计- 简单的设计是高效的,易于构建和维护。

  • 隐喻- 使用隐喻的主要目的是在整个开发过程中使用特定于域的名称,这使得客户也能够积极参与开发。

  • 集体所有权- 每个人都为自己的优秀代码感到自豪。通过共同努力,每个人都为每个人的代码感到自豪。

  • 规划- 如果团队在一次迭代中完成许多用户故事,则缩小迭代规模。让团队达成共识来改变计划。

扩展极限编程

最初,极限编程被认为在较小的团队中有效,团队规模最多为 12-16 名开发人员。

后来,人们发现极限编程可以扩展到 40-50 人的团队。但是,建议通过构建递归团队来进行扩展。首先建立一个小团队,逐步壮大团队,使用第一个团队来培育递归团队。

文档

极限编程并不反对任何文档。它鼓励在需要时记录所需内容,并且仅记录所需且足够的细节。这可能因项目而异,由项目决定文档的范围。然而,极限编程实践不允许跳过文档。

应用 XP 的优点

极限编程被发现在应用时具有优势 -

  • 高度不确定的环境

  • 内部项目

  • 合资企业

应用 XP 的缺点

极限编程在以下情况下是不利的:

  • 环境庞大且复杂。

  • 要求很好理解。

  • 客户距离较远或无法联系。

对 XP 的误解

关于极限编程存在一些误解。下表对存在的误解进行了澄清。

误解 澄清
无书面文件 需要有最少且足够的文档。然而,对于需要多少或何种文件,并没有正式的标准。
无设计 最小化的明确和预先设计需要随着开发的进展而演变。
极限编程就是结对编程,很简单 结对编程只是极限编程实践之一。它需要与其他极限编程实践相结合来实现严格的纪律和一致性。
极限编程是构建软件的唯一、真正的方法 极限编程仅在某些类型的项目中有效。