📅  最后修改于: 2021-01-07 06:15:52             🧑  作者: Mango
在本章中,我们将学习极限编程的一些附加功能。
极限编程的魅力在于持续不断的反馈,使每个人都专注于开发,并且朝着正确的方向继续发展而没有任何延迟。
在极限编程中,反馈是在不同级别上完成的,并达到了所需的足够的细节。在迭代和发行版中也要连续不断地完成此操作。
下表说明了反馈事件和反馈持续时间。
Feedback Event | Feedback Duration |
---|---|
Pair Programming | Seconds |
Unit Testing | Minutes |
Clarifications among Team and with the Customer | Hours |
Progress | In a Day |
Acceptance Testing | Days |
Iteration Planning | Weeks |
Release Planning | Months |
在极限编程中,不强调项目管理,并且经理角色执行最少和最基本的管理活动。
但是,这些活动嵌入了项目管理要求。
发布计划
范围由故事卡中的用户故事定义。
估计是故事的估计,可以是故事点。
发布里程碑记录了交付里程碑。
发布分为迭代。
迭代计划
故事被充入任务卡中的任务中。
估计是任务估计。
通过平衡团队中的负载因子完成任务分配。
任务的接受取决于团队的承诺和责任心。
追踪
从项目实施的实际时间开始的故事点速度。
在开发人员级别执行的实际时间中,根据任务估算得出的生产率。
缺陷追踪
从整个行业执行的极限编程项目中,有一些对团队有用的知识。
在以下各节中,您将了解这些知识。
简单设计-简单设计有效,易于构建和维护。
隐喻-使用隐喻的主要目的是在整个开发过程中使用特定于域名的名称,这使客户也可以积极参与开发。
集体所有权-每个人都为自己的良好守则感到自豪。通过共同努力,每个人都为每个人的代码感到自豪。
计划-如果团队在一次迭代中完成许多用户案例,请减小迭代次数。让团队达成共识以更改计划。
最初,极限编程在较小的团队中很有效,团队规模最多为12-16个开发人员。
后来发现,将极限编程扩展到40-50人的团队是可能的。但是,建议通过建立递归团队来进行扩展。首先建立一个小团队,然后逐步成长,并使用第一团队为递归团队提供种子。
极限编程不反对任何文档。它鼓励记录要求的内容,何时需要的内容以及仅记录到所需的充分细节。这可能因项目而异,并且由项目决定文档的范围。但是,极限编程实践不允许跳过文档。
发现极限编程在-
高度不确定的环境
内部项目
合资企业
发现极端编程在以下情况下是不利的:
环境很大且很复杂。
要求是众所周知的。
客户距离遥远或无法联系。
关于极限编程有一些误解。下表提供了对存在的误解的澄清。
Misconception | Clarification |
---|---|
No written documentation | Minimal and sufficient documentation needs to be there. However, there are no formal standards for how much or what kind of documents are needed. |
No design | Minimal explicit and up-front design needs to be there that evolves as the development progresses. |
Extreme Programming is just pair programming and easy | Pair Programming is just one of the Extreme Programming practices. It requires great discipline and consistency that is achieved in conjunction with the other Extreme Programming practices. |
Extreme Programming is the one, true way to build software | Extreme Programming is effective only in certain type of projects. |