We are a small software development company. We are currently working on having a proper performance appraisal system with incentive tied to performance however, no idea how to implement it effectively.

I would like to know like, how to effectively measure performance of software developer/ engineers / testers and how to implement the whole system that help business retain its talent with incentives and also motivate team!

How other companies are doing in this area?

  • This question appears to be off-topic because it is about productivity and measuring performance. That is a task specific to the management role and business processes, which makes this off topic here. Jun 9, 2014 at 13:30
  • 2
    Obligatory link to Joel on Software: joelonsoftware.com/articles/fog0000000070.html Jun 9, 2014 at 13:53
  • My answer to a similar question applies here I think: workplace.stackexchange.com/a/23990/105 In short: If the system can be abused, it will
    – Fredrik
    Jun 10, 2014 at 10:18
  • @Chad I think the implications of the questions go beyond productivity and can clearly affect the workplace, so I think we're in topic here.
    – lorenzog
    Jun 10, 2014 at 10:23
  • 1
    @lorenzog - It is not that management role questions are off topic it is that this question is about a task that is specific to the management role with specific business processes. Jun 10, 2014 at 15:23

1 Answer 1


Short answer: you can't measure performance for engineering. No matter what metric you use, it won't fit all cases and this is more so the bigger your team becomes.

Long answer: it is a very gray area. First of all, money is not a good motivator; if you want to motivate people, let them master a skill. Secondly, what works in a small software company will most likely not work with a bigger team. People will find tricks to game the system while PM will rely on "metrics" for a false sense of security rather than personal judgment and familiarity with individuals.

You can, however, add a system to make sure performance reviews are fair: transparency. Let the engineers chose their own goals for the next period (usually six months); have the manager agree on them. Make sure to throw in the mix a bit of technical and a bit of human side, e.g. "I will learn a new technology/language/library and give at least one tech talk on the topic to my fellow engineers". At the end of the period, review the goals, let the engineer self-assess his performance and the manager double check how they did. Be aware that engineers tend to under-estimate themselves. Be fair. Record everything in written form.

Then, if the majority of the goals are met, you can talk about raises. But do not base raises solely on this, otherwise you risk lots of anger if somebody's performance fails because of other team members.

See also this SO question, or this Dilbert comic for the funny side of things. Rands has, as always, some good insight on the topic (see also this other post).

One word of advice: do not assume that an appraisal system is a way to save time. Properly done, a good appraisal system takes more time than not doing it.

UPDATE: see also this answer on the Project Management stackexchange site.

  • Thank you for posting a detailed answer with explanation. I agree with you and understand your points.. they are truly valid. I will go through the links you shared and try to come up with some simple system for appraisal system.
    – Krunal
    Jun 9, 2014 at 8:11
  • @Krunal no problem :) I hope I made your team's life a little bit easier!
    – lorenzog
    Jun 9, 2014 at 8:18
  • 1
    I am not ashamed to say I will not show up for work tomorrow if I'm not going to get paid and if I'm able to support my claim, will always ask for more money. Imagine Forbes Magazine claiming money isn't important-what a joke.
    – user8365
    Jun 10, 2014 at 17:05
  • 1
    @Pepone If you think your employees are lying to you then there is an issue with the trust level you have with your team. Its completely a different issue and before you thing something like this.. you need to overcome your belief and ensure the trusting environment within your business team.
    – Krunal
    Jun 12, 2014 at 5:49
  • 1
    Thanks everyone for your insights and comments.. we actually did it like you suggested. We worked on system where we discuss and note down the yearly goals of each team and then based on goal, define the strategy and metrics to monitor the performance of the team over time. We monitor it on monthly basis. Similarly there is a KPI for each individual in team which is very specific to the work assigned to him which helps us monitor how they are performing. Moreover, we included other personal goals like learning new technology, or writing tech papers, etc. based on which performance is measured.
    – Krunal
    Jun 20, 2014 at 5:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .