here's the process I'd go through:
Know your Worth
What are your peers in the industry making? - not just "software" but in the specific technologies and in the business sector in which you are working.
Can you get a more competitive offer? Not always worth the time it takes to interview and get an offer in hand, but before you demand over the top money, you may want this.
The 5 people who left - what are they making now?
A low offer and then 10% raises per year says to me that they do value you - at least in my region and technology domain 10% is quite generous - it's on the "top performer" end of things.
The goal is to get a bit impartial and to see yourself as a commodity - not a person. You, as both an individual and as an employee, have a market rate.
In finer grained detail, that rate may also include considerations of personal detail. For example, when I made a recent job change, I had to account not only for salary, but commute cost & time (varies remarkably in my area), educational opportunities, and other work/life benefits. I got job offers that were both $10K lower than my current total position, and $20K higher - when you consider their net value and not just the salary (salary alone would have ben -$3K to +$10K).
Know what they can Pay
Sometimes you don't have to be psychic, this can be talked over with a boss or other trusted senior person in the company. Before you walk in, you probably want a sense of what they can afford to pay. If your company is struggling to make ends meet, or needs to pump out a product before the venture capital dries up, the "I want more money" conversation may go very badly. However, reworded to "I want a better trade off" may go well - there's more to life than money, and changing the quality of your commute, having better tools for your job, or opportunities to better your life in other ways (more vacation time?) may be even better than money in the bank.
Know what it will mean if you leave
You may be so skilled and so awesome that you can increase your salary by 50% if you leave. But the company may say "OK, go" - because in their model, they can get another, cheaper version of you for your current salary. Some business models work this way. Some companies build in a model for turnover. They are not necessarily evil, they are pragmatic. This is something to look at in the big picture - what is turnover like in your company? What's the culture? Is there weeping, wailing and shock or a bland shrug of acceptance? Is the "employee intake machine" always humming?
Also know what it will mean for you - are you in a place where a change would be good? Is your skillset up to date or threatening to become obsolete? Moving every 2 years isn't usually the best solution... but it may be the right time.
You don't have to plan to leave just because you want more money - but know yourself before you have the meeting.
The secret to a good negotiation is that both sides should "win". In a perfect world, each year, you get more money and the company gets a better employee.
All this background research is there to position you to have a conversation with your boss that has the tone and the effect of generating this win-win condition. You don't want to come in defensive or offensive - you want to present a problem and work towards a solution.
Problem - you're concerned that your salary is not compartive to the salary you could make elsewhere, so you are missing out on an opportunity to make more money. You like the company enough to want a raise and continue to work there, you don't really want to leave. You're aking the boss, cause he knows how to get stuff done, and you want his take on what's a reasonable way to come up at this solution.
Be open to whether the expectations are higher than you thought, and that there's other expectations you haven't met - and look for direct feedback on what those are, and how to get there.
By being open to the conditions for success, you open up a lot more options to getting a good reward.
Set the Scene
This isn't a trival discussion. Money and compensation are generally deeply personal and connected to value judgements and other uncomfortable territory. Give your boss the opportunity to give you his undivided attention and full focus and prep him a bit. Things I'd do:
- set up a meeting, don't just wander in, give it at least a half hour, and hour isn't too bad.
- find a space with a door that closes (your boss hopefully has an office, but these days, that's not a certainty)
- start with the closest, most direct reporting boss (in companies with lots of management, this is the guy most responsible for your tasking and day to day tasking)
- keep it private - if you have a trusted friend at work, chatting amongst the two of you is fine, but don't make it a group-wide conversation.
Some of this is definitely US-centric in nature - employee/boss communication, norms about salary, and negotiating tactics are all very culturally dependant.