Effective communication is a vital contributor to the success of software development teams. Capable teams meet this challenge by finding the right balance between informal and formal communication, even when they are distributed across multiple locations. While they encourage informal communication, successful teams also establish specific paths for formal communication. This process begins by identifying the specific roles in the team and then by setting the appropriate paths between these roles for formal communication. In this paper we describe the general case for roles and communication paths and then provide examples for putting these paths into practice for large and small teams.
Synchronization between mobile devices and their server is one of the major obstacles to a successful mobile application. Anyone who develops a mobile application must have a good working knowledge of data synchronization and the SyncML protocol. SyncML is an XML-based protocol for exchanging synchronization data between a client and a server. It can be used for synchronizing contact and calendar information, and for other purposes like project task information. This document addresses the synchronization issues that developers must consider. It explains both the minimum required set of features needed and also the additional features necessary to create a world-class synchronization client.