I am constantly re-searching for these slides about the coupling between your problem domain and solution domain and how the act of programming is trying to find a comfortable process for bringing them closer together as they are in movement beneath you.