Peer feedback with Appreciation Cards

In software development, individual performance evaluation is a challenging topic, especially in agile teams.

What are the challenges?

The nature of software

Software development is defined as a complex system, like the weather or the human brain: even if you decompose it in smaller parts and define the purpose of each part you cannot infer the behavior of the whole. Since we are working in a complex system:

  • it’s really hard to define a clear division of work
  • many tasks involve collaboration with several other systems and teams, generating delays and dependencies

For these reasons measurement of individual performance is less reliable.

Working in a collaborative environment

In Agile teams the team members rely heavily on collaboration. What about team members that apparently contribute less to the software production but willingly offer their help to make sure the team achieves its goal? Some clumsy attempts to measure individual performance (like counting the number of pull requests opened) are not only unreliable but could potentially destroy any collaboration and generate conflicts in the team.

The traditional way: appraisal reviews

Traditional HR methods usually define individual goals and performance is reviewed once a year against these goals by the line manager in the Appraisal Review. I see different problems with this process:

  • it is generally very costly: big companies like Accenture and Adobe have moved away from appraisal reviews
  • individual goals are difficult to measure and might hinder collaboration
  • it’s a tool mostly effective at managing mediocrity (looking for the so called “bad apples”?), but not effective in supporting and rewarding great performance
  • most of the times if feels uncomfortable to ask adults to have mandatory meetings to discuss. For managers that know the value of feedback they would have talk to their people anyway and they see this tool as an unnecessary complicated and awkard process; for managers that don’t know how or care to build a relationships with their reports it’s just another box they need to tick
  • feedback in appraisal reviews happens in many cases once a year. In an Agile environment we talk about continuous improvements, and feedback is crucial for growth, so it should be exchanged much more frequently
  • in complex environments managers usually know less about the actual work than the people reporting to them, so the more they have been hands off the harder it is for them to give meaningful feedback
  • documenting everything in a centralized software system potentially harms the confidentiality of the conversations, reducing trust

Wait a second? Are you talking about managers in Agile teams?

I know, if we take Scrum for example, there is no line management. The Scrum Masters and Product Owner are just two different roles, team members don’t report to them. Nonetheless in many organizations, even the ones that have adopted a very good implementation of Scrum, managers and tech leads are far from being absent, even if their role is very similar to a technical mentor that support and empower team members.

The new way: feedback from peers

Feedback in a truly Agile environment takes the shape of feedback from peers and customers. Your team mates are the people best qualified to give you feedback about your work, also giving feedback to each other in a team is part of the continuous improvement and can really make the difference in boosting the motivation and performance of a team.

We never give feedback to each other in my team, how can we start?

Well, there are several ways, but the one I’ll be addressing in this post is Appreciation Cards.

Appreciation Cards

Appreciation cards is a deck of cards that I created to help team member to give and receive peer feedback.

Appreciation Cards

Appreciation Cards

How do I use them?

This is how we used them in one team, you might try it too:

  1. Download them for free
  2. Print and optionally laminate them
  3. Every month/iteration (at the end of the retrospective if you are using Scrum) reserve 10 minutes to appreciate and get appreciation from your colleagues. If someone in you team has been very helpful you can give her the card “The Helper“; if they have taken the time to create and share a document or make a presentation you can give them “The sharer” and so on. At the same time you will hopefully receive some cards from your colleagues
  4. This feedback you collect can be introduced in the discussion with your line manager
  5. Optional: Gamify! You might play a game with your team, for example a team member that collects 20 cards will have the next team lunch paid by the other team members

Advantages

Appreciation Cards are a light start with feedback, but a fun and effective one. They are pretty safe, as they only contain positive qualities and they are not tied to promotions or bonuses, so they should not trigger jealousy or negative feelings in the team. In our experimentation they turned out to be a fun appointment that leaves you with insights for improvements.

Wrapping up

If you are willing to try the cards please remember that you can try them completely for free. If you plan to talk about them in any public space please remember to give me credit for them. Also if you use them in your team please let me know how they worked for you. Any feedback is appreciated.

Enjoy!