Every good story has characters in it. They are our way into the story, our guides. And as such, readers need to engage with them. Therefore, your characters need to be real.
People aren't perfect. Everyone has their flaws and foibles, their obsessions and fears. Characters are no different. They can't be all good, or all bad because in real life, people aren't as back and white as that. We're all a mixture.
In Prayer and Prey, William is the villain of the piece. He's a dull, distracted man who doesn't think twice about beating his farmhands when they displease him. Yet when I introduce him, he's quite charming, and even once we've begun to realize he's a nasty piece of work, he shows glimmers of humanity and moments of kindness. On the other side, Danny, the hero, is introduced as the bad guy, his inherent goodness only showing through as we get to know him.
In this way, I've manipulated the readers' expectations about the characters from the start, letting them know that nothing and no one is exactly what they seem.
For me, all stories start with the characters. They pop up in my head and as I get to know them, I start thinking 'I wonder what would happen if x happened to y'. And that's often the beginning of the story for me, even if x may be an event that happens right in the middle of the book.
As the writer, you need to know everything about the characters, even if most of the information never makes it into the story. By having all that stored in your head (or in a notebook on your desk) your characters will have a life of their own, and will leap from the page as fully formed people. That Alan once wanted to be a chef has no bearing on the events in Assignment 9, but I know that about him, and it adds a layer to his character even though that fact is never referenced in the novel.
What's something about one of your characters only you know?