Facilitating Coordination between Software Developers: A Study and Techniques for Timely and Efficient Recommendations