The real aim of science is not to explain magic away but to uncover its rules, through the practice of which we ourselves become wizards, absorbed in an ever more magical trick.
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?