The first thing is to have the right intention. The point of serenading someone (guy or girl, but for some reason it seems more fun to do so for a girl) is it's a stereotype. It's something that everyone implicitly understands. And it need not have very long-term motives: it's something nice to do in the moment; you may never see the person again. It provides an instantaneous burst of happiness, sort of like jumping in a puddle after it rains (except the difference is, hopefully serenading does not involve getting listeners wet)
A lot of it has to do with timing. There are definitely right times to broach the question, and wrong times to broach the question--the question being, can I play you a song?
An example of a wrong time is if the person you have in mind is going to class. Even if it's several minutes before the class, in all likelihood she will have things pertaining to the class on her mind, and won't be in the right frame of mind.
Another example of a wrong time is right before dinner. Trust me, from experience, sure they may not be preoccupied with homework but hunger is more important than any song at that moment.
Not only timing matters, but location.
You can go to a karaoke bar, and sing for a group of friends (i.e. they're not your friends but they are friends with each other), and if you're lucky, they'll sing with you as you're singing. This has happened before, and it was awesome.
But with karaoke bars, it's often a hit or a miss kind of deal. The crowd is just as likely to be indifferent as it is to be interested.
You can be lucky enough to live in a dorm in which your next door female neighbors welcome your singing. In fact, they might even say that you can test the songs that you're still ironing out the wrinkles from on them. When you do have such dorm neighbors, count yourself lucky.
Sometimes it comes down to dumb luck.
At West Valley Community College, there were a couple of girls who were part of an anti-abortion campaign. They had posters of fetuses and had gone the whole nine yards.
Just to entertain myself, not really expecting it to work, I asked the girls if they'd be interested in a trade. I'll sing them a song and in exchange they can tell me whatever they want about abortion.
I was just about to get started with my song when they got into a full-on battle with someone else about abortion. But after that died down I sang my song and they were "wooohooo!-ing" and cheering as I sang.
Honestly though, the best time or place to serenade a girl is when you're on vacation because in all likelihood, they're on vacation too.
I had gone on vacation with my family and we were near the beach area. There were people sitting around lazily, enjoying the view and the weather. I played, "Keep Your Head Up" for a couple of passerby and they politely listened.
After that, I sat back down, and tuned my guitar. A random kid who was in the vicinity I guess, when I was playing, said "Nice song!".