Managing Complex Products and Distributed Teams