There is a two part article on the GWT docs homepage talking about large scale application development and GWT:
Building any large scale application has its hurdles, and GWT apps are no exception. Multiple developers working simultaneously on the same code base, while maintaining legacy features and functionality, can quickly turn into messy code. To help sort things out we introduce design patterns to create compartmentalized areas of responsibility within our project.
Model view presenter, AppController, binding presenters and views, EventBus, history, testing
Complex UIs, optimized UIs, and code splitting.