Communication Risks and Best practices in Global Software Development