《ThoughtWorks实践集锦(第二册)- 实效敏捷》

ThoughtWorks中国区技术实践文集,2010年出版。收录了InfoQ上连载的敏捷开发实践文章,涵盖测试、数据迁移、持续集成、版本控制、Tech Lead角色等主题。

核心观点

本书紧扣”实效”二字,强调在敏捷得到推广之后,更重要的是关注如何使用实践、创造实践来不断解决问题,区分目的与手段,避免形式主义。

全书结构(10篇文章)

章节标题作者核心主题
1我和敏捷团队的五个约定覃其慧测试人员如何与BA/Dev/PM协作
2如何在敏捷开发中做好数据迁移章昱恒数据迁移的TDD+CI+精益方法
3-4RichClient/RIA原则与实践陈金洲富客户端开发的异步/视图/事件/线程管理
5为什么我们要放弃Subversion胡凯SVN局限性与分布式版本管理优势
6”持续集成”也需要重构乔梁CI的演进:阶段化→过程化→管道式
7Mock不是测试的银弹胡凯不使用Mock的健壮测试实践
8环境无关的环境李光磊解决环境一致性的规范方法
9Tech 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的三重人格(熊节)

  • 技术决策者: 技术选型、架构决策
  • 流程监督人: 确保团队遵循最佳实践
  • 干扰过滤器: 保护团队免受外部干扰

可行动点

  1. 测试人员应尽早参与需求会议,预防缺陷
  2. 数据迁移应使用TDD+CI保障质量
  3. 考虑从SVN迁移到Git等分布式版本管理
  4. CI需要持续重构,平衡速度与反馈
  5. Tech Lead应扮演好三重角色

关联知识

处理笔记

  • 处理方法:pdf-inspector文本提取
  • 处理日期:2026-09-01
  • 文件状态:文字版PDF,286字符,可直接提取