什么是良好的敏捷开发?
测量软件的开发策略
测量产生价值的时间
测量编码时间
测量缺陷密度
测量发现缺陷的时间
测量功能的客户价值
测量未交付功能的损失
测量反馈回路的效率
把复合的故事拆分为组件
把复杂的故事分割为已知的和未知的
对未知持续迭代直至完全理解
根据验收标准分割故事
最小化依赖
保持目的单一
保持故事可测试性
构建敏捷的七个策略
使用代码版本库管理一切
一次点击全部构建
持续集成
为任务定义验收标准
编写可测试的代码
保证必要的测试覆盖率
即时修复失败的构建
消除风险的几个策略
持续集成
避免分支
在自动化测试上下功夫
识别风险区域
征服未知,时间盒子和及时checkin
构建可以体现价值的最小部分
频繁验证
结对编程的七个策略
尝试一下你会喜欢的
驾驶员和领航员都要参与其中
频繁交换角色
充实工作一天
尝试各种配置
让团队决定细节
跟踪进度,数字比文字更有说服力
高效回顾会议的七个策略
寻找小的改进
责怪流程,而不是人
五个为什么?
解决根源问题
倾听每个人的声音
给予支持
度量进度
编写整洁的代码
内部收敛
松散耦合,保持对象之间的有意义,而且整洁
优质封装,由外而内编程从用户的角度出发设计
自主,对象要为自己的状态负责
没有多余,不要重复的代码
七个策略
明确代码质量的定义
对基本的实践达成一致
放弃完美主义
理解取舍
用什么来隐藏怎么?
良好的命名
保持代码的可测试性
编写可维护代码的七个策略
确立代码的集体所有权
积极重构
坚持结对编程
频繁的代码审查
学习其他开发者的风格
不断的学习软件开发
读代码写代码,练习编码
进行优质测试验收的七个策略
明确构建目标所产出的价值
理解为谁而作,以及他们为什么需要?
将验收测试自动化
定义边界用力异常,次要路径
用实力来充实细节和展示不一致
用验收标准来拆分行为
保持每一个测试的唯一性
进行优秀的单元测试的七个策略
从调用者的角度出发
用测试定义行为
仅仅编写能体现区别的测试
仅仅编写可以让测试通过的代码?
用测试来构建行为
对代码进行重构
对测试进行重构
使用测试准备标准的七个策略
将测试仪表化
使用见闻知著的helper方法
突出重点
测试行为而不是实现
用模拟对象测试工作流
避免过度描述
利用真实的例子
修复bug的七个策略
一开始就避免写Bug
尽早发现bug
通过设计让bug更容易找到
问对问题
把bug当做失败的测试
利用发现的缺陷,修整流程
从错误中学习
持续性开发的策略
删除死亡的代码
保持名称更新
集中决策
抽象
对内进行组织
进行演化式设计的七个策略
理解面向对象设计
理解设计模式
理解测试驱动开发
理解重构
关注代码质量
要冷酷无情
培养优秀的开发习惯
清理代码的七个策略
让代码自我表达
为添加测试创造间隙
让方法更内聚
让类更內聚
集中决策
引入多态
对,已有代码添加测试
通过通过糟糕代码来培养良好习惯
推迟那些不可避免的
进行图钉测试
依赖注入
系统扼杀
抽象分支,使用开关来隐藏正在开发的功能
已支持修改为目的重构
已开闭为原则的目的重构
对扩展开放而对修改关闭
祝你正确重构代码的七个策略
从已有代码中学习
循序渐进
在遗留代码中添加测试
始终进行重构
有更好的理解,后对一个实现进行重新设计
继续其他的工作前进行清理
重构以避免误入歧途
决定何时重构的七个策略
当关键代码维护不善的时候
当唯一理解代码的人没空的时候
当有信息可以揭示更好的设计的时候
当修复bug的时候
当需要添加新功能的时候
当需要为遗留代码写文档的时候
当重构比重写容易的时候