First the good: I heartily recommend Writing Dialogue by Tom Chiarella. Once you've got your dialog written and you're trying to tighten it up, go for Self Editing for Fiction Writers by Browne and (not Stephen) King. Browne and King cover a lot more than dialog, by the way.
Now the bad: many people suggest that you write dialog that sounds exactly like real conversation. That is so wrong.
"Hi," A said, "how you doing?"
"Fine. You?" said B.
"Okay. Um... I had a cold last week, you know."
"Oh yeah. I heard."
"Better now."
"That's good."
"I hate having a cold."
"The flu is worse."
"Ain't that the truth."
"Uh huh."
The problem is that real conversation has too much filler, and entirely too much of the remainder is inconsequential. Fictional dialog should be just like the rest of your fiction: just like life, but without the boring bits. [Alfred Hitchcock said the "boring bits" thing about drama. Smart guy.] If you take that into account and adjust your dialog just as you adjust everything else in your writing, you'll be okay after all.
Here is some transcribed real-life dialog. Picture two teenage male video game players...
A: "No -- if you hit it smack in the corner you get x2."
B: (thumbs flying) "They call this section workout for a reason."
-- pause in speaking, thumbs still a blur --
B: "We're working on score so we can do survival?"
A: "Yeah."
B: (half to himself) "Grab many bunnies."
A: "Yeah. Grab 'em and hold onto 'em."
B: "You can't get hit at all! Oops." (all thumb action stops)
A: "That was intense."
B: "That was crazy."
(picking up a bit later, during continued game play)
B: "So I just?"Or three engineers:
A: "Yeah, put it in there."
B: "Oh. Okay. But the light's still..."
A: "It'll stop in a minute."
A: (to B) "I want to know if you think it's okay to send it."The first thing to notice is that there's some filler here. Not as much as in many conversation -- these are all fairly high-pressure situations. You'd still want to strip these things down to their essentials.
B: "Well..."
A: "The writes or reads have problems --"
C: "But they don't use the same thing we do to get stuff in and out."
B: "No. That's right. So we can give it to them."
C: "There's still the, um, the [piece of software] has to be updated."
A: "That's in there."
B: "Good."
A: "What about the doc?"
C: (to B) "Is there a copy of that other than on your machine?"
B: "It's in the, um..."
A: "Transfer site?"
B: "Yeah, the transfer site. But I was making changes. Not done. Just got started."
The second thing is that people don't speak in complete sentences, and often don't get to finish their thoughts. This can be distracting to the reader at times, but at other times it's essential to make the dialog seem real. You probably don't want every conversation to be littered with unfinished thoughts, unanswered questions, etc, but when the characters are in a pressure-cooker atmosphere, a sprinkling of tangents and lost threads can be just what the doctor ordered.
Third is average and maximum sentence length. The sentences are short. Often single words. Some of those would be replaced by beats, nodded heads, shrugged shoulders, making the spoken lines even shorter. Even the long sentences aren't very long -- no one is "holding forth." A good rule of thumb (I think it's in the Dialogue book) is that you shouldn't ever have someone string so many words together that they'd have to take a breath before they finished. Unless your character is a long-winded sort of person, you should just keep things moving by keeping their dialog short and clipped.
Lastly, context is vital. Real people in real conversations don't usually explain what they're talking about because everyone involved already knows. Fictional dialog becomes stilted very quickly when explanations or observations are offered to participants in violation of conversational norms. It's one of those "you'll know it when you see it" things. If your characters have arrived at the conversation naturally, there'll be no need for explanation to suit either the characters or the reader. Sometimes you can have characters engage in conversation with mismatched contexts (people talking at cross-purposes), but you have to make sure that the reader understands what each of the characters thinks they're talking about -- otherwise you're only confusing the reader.
Have you ever studied actual conversations for clues as to how people communicate? What changes do you make so your dialog works on the page?