First, two things.
My full, slightly radical, recommendation is to set very modest goals to keep up with for the yearly base increase while giving quarterly voluntary opportunity to engineers to request that particular contributions be evaluated. Have a mandatory micro-evaluation mid-year and a full team evaluation once a year. Those who have shown any degree of extra effort or ingenuity, acknowledge them with an extra raise (with a relative degree of increase) and a modest bonus, perhaps even throw in three days of PTO and guard your company against burn-out from the over-achievers.
Keep open and fair to ensure this does not cause any undue negative pressures. (i,e.. those who simply go for the standard are not looked down on or forced to compete with rising stars)
Along with this, nearly all experienced software developers are vastly more motivated by meaningful equity, profit-share or profit-interests. If you hadn't noticed already, we have a tendency to be just a tad emotionally attached to our work and hate it when we don't feel like we're being included in it's total life cycle. Project-centric incentives work wonders.
Finally, give them an opening to get ahead of schedule without trying to cram in extra tasks (due to being ahead). If they reach certain milestones, allow the team the option of creating extra or side products/services with the intent of much larger than usual (as in true 50-50, single team-corporate) profit splitting. You'll find a great deal of expansion and reduced turnover of quality engineers begin with these seed projects. Your organization can really flourish, because engineers always end up seeing multiple (and often better suited) uses for the tools you have them build.