Mental Modeling
Recently I’ve started experimenting with forcing visuals into nearly all problems I solve to gain perspective. Whenever I feel the complexity of a problem rises above me, I try to stop and draw a suiting visual for the problem. I’ve found that even for the problems that appear simple, a mental model often uncovers missing pieces. When you don’t have a crystal clear overview of a problem, it becomes easy to miss something. For example, at Shopify we use a tool called the resiliency matrix to map the dependencies between various databases and services to the overall responsibilities of the application. We use this tool to point out single points of failure.