I don't want to totally hijack the thread but I think it is relevant here.
How are your developers performance measured? Where I work we have no way of measuring this. A manager would review a developer by giving a subjectivbe review - "Yeh I think Sean worked pretty well these past few months, missed out on a deadline or 2 but I think he deserves a raise".
This obviously isn't the right way to do it.
so in some situations it is the right way to go.
lets take the company I work for.
300 odd people, 250 or so in sandton, few in CPT, few in DBN, few in Brazil still, a few in England and a few in russia.
there are 4 developers, all of us in Sandton, 1 is a contractor managing systems he built and expanding on them.
the rest of us are split up and do vastly different things. my main focus is on workflow and reporting for the business unit.
the other person focuses on our Business to business system and the data management tools attached to that.
the other person focuses on the data management tools, and integrating our booking engine to suppliers.
so we all know and understand what we do, and how it fits in, but our challenges are vastly different.
I spend about 3 hours a day with consultants, understanding manual processeses to improve on them.
so me and the CIO really understand my project spec. sure everyone else can look at my code and understand it, but the point of it is lost on them. same when I look at their code.
reviewing the code is nothing.
reviewing the project once complete is the tricky part.
for the last 4 years I have gotten an increase, because my systems have saved the company loads of time and money. my one system saves 8 man hours per week, per person. so a team of 13 is now a team of 8, the 5 people moved to other positions.
I also save 2 reams of paper per day with the same project.
When I review that code, I cringe, because it looks terrible, but it has to be like that, there is no neat way of achieving the goal.
so if the review was based on the code alone, I should not get an increase.