The traditional model for self service password reset drives me crazy. The user gets asked questions to prove they are who they say they are. And the system just resets their password. Easy, right? Secure, wrong.
Here is the issue, I can guess most of the answers to your questions by looking at your facebook timeline and the pictures on your cubicle wall. Your first car, your daughter's name, your eye color, and so on. That just isn't as secure as it should be.
What you need is two factor authentication with your self service password reset. The first factor is the questions, in other words "what you know." The second factor is something you have, whether it's a pager or mobile phone or a keyfob device. With proper two factor authentication, someone is not only going to have to steal your user's memories but their phone also!
This still doesn't get you everywhere you need. It is also important to have complexity requirements, either to match or exceed your Active Directory domain policy. My own personal preference, make the complexity pertain to password length rather than crazy characters. It's harder to hack a 72 character sentence than P@ssw0rd. And it's easier to remember the sentence.
Having a proper password synchronization and SSO tool also improves your password security. If users have a dozen passwords to remember they are going to make them easy to hack. They are going to forget them a lot and use easy to hack questions. Make life easier on your users and your security will increase...counter intuitive but true.
Get a second factor in your self-service password reset, it's easy and secure for your users. Click below for a demonstration of how simple this can be.