-
内涵
- 软件开发哲学
- 基于沟通、反馈、简约、勇气、尊重的价值观
- 被证明的有效软件开发实践
- 能够帮助指导那些独特难题的实践
- 共享上述价值观和实践的社区
-
跟其他方法相比的优势
- 开发周期短、提供尽早的、具体的持续的反馈
-
增量计划方法
- 迅速提出总体计划
- 项目生命周期计划不断演化
- 灵活安排功能实现、对变化的业务需求做出反应
- 使用有程序员、客户、测试人员编写的自动化测试来监控开发进度、支持系统演化并尽早发现缺陷
- 通过口头沟通、测试和源代码沟通系统结构和意图
- 演化设计贯穿整个系统生命周期
- 依赖于能力普通但是积极参与的程序员的紧密协作
- 各种实践兼顾项目成员的短期直觉以及项目的长期利益
-
XP目标
- 只做能够为客户真正创造价值的事情,丢弃不必要的包袱;持续学习新知识积累技术。
- 是一种方法论,建立在解决软件开发方法中的约束上;不解决项目投资管理、财务、执行和市场销售等问题
- XP对任何规模都起作用
- XP适合模糊或者快速变化的需求
- 子主题 5
-
XP如何解决风险
- 进度延迟:xp提倡短发布周期,这样任何延迟的范围都被约束到最小,进度的详细反馈、优先实现最高优先级功能。
- 项目取消:XP中最小发布必须满足最大化商业利益部分;这部分由面向商业成员承担
- 系统恶化:XP创建并维护一整套自动化测试,系统发生变化时都要运行以确保质量基线
- 缺陷率:XP中既包含程序员书写的函数测试,又包含客户书写的程序特性测试
- 业务误解: XP提倡业务人员成为团队的一部分,项目规约在开发过程不断演进;客户和团队的知识都反应在软件中
- 业务变更:XP缩短发布周期,因此在单独的周期内没有变化
- 错误特性太多:XP只坚持解决最大优先级的功能
- 人员流动:XP要求成员估算自己工作所需时间,同时将这些工作实际进度反馈给程序员以改善估算的精确性
-
XP是什么
- XP是放弃旧的、低效的技术和习惯;采用新的有效的技术和习惯
- XP是因为你今天竭尽全力而充分欣赏自己
- XP是努力在明天做的更好
- XP是要你按照对团队的贡献来评价自己
- XP是让你的一些人性需求在软件开发中得到满足
- XP范式:保持清醒、适应、变化