美文网首页TDD
极限编程提出了哪些实践?

极限编程提出了哪些实践?

作者: 袁慎建 | 来源:发表于2020-06-09 20:29 被阅读0次

在极限编程领域,不得不提的人当属Kent Beck,最早的一本关于极限编程的书就出自他手,该书后来被誉为极限白皮书 -- 解析极限编程 : 拥抱变化(英文原版于1999年问世)。

极限编程白皮书

在1999发布的极限编程白皮书中,Kent Beck提出了12项实践:

  1. Planning Game(计划游戏)
  2. Small Releases(小版本)
  3. Metaphor(隐喻)
  4. Simple Design(简单设计)
  5. Testing(测试)[自动化测试,测试驱动开发]
  • Programmer Unit Test(程序员的单元测试)
  • Customer Acceptance Test(客户的验收测试)
  1. Design Improvement(设计改进 | 重构)
  2. Pair programming(结对编程)
  3. Collective Code Ownership(集体所有权)
  4. Continuous Integration(持续集成)
  5. 40 Hours week(每周工作40小时)
  6. On Site Customer(现场客户)
  7. Code Standard(编码标准)

极限编程白皮书第二版

Kent Beck在解析极限编程 : 拥抱变化第二版(英文版于2004年问世),在原来的基础上做了一些修改和扩展,并给出13项基本实践:

  • 坐在一起
  • 全功能/完整团队
  • 信息工作空间
  • 充满活力的工作
  • 结对编程
  • 故事
  • 周循环
  • 季度循环
  • 松弛
  • 十分钟构建
  • 持续集成
  • 测试优先变成
  • 增量设计

而把一些实践定义在扩展实践上,包含不限于:

  • 真实客户参与
  • 共享代码

Ron Jefferies Model

Ron Jefferies是极限编程的三位创始人之一,另外还有一个是Ward Cunningham(Wiki的发明人)。

Ron Jefferies 2011年5月16日在其博客描述了一个模型来概括极限编程的实践,

图片来自:https://ronjeffries.com/xprog/book/whatisxp/

在这个模型中,他将13项实践划分在三个圈中:

  1. 内圈:开发人员视角
    • Test-Driven Development(测试驱动开发)
    • Refactoring(重构)
    • Pair Programming(结对编程)
    • Simple Design(简单设计)
  2. 中圈:团队整体视角
    • Continuous Integration(持续集成)
    • Metaphor(隐喻)
    • Code Standard(编码标准)
    • Collective Code Ownership(集体所有权)
    • Sustainable Pace(可持续的步伐)
  3. 外圈:交付管理视角
    • Customer Test(客户测试)
    • Planning Game(计划游戏)
    • Whole Team(全功能/完整团队)
    • Small Releases(小版本)

两个不同出处的实践相差不多,Ron Jefferies的模型中增加了Customer Test其实是跟XP白皮书的Test中的Customer Acceptance是一个东西。而Sustainable Pace跟每周工作40小时表达一个意思。不同的是Ron Jefferies的模型中增加了一个Whole Team(全功能团队),这个是在白皮书没有具体提到的。

现在Ron Jefferies的这个模型在业界中较广的。

待续

相关文章

  • 极限编程提出了哪些实践?

    在极限编程领域,不得不提的人当属Kent Beck,最早的一本关于极限编程的书就出自他手,该书后来被誉为极限白皮书...

  • 结对编程

    TW出品的极限编程实践-结对编程 https://martinfowler.com/articles/on-pai...

  • 禅道的使用

    一、Scrum和极限编程 Scrum偏重宏观管理。明确界定了什么角色在什么阶段要做什么事情。 极限编程偏重工程实践...

  • Scrumxp

    为了确保团队在代码和组件方面的内建质量,SAFe指出了5种来自于极限编程(XP)中的工程和质量实践,用以扩充Scr...

  • 极限编程

    极限编程(XP)是另一种流行的产品开发方法,主要应用于软件领域,他推动软件开发的实践走向极致。 极限编程的重点是客...

  • ACP敏捷方法概述

    敏捷开发 - XP极限编程 极限编程(eXtreme Programming)。 “Extreme”(极限)是指,...

  • 2018-01-27

    持续集成与极限编程 极限编程。“持续集成(Continue Integration)”一词来源于极限编程(Extr...

  • 【极限编程】12条实践原则

    1. 计划的制定 制定计划的目的是确定本次迭代的范围。 本步骤的重心应该放在决定什么是对客户来说最重要的任务和如何...

  • ACP-敏捷方法的实现

    常用的敏捷实践包含:精益、看板、Scrum、XP极限编程、水晶、DSDM动态系统开发、FDD功能驱动开发、AUP敏...

  • XP与Scrum的一些整理 - 敏捷开发思路

    XP的极限编程(eXtreme Programming) XP由价值观、原则、实践和行为四个部分组成,它们彼此相互...

网友评论

    本文标题:极限编程提出了哪些实践?

    本文链接:https://www.haomeiwen.com/subject/vgpetktx.html