The promise of virtual teams: identifying key factors in effectiveness and failure