As a software developer, I often face the problem of meaningless terms. It is very common in our industry that a certain term is first coined with a very specific and useful meaning. Then, it becomes fashionable to use that term, so everyone starts using it to mean more and more things until, in a couple of years, the term has become so diluted that its original meaning is lost altogether. This has been occurring with the term agile, for example.
Which philosophers have addressed this probem of dilution of meaning and how to avoid it? I have illustrated the problem with a software development example, but it may occur in every professional field. When a term has reached that meaningless state, it becomes impossible to have a rational, useful and unambiguous discussion.