Three Things

A developer must know three things to properly support an application:

Expectation: What users believe the code does.

Intention: What the original developer intended the code to do.

Reality: What the code truly does.