敏捷实践的秘密──ThoughtWorks文集II

敏捷实践的秘密──ThoughtWorks文集II

发布于:2010-09-30 03:52
本书的主旨跟09年敏捷中国大会一样,紧扣"实效"二字。在敏捷已经得到越来越多的推广实施之后,我们更希望人们能够清楚的认识到目的和手段的区别,关注于如何使用实践、创造实践来不断解决问题,不断改进。希望这本书能够对您有所帮助。
查看更多
下载此书
用户头像
作者:Thoughtworks

传播知识、推进社区建设,是 ThoughtWorks 企业文化的核心之一。因为我们的目标并不仅仅是通过帮助客户开发最好的软件系统,为他们带来更多的业务价值,而且还要提升软件开发行业的水准。

我们有许多员工或是在各类会议上担任讲师,或是积极参与开源项目建设,或是在博客和杂志上发表文章,分享传播经验。于是便有了 CruiseControl、有了 Selenium,有了《卓有成效的程序员》、《软件开发沉思录》……当然,还有手头这册迷你书。

自 09 年 3 月份起,"ThoughtWorks 实践集锦"这个专题已经在 InfoQ 上连载了十余篇文章,其中包括了团队协作、数据迁移、版本控制、测试、富客户端开发、持续集成等内容。这些文章均以具体的技术 / 管理实践为核心,希冀为读者提供行之有效的指导,在开发过程中充分发挥价值。

覃其慧的文章介绍了,如何让测试人员的工作更有效率,与其他人协作配合。章昱恒以 DBA 的视角,讲述了在数据迁移的工作中,利用敏捷开发常用的测试驱动、持续集成,并引入精益软件的开发技巧,高质量地保障数据迁移的顺利进行,为软件开发打造坚实的数据质量基础。陈金洲以他多个富客户端项目的开发经验为基础,总结了富客户端开发的多项原则与实践。

胡凯和乔梁同是 Cruise 开发团队的一员,他们的文章均来源于在 Cruise 产品中的多年开发经验:乔梁讲述了持续集成实践本身的重构与演进,胡凯的第一篇文章分析了 SVN 的局限性和分布式版本管理工具的种种特性,第二篇提出了一些原则,来帮助团队在不使用 Mock 的前提下,交付具有良好健壮性、可以快速运行的测试。

李光磊的"TDD 实践之实用主义",总结了他在 TDD 之路上披荆斩棘前行时,提炼出来的一个个实践"变种",以解决项目中遇到的一个个难题。纪律和规范是持续集成的基础,如果我们的项目组中存在着不一致的、不可复制的环境,则生产效率始终存在阻碍。李光磊在他的文章"环境无关的环境"中,讲述了如何建立规范,解决环境问题。

在"Tech Lead 的三重人格"一文中,熊节描述了一个优秀的 TechLead 应该承担起哪些职责──技术决策、流程监督、干扰过滤──才能充分发挥其能力,带领团队取得成功。李贝在"自动化测试的分层结构"中,将自动化测试分成测试用例层、逻辑层、待测系统层,分离测试逻辑与测试支撑代码,保证了测试代码的易理解、易维护、健壮。

这本书的主旨跟 09 年敏捷中国大会一样,紧扣"实效"二字。在敏捷已经得到越来越多的推广实施之后,我们更希望人们能够清楚的认识到目的和手段的区别,关注于如何使用实践、创造实践来不断解决问题,不断改进。

希望这本书能够对你有所帮助。

——ThoughtWorks 中国公司总经理 郭晓

免费下载迷你书

如果你喜欢本书,点击这里:[DOWNLOAD]

迷你书目录

前言

目录

我和敏捷团队的五个约定

如何在敏捷开发中做好数据迁移

  • 开发背景
  • 数据迁移开发方法
  • 典型问题

RichClient/RIA 原则与实践(上)

  • 一切皆异步
  • 视图管理

RichClient/RIA 原则与实践(下)

  • 事件管理
  • 线程管理
  • 缓存与本地存储
  • 结尾
  • 感谢
  • 参考

为什么我们要放弃 Subversion

  • 快速可靠
  • 便于协同工作
  • 对小步前进友好
  • 学习曲线低
  • 总结
  • 感谢

"持续集成"也需要重构 -- 持续集成实践在 Cruise 开发过程中的演进

  • 基本持续集成 -- 万里长征第一步
  • 阶段化持续集成 -- 平衡的艺术
  • 过程化持续集成 -- 消除浪费
  • 管道式持续集成 -- 企业级持续集成的解决方案
  • 并发执行 -- 时间就是金钱,资源也是金钱
  • 个人持续集成 -- 最大化利用资源
  • 小结

Mock 不是测试的银弹

环境无关的环境

  • 使用相对路径代替绝对路径
  • 使用配置管理系统 (版本控制系统)
  • 环境变量
  • 缺省值 + 用户自定义属性
  • 参考借鉴

Tech Lead 的三重人格

  • 技术决策者
  • 流程监督人
  • 干扰过滤器
  • 小结

自动化测试的分层结构

  • 摘要
  • 问题
  • 解决办法
  • 例子
  • 这如何能解决问题?
  • 常见问题解答

(番外篇)TDD 实践之实用主义

  • 为沟通选择语言
  • 用大量测试来驱动
  • 一个环境,多个断言
  • 小结

评论

发布
暂无评论