Various strategies
Top-down
Try to map from the application domain to the code
Bottom-up
Try to map from the code to the application domain
Opportunistic: mix of top-down and bottom-up
I’m not a fan of these distinctions, since it has to
be opportunistic in practice
Perhaps with a really rare exception