Character development is arguably the most important part of a novel, tied with plot development. It's so important because of how closely linked the plot is with the character. They have to develop together. Which is why plotting out a novel is so hard. Where do you start? Characters or plot? It usually ends up being a mix of both.
At LTUE, I attended a panel on Character Development. One of the first questions asked was where do you start? The consensus? There's no one way to do it. You need to know about the characters to develop the plot, but as you plan, nothing is set in stone. Characters goes through editing just like the rest of the story. They evolve with the plot.
Characters are defined by their suffering. Their physical and emotional adversities are what create their strengths and weaknesses, their quirks, their passions, and their motivations. Characters need to have flaws (which are their own fault) and handicaps (which are out of their control). The easiest way to find out all these details about your characters are with biographies and character sketches.
I've found a bunch of different types of character sketches(35 questions, 100 questions, 1000 questions). The more in depth ones you fill out, the more real your characters are to the readers. But having fully fleshed characters doesn't necessarily make them realistic and relatable to the reader, because most of what you sketch about your character doesn't actually end up in your story.
Think about your family and friends and what you like about them. It's not their perfections that make them great. It the things they do wrong that make us like them. Their differences make them stand out. Incorporate those little ticks and quirks into your own characters. Everyone makes mistakes. Everyone needs contrast. Otherwise you slip into stereotypes. Things like the bubbly blonde receptionist who is studying to become a doctor, or the drop dead gorgeous brunette who should be a model but is a total klutz. Those add interest to your characters and your stories.
This doesn't only apply to main characters. It applies to all characters. Every character that appears in your story needs to have some impact. Whether they advance the plot or cause conflict with the main character, they need to do something. They all need to break stereotypes. They all need to be fleshed out and realistic. If they don't have a point, then they don't belong in the story. But all characters have to be understood. There has to be a reason for their personality, which is why their suffering defines their personalities. Without suffering, the reader cannot empathize with the characters.
If a character cannot be understood, then something needs to be done. For example, Sherlock Holmes is a character that cannot be understood. He is intelligent and the way he treats people makes readers despise him. So a relatable and understandable character, John Watson, is added to humanize him.
It may seem like a lot of work, but it's worth it. In the end, people remember characters more than plot.