Towards Understanding Collaborative Software Development