I was listening to Encounter Party! (a podcast...an actual play that works very hard on editing it down to less than an hour) and it was close enough to fiction that I was thinking about the differences between roleplaying and fiction, and something came to mind that might be useful for writers and GMs.
That is, they have lives of their own. They're presumably doing something at the point when your PCs or protagonists interact with them. What? It doesn't have to be something big or obstructionist; a character might be there to help (an Uber driver, a doorman) but it's still the beginning of a shift to be dreaded or the middle of a weird day, or the end of a long one.
And other characters were actually doing something else. That guy at the beer store has a list as long as your arm to complete before going home for the weekend, and it's 3:55, buddy. The concierge at the hotel has just been taken to task for helping guests but at too high a cost. The gossip just wants to tell somebody in her group that she just met StupendousMan and really, it looks like he's wearing lifts.
Even the people who don't look like they're doing something significant might be doing something else in their heads, too. That professor going into her office is fuming about her placement in the published proceedings. The old guy pushing a broom is thinking about the argument he had with his wife.
So maybe part of coming up with an NPC is name, attitude, and what they were doing.