Software design is an exercise in human relationships. We start with our relationship with ourselves. We have to change some janky code. Do we tidy first? If so, how? Why?