We create software to change behaviors, and as these behaviors change they change the software itself. What behaviors are we trying to change and why? How prepared is our code to embrace these changes?