《ThoughtWorks实践集锦(第二册)- 实效敏捷》
ThoughtWorks中国区技术实践文集,2010年出版。收录了InfoQ上连载的敏捷开发实践文章,涵盖测试、数据迁移、持续集成、版本控制、Tech Lead角色等主题。
核心观点
本书紧扣”实效”二字,强调在敏捷得到推广之后,更重要的是关注如何使用实践、创造实践来不断解决问题,区分目的与手段,避免形式主义。
全书结构(10篇文章)
| 章节 | 标题 | 作者 | 核心主题 |
|---|---|---|---|
| 1 | 我和敏捷团队的五个约定 | 覃其慧 | 测试人员如何与BA/Dev/PM协作 |
| 2 | 如何在敏捷开发中做好数据迁移 | 章昱恒 | 数据迁移的TDD+CI+精益方法 |
| 3-4 | RichClient/RIA原则与实践 | 陈金洲 | 富客户端开发的异步/视图/事件/线程管理 |
| 5 | 为什么我们要放弃Subversion | 胡凯 | SVN局限性与分布式版本管理优势 |
| 6 | ”持续集成”也需要重构 | 乔梁 | CI的演进:阶段化→过程化→管道式 |
| 7 | Mock不是测试的银弹 | 胡凯 | 不使用Mock的健壮测试实践 |
| 8 | 环境无关的环境 | 李光磊 | 解决环境一致性的规范方法 |
| 9 | Tech Lead的三重人格 | 熊节 | 技术决策者+流程监督人+干扰过滤器 |
| 10 | 自动化测试的分层结构 | 李贝 | 用例层/逻辑层/待测系统层分离 |
| 番外 | TDD实践之实用主义 | 李光磊 | 测试驱动的开发技巧与变体 |
关键概念与洞察
1. 测试人员的五个约定(覃其慧)
- 约定1: BA们请叫上测试人员参加客户需求会议——预防胜于治疗
- 约定2: Dev们请听听测试人员的意见——测试人员了解缺陷高频区域
- 约定3: PM们请不要要求测试所有路径——了解价值,合理分配时间
- 约定4: 迭代经理如有交付风险疑问,请询问测试人员——探索性测试发现未定义行为
- 约定5: 测试人员也要用敏捷实践——结对、INVEST原则、design for testability
2. 数据迁移的敏捷方法(章昱恒)
- 使用TDD保障迁移逻辑正确性
- 持续集成自动化验证
- 精益思想减少浪费
- 关键:数据质量是软件质量的基础
3. RichClient/RIA开发原则(陈金洲)
- 一切皆异步: UI不阻塞,提升用户体验
- 视图管理: 关注点分离,便于维护
- 事件管理: 解耦组件通信
- 线程管理: 正确处理并发
- 缓存与本地存储: 提升性能
4. 为什么放弃Subversion(胡凯)
- SVN的局限性:集中式、锁机制、分支成本高
- 分布式版本管理的优势:
- 快速可靠(本地操作)
- 便于协同工作
- 对小步前进友好
- 学习曲线低
5. 持续集成的重构(乔梁)
- 阶段化CI: 平衡速度与反馈
- 过程化CI: 消除浪费
- 管道式CI: 企业级解决方案
- 并发执行: 时间就是金钱
- 个人CI: 最大化利用资源
6. Mock不是银弹(胡凯)
- Mock的滥用会导致测试脆弱
- 推荐使用真实依赖 + 测试替身
- 关注可测试性设计(design for testability)
7. Tech Lead的三重人格(熊节)
- 技术决策者: 技术选型、架构决策
- 流程监督人: 确保团队遵循最佳实践
- 干扰过滤器: 保护团队免受外部干扰
可行动点
- 测试人员应尽早参与需求会议,预防缺陷
- 数据迁移应使用TDD+CI保障质量
- 考虑从SVN迁移到Git等分布式版本管理
- CI需要持续重构,平衡速度与反馈
- Tech Lead应扮演好三重角色
关联知识
处理笔记
- 处理方法:pdf-inspector文本提取
- 处理日期:2026-09-01
- 文件状态:文字版PDF,286字符,可直接提取