极限编程 - 附加功能
在本章中,我们将了解极限编程的一些附加功能。
反馈回路
极限编程的魅力在于持续的反馈,让每个人都保持专注,并且开发继续朝着正确的方向发展,没有任何延迟。
在极限编程中,反馈是在不同级别完成的,达到所需的和足够的细节。这也是在迭代和发布过程中持续不断地完成的。
下表说明了反馈事件和反馈持续时间。
反馈活动 | 反馈持续时间 |
---|---|
结对编程 | 秒数 |
单元测试 | 分钟 |
团队之间以及与客户之间的澄清 | 小时 |
进步 | 一天内 |
验收测试 | 天 |
迭代计划 | 周数 |
发布计划 | 几个月 |
项目管理
在极限编程中,项目管理不被重视,经理角色执行最低限度和最基本的管理活动。
然而,这些活动嵌入了项目管理要求。
发布计划
范围由故事卡中的用户故事定义。
估计是故事估计,可以是故事点。
交付里程碑由发布计划捕获。
发布分为迭代。
迭代计划
故事被分解成任务卡中的任务。
估计是任务估计。
通过平衡整个团队的负载系数来完成任务分配。
任务的接受取决于团队的承诺和责任。
追踪
从故事点到项目级别实施的实际时间的速度。
生产力是根据开发人员级别完成的实际实施时间进行的任务估计。
缺陷追踪
极限编程——行业经验
从整个行业执行的极限编程项目中,可以学到一些对团队有用的经验。
XP 实践中的经验教训
在以下部分中,您将了解这些知识。
简单的设计- 简单的设计是高效的,易于构建和维护。
隐喻- 使用隐喻的主要目的是在整个开发过程中使用特定于域的名称,这使得客户也能够积极参与开发。
集体所有权- 每个人都为自己的优秀代码感到自豪。通过共同努力,每个人都为每个人的代码感到自豪。
规划- 如果团队在一次迭代中完成许多用户故事,则缩小迭代规模。让团队达成共识来改变计划。
扩展极限编程
最初,极限编程被认为在较小的团队中有效,团队规模最多为 12-16 名开发人员。
后来,人们发现极限编程可以扩展到 40-50 人的团队。但是,建议通过构建递归团队来进行扩展。首先建立一个小团队,逐步壮大团队,使用第一个团队来培育递归团队。
文档
极限编程并不反对任何文档。它鼓励在需要时记录所需内容,并且仅记录所需且足够的细节。这可能因项目而异,由项目决定文档的范围。然而,极限编程实践不允许跳过文档。
应用 XP 的优点
极限编程被发现在应用时具有优势 -
高度不确定的环境
内部项目
合资企业
应用 XP 的缺点
极限编程在以下情况下是不利的:
环境庞大且复杂。
要求很好理解。
客户距离较远或无法联系。
对 XP 的误解
关于极限编程存在一些误解。下表对存在的误解进行了澄清。
误解 | 澄清 |
---|---|
无书面文件 | 需要有最少且足够的文档。然而,对于需要多少或何种文件,并没有正式的标准。 |
无设计 | 最小化的明确和预先设计需要随着开发的进展而演变。 |
极限编程就是结对编程,很简单 | 结对编程只是极限编程实践之一。它需要与其他极限编程实践相结合来实现严格的纪律和一致性。 |
极限编程是构建软件的唯一、真正的方法 | 极限编程仅在某些类型的项目中有效。 |