It seems that besides skills in technology the level of cooperation in teams is a strong predictor of the project's success.
Many delivery issues could be avoided if the communication between team members was better.
I would like to share some hints and observations on the patterns and anti-patters of working together in developing software.