Developer Pain Criteria

The criteria we use to define developer pain are:

Little Effort Much Effort Note
Change Existing Feature Create New Feature  
Easy Work Hard Work Will the work take a lot of effort and sweat or will you be whistling while you go?
Few Resources Required Many Resources Required Can a single developer resolve the issue by themselves or are several developer needed?
High Quality Code Low Quality Code Is the code all shiny and new or rotten and broken?
Knowledge Present Knowledge Missing Is the knowledge needed to resolve the issue available (documentation, system knowledge, domain knowledge, etc.)?
No Technical Design Needed Technical Design Needed Can the issue be implemented without influencing existing architecture or does a new plan need to be made?
Small Scope Large Scope Is the scope of the issue limited to a single place in the code-base or does it span multiple places in multiple projects?
Stupid Production Work Smart Thinking Work Is the work simplistic or does it require constant vigilance?

The online version of this document is accompanied by a tool to make it easier to calculate the number for developer pain.