本文分类:
软件理论与软件工程

敏捷软件开发宣言

我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:

    个体和交互   胜过  过程和工具
    可以工作的软件 胜过  面面俱到的文档
    客户合作    胜过  合同谈判
    响应变化    胜过  遵循计划

虽然右项也具有价值,但我们认为左项具有更大的价值。

敏捷宣言遵循的原则

极限编程实践

  1. 完整团队

    XP 项目的所有参与者(开发人员、业务分析师、测试人员等等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。

  2. 计划游戏

    计划是持续的、循序渐进的。每 2周,开发人员就为下 2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。

  3. 客户测试

    作为选择每个所期望的特性的一部分,客户定义出自动验收测试来表明该特性可以工作。

  4. 简单设计

    团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想表达的所有东西,并且包含尽可能少的代码。

  5. 结对编程

    所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。

  6. 测试驱动开发

    程序员以非常短的循环周期工作,他们先增加一个失败的测试,然后使之通过。

  7. 改进设计

    随时改进糟糕的代码。保持代码尽可能的干净、具有表达力。

  8. 持续集成

    团队总是使系统完整地被集成。

  9. 集体代码所有权

    任何结对的程序员都可以在任何时候改进任何代码。

  10. 编码标准

    系统中所有的代码看起来就好像是被单独一个——非常值得胜任的——人编写的。

  11. 隐喻

    团队提出一个程序工作原理的公共景像。

  12. 可持续的速度

    团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作。他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。

本文来自 [时光记 - 王智超的个人空间](www.hiwzc.com),转载请注明出处。