|
3 |
2 |
1 |
0 |
Continuous improvement |
- always leaves code substantially better than they found it
- manages scope of refactors to match time available
|
- often improves code as part of normal work
|
- sometimes improves code as part of normal work
- often has to abandon refactors due to time constraints
|
- rarely improves existing code
|
Communication |
- communicates intentions early and clearly
- often provides material support to teammates (developers, QA, on-call person, etc)
- regularly creates & maintains runbook (particularly when on call)
- keeps stakeholder informed (particularly when on call)
|
- communicates intentions after it is hard to change course
- regularly supports teammates
- occasionally maintains runbook
|
- rarely communicates intentions
- sometimes supports teammates
- doesn’t maintain runbook
|
- never communicates intentions
- never supports teammates
- never creates or improves runbook entries
|
Production support |
- prioritizes concurrent incidents correctly
- use critical thinking and problem-solving skills to resolve issues quickly
- handles lower priority issues (eg, jenkins nodes down) when there are no higher priority incidents
|
- prioritizes concurrent incidents correctly
- use critical thinking and problem solving skills to resolve issues
- handles lower priority issues (eg, jenkins nodes down) when there are no higher priority incidents
|
- prioritizes concurrent incidents correctly
- ignores lower priority issues (eg, jenkins nodes down) even when there are no high priority incidents (works stories while on call)
- relies too heavily on others (rather than using critical thinking and problem-solving skills)
|
- bad attitude
- incorrectly prioritizes concurrent incidents
- always ignores lower priority issues (jenkins nodes down)
- doesn’t communicate incident status to stakeholders
- relies on others to resolve issues (throws it over the wall)
|
Code Quality |
- functional
- well factored
- documentation on classes/modules and public method/functions
- PRs require trivial changes
|
- functional
- well factored
- poorly documented
- PRs require minor changes
|
- functional
- poorly factored
- undocumented
- PRs require some rework
|
- buggy
- poorly factored
- undocumented
- PRs require substantial rework
|
Productivity |
- usually delivers moreĀ stories per sprint than the average engineer
- usually delivers more points per sprint than the average engineer
|
- occasionally delivers more stories/points per sprint than the average engineer
|
- usually delivers fewer stories/points per sprint than the average engineer
|
- delivers substantially fewer stories/points per sprint than the average engineer
|
Testing |
- public contracts well tested
- key scenarios have acceptance tests
- tests are independent of current implementation
|
- public contract partially tested
- key scenarios have acceptance tests
- tests are independent or current implementation
|
- public contract partially tested
- tests dependent on current implementation
- acceptance tests check too many edge cases
|
- no unit or functional tests
|
Feedback |
- often reviews PRs
- feedback is substantive and useful
- reviews show understanding of PRs intent and the code that interacts with it
|
- regularly reviews PRs
- advice would materially improve PRs
- reviews show understanding of PRs intent
|
- sometimes reviews PRs
- reviews are superficial
- reviews are hard to understand
|
|
Product & domain knowledge |
- understands the domain
- understands most of the supported features of the product
- understands some of the historical features of the product
|
- understands the domain
- understands many of the supported features of the product
|
- some knowledge of the domains
- limited knowledge of product features
|
- no knowledge of utility and grid edge domain
- no knowledge of product
|
Personal goals |
- goals are SMART
- goals drive achievement of team and corporate goals in material ways
- achieves goals on time
|
- goals are SMART
- goals weakly support team and corporate goals
- achieves goals
|
- goals have no relation to team and corporate goals
- achieves goals
|
- goals are vague or unattainable
- goals work against team and corporate goals
- doesn’t achieve goals
|