跳转至

1 有些事情不对劲

瀑布模型促进了难以维护的软件的产生

2 逃出混乱

三个导致低成功率核心因素:

  • 代码变更
  • bug 修复
  • 复杂度控制o

3 聪明人,新想法

用敏捷替代传统的瀑布开发

4 9个实践

黄金法则:对待别人就像你希望别人对待你一样。

若要成为一个实践,必须

  • 在多数情况下产生价值
  • 容易学习并且传授
  • 简单易行

9个实践:(构建可验证的代码行为)

  • 在问如何做之前先问做什么,为什么做,给谁做
  • 小批次构建
  • 持续集成
  • 协作
  • 编写整洁代码
  • 测试先行
  • 用测试描述行为
  • 最后实现设计
  • 重构遗留代码

5 实践1:在问如何做之前先问做什么,为什么做,给谁做

客户和客户服务经理都不应该指挥开发者如何做某件事。 我们希望业务规则自然而然地被我们软件模型中的对象所表现出来,成为问题域。

需求文档的替代品是什么? 故事是包含如下内容的一句话;

  • 某个东西是什么
  • 为什么会有某个东西
  • 这个东西给谁做的

把验收标准自动化:

  • 功能是做什么的
  • 功能什么时候工作
  • 什么时候可以继续前进

产品负责人的7个策略:

  • 成为特定领域专家。对产品做什么有深刻理解,构建产品之前通过实例帮助理解
  • 在开发过程中探索。探索更好的解决方案
  • 帮助开发者理解为什么和为了谁
  • 描述你想要什么?而不是怎么做
  • 及时回答问题
  • 消除依赖。订好优先级,保证所有依赖都有足够的预留时间
  • 支持重构

编写更好的用户故事7个策略:

  • 把它当做一个占位符(用户故事无法取代需求文档)
  • 关注什么:用户故事关注一个功能做什么,而不是如何做?
  • 把『谁』人格化
  • 知道为什么会有一个功能需求
  • 开始时简单,日后加强。增量式设计和开发,重构和演进式设计
  • 注意边界情况。快乐路径,次要路径,异常路径,错误路径
  • 使用验收标准。通过一组验收测试来描述,帮助开发者原理过度开发