Software Is Not Flexible. It Hardens as It Grows

Software has a reputation for being forgiving, something that is easy to change, easy to fix, and easy to reshape once we finally understand the problem we were supposed to be solving. That reputation is not entirely wrong, but it only holds at very small scales and only for a short while.