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