BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

专题预告——璀璨星光:ThoughtWorks实践集锦

| 作者 李剑 关注 1 他的粉丝 发布于 2009年3月2日. 估计阅读时间: 6 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

近日,InfoQ中文站策划了一期专题,名为“璀璨星光:ThoughtWorks实践集锦”。我们邀请到了ThoughtWorks的数位咨询师,他们将在这个专题中,为读者献上他们的实践经验总结。

顾名思义,这个专题不以理论探讨为主——这年头空口谈敏捷大家已经也见得太多了,还是拿些真刀实货的东西出来实在。正如胡适先生所说,“多谈些问题,少谈些主义”。所以就有了以下选题:

  • 我和敏捷团队的五个约定——覃其慧
作为测试人员,在敏捷项目中往往是一个孤单的角色,在一般规模的项目中,一般独自一人工作,很少与其他人交互。然而,如何让测试人员的工作更有效率,与其他人配合更好,其他角色可能没有如此深刻的体会。本文的作者是敏捷项目中的QA,请看她与敏捷团队的五个约定。
  • 如何在敏捷开发中做好数据迁移——章昱恒
数据迁移是件看似简单,但做起来让人烦恼的工作。盲目实施会导致脏数据,数据丢失,业务逻辑混乱,破坏数据建模等很多问题。在现代企业级系统应用中,数据 迁移的需求比比皆是。利用敏捷开发常用的测试驱动、持续集成,并引入精益软件的开发技巧,能够高质量的保障数据迁移的顺利进行,为高质量的软件开发打造坚 实的数据质量基础。
  • RichClient/RIA原则与实践(上)(下)——陈金洲
Web 领域的经验在过去十多年的不断的使用和锤炼中,整个开发领域的技术、理念、缺陷已经趋于成熟,它丰富的积累使得开发者逐渐将更多的精力投入到应用本身。但 是,目前仍然没有比较深入的实践性文章来介绍企业环境下RichClient开发,而只是偏向于小规模特性介绍,但在大规模的企业应用中,这些小的技巧对 于架构决策往往帮助很小。作者在加入ThoughtWorks之后,参加了多个不同的RichClient项目的开发工作,使用/尝试过的语言包括 Java Swing、Flex/Adobe Air、.NET WinForm/.NET WPF,对于不同平台之间的种种有些体会。在本文中,作者将这些实践和原则进行了总结。
  • 为什么我们要抛弃Subversion——胡凯
Subversion有哪些局限性?使用分布式版本管理工具对团队又意味着什么?在本文中,作者分析了使用Subversion在他所在团队产生的若干问题,以及迁移到分布式版本管理工具Mercurial后,如何利用分布式版本管理工具的特性来解决这些问题。
  • “持续集成”也需要重构——乔梁
持 续集成是极限编程十二实践之一,最初被使用极限编程方法的开发人员所推捧,并在过去的几年中得到广泛应用,成为业界广为人知的软件开发实践。该实践用于解 决软件开发过程中一个具体且重要的问题,即“确保当某个开发人员完成新的功能或修改代码后,整个软件仍旧能正常工作。” 然而,持续集成并非像大多数人想像的那样,首次部署好持续集成环境后就大功告成,一劳永逸了。恰恰相反,它与你项目中的其它产品代码一样,需要改进与重 构,否则,就会使你进入一种“持续闹心”的状态,甚至可能让你觉得这件事根本不应该做,如何解决这一问题呢?对“持续集成”应用 “Retrospective”和“重构”。本文将结合Cruise团队的实际开发历程,讲述持续集成在软件项目中的演进。
  • 在遗留系统和传统组织架构下应用敏捷——路宁
遗留系统、传统组织架构、较大的交付压力,这些是很多公司面临的现状,在此背景下应用敏捷也有其独特的意义和挑战。作者以一个真实的敏捷启动(Agile Enablement)项目为基础,回顾了项目实施过程,总结了一些在上述背景下实施敏捷的要点和启示。
  • 慎用“Mock”——胡凯
mock 技术是创造完全受控的被模仿对象最小实现的一种技术。在测试中,mock技术被广泛用于模仿被测代码的外部依赖,以减小它们对于被测方法的影响。由于软件 开发团队对于单元测试的迫切需求以及mock技术所提供的完美解决方案,各种mock框架于是如雨后春笋一般发展起来。但是mock本身也具有种种问题, 如“行为依赖风险”、“mock对象设置过程过于繁重”、“Mock Object 的set up过程通常难以阅读”等等。滥用mock,不仅起不到测试的作用,反而可能成为开发工作的桎梏。但mock框架的流行以致mock测试的滥用某种程度上 体现了开发团队逐渐认识到了测试的重要性,在进行测试的过程中碰到了困难,不断的尝试使用各种方法来解决问题。
  • Agile项目的QuickStart——熊子川
敏 捷项目由QuickStart开始,顾名思义,和传统软件开发项目不同,敏捷项目的开始需要快速。所有QuickStart的方法都基于敏捷的基本精神, 因此也可以把QuickStart当作一个小型的敏捷项目,只是交付物是足以启动整个敏捷项目的所有准备,包括第一个交付期的迭代计划,足够的主故事列 表,以及足够的原型设计。作为一个标准敏捷项目QuickStart的参与者,作者将在本文中介绍QS是如何准备,进行和结束的。
  • 自动化测试不仅仅是自动的测试——徐昊
  • 哪个家伙没写测试?——韩锴
  • 实践中的重构——李彦辉
  • ……

上面这些文章会以每周两篇左右的频率在InfoQ中文站上发布,敬请期待。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

比较关注《如何在敏捷开发中做好数据迁移》 by 张 晓庆

对遗留系统集成时,往往会有数据整合的问题。虽然客户一再保证数据没有问题,但是脏数据随处可见,并且远超你的想像。希望此文能够提出一些好的建议。

这系列文章值得期待 by tang lg

这系列文章值得期待,李剑辛苦了!

Re: 这系列文章值得期待 by Jacky Li

不辛苦,大家觉得有帮助就好:)

ThoughtWorks是个好地方 by Jeffrey Zhao

好地方呀好地方

Re: ThoughtWorks是个好地方 by 张 晓庆

牛人,欢迎来啊

期待 by Chen Nikos

接下去,有一段时间,可以让我有每天开infoq的必要了

关注 by chen index

实践是检验真理的唯一标准,软件开发要从实践出发

关注 by * nolearning

。。。。。

等待 by Yao Scott

...

我想知道如何对测试数据作版本控制 by Jeffrey Zhao

主要指数据库中的测试数据。关于数据库的脚本,Rails Migrate这种解决方案很容易维护,但是对于数据库中的数据呢?有什么办法也可以进行branch/merge等版本控制操作呢?要知道,它们可能会很大,几十兆上百兆是至少的。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

10 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT