InfoQ

新闻

工具和敏捷软件开发之间的关系

作者 Vikas Hazrati 译者 郑柯 发布于 2008年7月25日 上午12时28分

社区
Agile
主题
工件和工具

Kent Beck最近发表了一篇文章,其中谈到了他对于工具和敏捷软件开发之间关系的一些想法。他认为:很多人都错误诠释了“个人与交互重于流程和工具”这条敏捷原则,他们以为敏捷软件开发不需要工具。工具其实是敏捷软件开发必需的部分,对于有效的开发来说,正确的工具集合可以起到催化剂的作用。

Kent认为,敏捷很注重“流”(flow),也就是说要进行小块的软件交付,并因此而带来各个活动之间的频繁切换。一般来说,在分析、设计、测试、编码和发布之间都会进行快速切换。而工具的作用,也从充分发挥某个活动的作用,变成了在活动之间的切换。他给出了使用墙上的卡片作为工具的例子,认为这满足了活动切换的条件,即使有所不足。当结对编程的人员在某项活动中发现新的需求时,他们可以更新卡片,再回到之前的活动中。因此卡片有助于快速切换,但是它们的弱点在于只能暂时使用,而且无法在多个站点之间共享。

Kent指出,透明在敏捷中也很重要。因为敏捷拥抱变化,项目规划发生变更就是很常见的事情。透明可以保证团队中的每个人都能知道变化的发生,并产生彼此之间的信任。工具应该支持并鼓励透明。

Kent补充道,常用的敏捷实践之间的关系很密切,胜过单独的工具。比如,每日部署实践需要单元测试、配置管理和持续构建的支持。TDD实践也需要单元测试工具和重构工具的配合。从另一个角度来看,每个工具也支持多种实践。例如,配置管理工具可以支持每日部署、增量式设计和持续集成。因此每个工具支持多个实践,而且每个实践需要多种工具支持。

他指出:敏捷已经对开发人员使用的工具产生了深远的影响。对于未来工具可能的变化,他的预测是:

  • 在活动之间更平滑的切换
  • 在更大的范围支持自动化测试
  • 增强透明度
  • 实时协作

这篇文章可以下载多种格式。对文章的讨论也在极限编程讨论组中进行。

查看英文原文:Relationship Between Tools and Agile Software Development

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。