What factors explain the nature of software?

A blog post discussing building software in the context of:

  1. Occupying a "Liminal State"
  2. Circular Specification Problem
  3. Observer Effect