Too many things in this world are hard coded. Change is only acceptable within a certain range of actions.

However, these actions only represent a subset of the possible scenarios.

So code is built on the premise that things will stay the same, but the truth is things don’t stay the same.

In some ways, code is what you put on top of processes. Sometimes this code adds discipline and conformity to a process.

Humans have been looking to encode and enforce behavior for a long time, but the digital environment lets us do that better than ever.

While this certainly has it’s benefits in a lot of scenarios, it brings in a lot of conformity around standards and norms.

Standards and norms are great for interoperability, but not so not great when something different is needed.

In fact, sometimes we make it extremely hard to make any exceptions, and this often for good reasons too.

While the ideas behind these practices are sound, the world is not as predictable as the code in our software would suggest.

The assumptions that the code is built on are often much weaker than you would think.

The events of the world are not hard coded and attempting to fit the interactions of the world into a series applications built on different operating assumptions is not necessarily a good strategy for the long term.

Photo by jurvetson