Patterns and practices for remote teams to collaborate on projects