You will rate the contributions of every teammate, including yourself, along these six dimensions and using this scale:
Contributions to the team project
Unacceptable: Does not write any code; makes few or no useful suggestions to advance the project.
Poor: Writes minimal code; tries to offer some ideas to meet team's needs but they are not well developed, and not clearly expressed.
Satisfactory: Writes an adequate amount of code; occasionally offers useful ideas to meet the team's needs.
Good: Writes solid code that implements major features; offers some well developed and clearly expressed ideas to advance the project.
Excellent: Writes solid code, implements major features, fixes bugs across the system and in others' code; offers many well developed and clearly expressed ideas to advance the project.
Unacceptable: Often does not perform agreed tasks or results are frequently poor and require rework by others.
Poor: Sometimes does not accomplish agreed tasks on time; occasionally results are not good as expected or work occasionally has to be redone by others.
Satisfactory: Accomplishes agreed tasks on time and in acceptable fashion.
Good: Generally accomplishes agreed tasks ahead of time in expected manner and with reliable positive results.
Excellent: Consistently performs above expectations, accomplishing agreed upon tasks ahead of time and in better than expected fashion, with reliable, positive results.
Unacceptable: Often unable to solve own programming/technical problems; unable to locate relevant information or to apply it when provided.
Poor: Occasionally unable to solve own programming/technical problems, or unable to locate the necessary information once the need has been identified.
Satisfactory: Generally able to solve his own programming/technical problems, comprehend solution, and apply it with some thought and occasional discussion with team-mates; generally able to locate, comprehend, and apply information related to the project.
Good: Always able to solve his own programming/technical problems; consistently able to locate, comprehend, and apply information related to the project.
Excellent: Always able to solve his own and his teammates programming/technical problems; consistently able to locate, comprehend, and apply information related to the project and frequently offers useful suggestions to team-mates.
Working with Others
Unacceptable: Usually refuses requests to help team-mates, argues technical points for the sake of argument.
Poor: Seldom offers to help team-mates; occasionally contributes to group discussions but is often ill prepared.
Satisfactory: Occasionally helps others but mostly focuses only on own tasks; contributes occasionally to group discussions and is adequately prepared.
Good: Agreeable to group decisions; frequently helps others; usually amiable and well prepared for group meetings.
Excellent: Agreeable to group decisions; frequently and eagerly helps others; is well prepared for team meetings and keeps an amiable demeanor during discussions or debates.
Unacceptable: Does not perform assigned tasks; often misses meetings and, when present, has little constructive to say; relies on others to do the work.
Poor: Performs assigned tasks but needs many reminders; attends meetings regularly but generally does not say anything constructive; sometimes expects others to do his/her work; does less than his/her fair share of the work.
Satisfactory: Performs all assigned tasks; usually attends team meetings and participates effectively; usually reliable; does his/her fair share of the work.
Good: Performs all assigned tasks effectively; almost always attends meetings and participates effectively; generally reliable; does more than his/her fair share of the work.
Excellent: Performs all assigned tasks very effectively and helps others; consistently attends all meetings and participates enthusiastically; always reliable; carries more than his/her fair share of the work.
Valuing other team members
Unacceptable: Often argues with team mates; doesn't let anyone else talk; makes occasional personal attacks and putdowns; wants to have things done his/her way and does not listen to alternate approaches.
Poor: Usually does most of the talking; does not pay much attention when others talk and often assumes their ideas will not work; no personal attacks and putdowns but sometimes patronizing; when others get through to him/her, works reasonably well with them.
Satisfactory: Generally listens to others’ points of view; always uses appropriate and respectful language; makes a definite effort to understand others’ ideas.
Good: Always listens to others and their ideas; usually helps others develop their ideas; helps the team reach a satisfactory decision.
Excellent: Always listens to others and their ideas; helps them develop their ideas while giving them full credit; always helps the team reach a good decision.