假如你没有采用灵敏的方式,那你就落后了。这是最近SD Best PRactices 2004会议上的标语。灵敏的方法就象XP和Scrum正在世界的软件发展中,变得越来越普遍了。灵敏是一个巨大的改变,让软件开发者把重心转移到质量和速度上。这对已经被比喻成面向对象设计的软件开发有很大的影响。但是,这种影响的一些方面已经放慢了:GUI的开发,自从大多数软件包含了一些类型的GUI,而且比较多的软件开发的百分比是去完成以GUI为中心的,应用灵敏的优势去开发GUI就是要害问题了。
什么在阻止人们用灵敏的方法来开发GUI呢?不论他们的应用是基于web的或是桌面应用,大多数开发者不做用户界面user interface的测试驱动开发test-driven development (TDD)。这都因为一个简单的原因:单元测试GUI是很困难的。测试GUI是很乏味沉闷而且轻易出错的,包含了模拟用户事件的复杂代码,在事件传播和控制重绘的时候等待,然后在他显示给用户之前,尝试着检测状态。灵敏依靠于测试驱动开发,但是为GUI的特定行为来写有效的测试代码是困难的。在cube farm(办公农庄,用隔断间隔成很多小工作间的办公室? 商务英语)的GUI方面上,质量和设计从灵敏方法中受益已经被完全熟悉到。