InfoQ

新闻

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

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

社区
Agile
主题
工件和工具

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

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

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

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

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

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

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

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

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!