I am a huge proponent of User Interface driven development and I highly recommend using this technique when collaborating with your distributed team. UI mockups are an excellent way to convey functionality, user intent and organizational layout all at once. Arrows and textual markup assist in displaying how the application should react with respect to a user prompted event. Where textual description or other forms of communication may get lost in translation, this approach can easily transcend cultural boundaries and lead to a unified understanding of the task at hand.
There are however a couple of assumptions made here. First, your team should already employ agile methods. Agile methods focus on a high level of communication and assume elevated decision making power is bestowed upon the dev team. Detailed documentation is replaced by code with team members making design related decisions during the development phase rather than referencing elaborate, pre-established design specifications. Another assumption (or perhaps more of a recommendation) is that your team is working with an established framework. This will help control extraneous code by implementing a design pattern and enforcing a general structure.
If you don’t already practice these recommendations, that may be a better place to start. Once you and your team are comfortable, try supplementing UI mockups alongside user stories. A single mockup may cover 2 or more stories. Don’t spend too much time on the details, just convey the general idea. Hopefully this will be a recommendation your team can really benefit from.
