After years of various roles in which I've been solely or jointly responsible for hiring people into businesses and organizations, I offer some thoughts on what I think works.
Hiring is ultimately about entering into a new relationship with someone. Actions and words that truly honor the joys, anxieties, vulnerabilities and interdependencies of that process will tend to make it more successful. Things that treat it as a cold, harsh, impersonal transaction will tend to make it (and your organization) less successful.
A successful process, by the way, could mean that someone is not hired just as much as it could mean they are. Clarity about the long-term fit is more important than short-term harmony and avoiding disappointment.
If you create an application, screening, interview and hiring process where people can check off a bunch of boxes that culminate in their employment, they will tend to optimize for that. It doesn't mean they are disingenuous or won't be good employees, but it may not be what you want as you build a team. Asking people to follow specific instructions is fine - it can be a good way to screen out bulk applications and clarify someone's interest. But lean more toward creating an interesting dance between equal partners, and then seeing how everyone feels when the music stops.
Keep candidates updated as much as possible at every step of the process. Let them know you've received their inquiry and when they should expect to hear a next response. If there are delays on your end in evaluating their application, say so. Try to respond to every candidate who follows your basic instructions about how to apply, no matter how far they make it in your process. Don't play mind games, you are not running Fight Club.
Résumés are useful as a summary of someone's professional identity, but should only be a starting point for understanding what they would bring to your organization. Putting together a flawless résumé (and possibly a cover letter) should be a baseline for understanding someone's attention to detail and ability to communicate clearly. A résumé with typos, lots of fluff or other problems can probably be discarded early on.
Interviews are mostly useless. It is relatively easy to interview well, and most interviewers are likely to give a candidate the benefit of the doubt in almost every way. This is great for warm and positive human interaction, not so great for an employer wanting to understand whether the candidate would be a good hire. Interviews can be a good way to exchange information, get questions answered or clarify interests and needs. Interviews are horrible for evaluating future job performance.
Reference checks are mostly useless. References are usually people who a candidate has personally confirmed will say positive things about them when put on the spot by a potential new employer. That said, I had two different occasions where a reference was happy to say how difficult the candidate was to work with (!!). Either way, the information isn't reliable or all that relevant, but gathering it takes lots of time and effort.
I will never hire anyone ever again without having some kind of "trial" process similar to the one that my current employer, Automattic, engages in as a part of its hiring. There is simply no substitute for actually working alongside someone to accomplish goals similar to the ones you would tackle as coworkers. It is only in the day-to-day of real work that you can see how they communicate, how they organize themselves, what's important to them, how they ask for help. It's also essential for gathering other perspectives from your existing coworkers. Just as most people would not make a long-term commitment to a romantic partner without spending some quality time together (sometimes alone, sometimes in the presence of your friends/family/community), it now feels crazy to me to think of making a long-term commitment to an employee/employer relationship without at least several weeks of working together on a project. (And I did it that crazy way for a long time.) Whatever kind of work your organization does, set up a trial process, make your entire team a part of it, pay candidates well who take the time to engage in it, and trust what it tells you about their future performance.
If you are choosing between less-than-ideal candidates because the pool of candidates is somehow limited, then you should stop the process altogether and re-evaluate how you are building your pool. Hiring people because they are available, instead of hiring them because they are the best candidate for the job, will only lead to pain later on.
Job descriptions are just starting points for helping someone understand what their work will be like, but they are still important. Try to move any part of a position from the abstract to the concrete as early as possible. Write out job expectations as clearly as you can and look at them together with your candidate. Swirl them around in your glass together, sip them slowly together, see how they taste. Answer the question "3 months after this person is hired, how will we measure what success looks like?"
Don't hire for cultural fit. Don't hire because someone looks like you, acts like you, sounds like you, shares your sense of humor. Wherever possible try to avoid knowing the physical appearance, gender identity, race, ethnic origin, sexual orientation, political views and other characteristics of a candidate before you have evaluated whether or not they would be a good fit for the work you are hiring them to do. Unconscious bias is real, and anyone involved in hiring must be constantly vigilant against hiring people they are personally comfortable with to the detriment of hiring people who would be best for the job.
Talk about compensation early on in the hiring process. Even if you don't talk specific numbers, make sure that candidates understand that they will not be wasting their time by pursuing this relationship together. Make sure that you understand how important money is in a candidate's thinking about the work they want to do. Lay out how compensation increases are handled at your organization, and be realistic about how often raises can or will happen. Clearly identify any costs the employee would have to pay out of pocket.
If you hire someone and they aren't performing or have unexpected ways of working or communicating that make their presence in your organization problematic, do something about it as early as possible. Don't work around someone. Bring your concerns to them directly, lay out clear expectations for what you want to change, and set a timeline for evaluating progress on that change. If change doesn't come, end the relationship kindly but firmly, and then re-evaluate how your hiring process didn't highlight or predict those issues to begin with.
Once you find and hire good people, do almost anything within your power to keep them there. Make sure their performance is recognized and celebrated. Make sure you listen to what they're telling you about what works and what doesn't. Give them opportunities for growth and new challenges. Be consistent and equitable, but don't lose a great employee over a minor disagreement about compensation, benefits, office location or desk height - if you value your time at all, it will probably cost you a lot more to replace them.
Note: these comments do not necessarily represent the views or practices of my employer Automattic, Inc.