Products are easier to reason about when you think of them as functions. They transform an input situation into an output situation.This lets you describe what the product does as a transformation of the user's circumstance instead of a bundle of features.
I think these are symptoms of chronic, pervasive problems with the way we develop and interact with software. Messing up my formatting upon copy-and-paste is a data-corruption bug, but we don’t think of it this way. Imagine if every time you copied something, half the letters would just come out randomly scrambled.
But contemporary technologists cannot rely only on definitions made by those who are not engaged in the practice of technological creation. Instead, we must define technology for ourselves.