1 有些事情不对劲¶
瀑布模型促进了难以维护的软件的产生
2 逃出混乱¶
三个导致低成功率核心因素:
- 代码变更
- bug 修复
- 复杂度控制o
3 聪明人,新想法¶
用敏捷替代传统的瀑布开发
4 9个实践¶
黄金法则:对待别人就像你希望别人对待你一样。
若要成为一个实践,必须
- 在多数情况下产生价值
- 容易学习并且传授
- 简单易行
9个实践:(构建可验证的代码行为)
- 在问如何做之前先问做什么,为什么做,给谁做
- 小批次构建
- 持续集成
- 协作
- 编写整洁代码
- 测试先行
- 用测试描述行为
- 最后实现设计
- 重构遗留代码
5 实践1:在问如何做之前先问做什么,为什么做,给谁做¶
客户和客户服务经理都不应该指挥开发者如何做某件事。 我们希望业务规则自然而然地被我们软件模型中的对象所表现出来,成为问题域。
需求文档的替代品是什么? 故事是包含如下内容的一句话;
- 某个东西是什么
- 为什么会有某个东西
- 这个东西给谁做的
把验收标准自动化:
- 功能是做什么的
- 功能什么时候工作
- 什么时候可以继续前进
产品负责人的7个策略:
- 成为特定领域专家。对产品做什么有深刻理解,构建产品之前通过实例帮助理解
- 在开发过程中探索。探索更好的解决方案
- 帮助开发者理解为什么和为了谁
- 描述你想要什么?而不是怎么做
- 及时回答问题
- 消除依赖。订好优先级,保证所有依赖都有足够的预留时间
- 支持重构
编写更好的用户故事7个策略:
- 把它当做一个占位符(用户故事无法取代需求文档)
- 关注什么:用户故事关注一个功能做什么,而不是如何做?
- 把『谁』人格化
- 知道为什么会有一个功能需求
- 开始时简单,日后加强。增量式设计和开发,重构和演进式设计
- 注意边界情况。快乐路径,次要路径,异常路径,错误路径
- 使用验收标准。通过一组验收测试来描述,帮助开发者原理过度开发