I found this nice documentation written by. Robert L. Read, a good article to find the answer of the question above.
Just like he said, " To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is dealing with one's coworkers and customers. Writing computer programs is important and takes great intelligence and skill. "
It's a good catch for you, because Robert explained the whole important things what we should do to deal with this our area of expertise.
Read on Robert "how-to" here....