Anticipating what could go wrong is an essential part of becoming a master craftsperson. An important part of that process is reflecting on and learning from mistakes made along the way. This blog article draws analogies to perspectives in defensive programming.