Back in the day, every academic paper was written with a glossary, either with up-front narrative definitions (philosophical or theoretical) or past-the-endnotes listing (analytical). I have never heard the reasons why this is no longer practiced.
If we don't have precision in language, we cannot communicate. We are a tower of Babel.
But are we still disciplined enough to actually find or propose definitions? How about to use them precisely and consistently?
Words mean things. If you want object-oriented, say what it is. As far as I can tell, nobody programs "object-oriented" the way Adele Goldberg originally worked it out at PARC. Now, in many ways, object orientation is almost unknown.
The whole Agile melange has been an enabling cover for those who avoid accountability in what they program. But really this has been going on since before then. There are half a dozen "Agiles" and before you mix and match them, you should find out what each one is! I don't know that any of them cannot work, or that any actually can. I do know that every time I've heard the cognoscenti discuss it, they have some damning criticism of this practice. Does anyone actually follow any of the programs to the letter? And if not, how are you going to find out how you can use them?
That's not to excuse the Agile slop. The term "agile" - as a word - perfectly expresses exactly the purpose for which it was devised. Frustrated with the sclerotic inability of "waterfall" or "Full-Scale Engineering" to adapt to rapidly changing requirements and technology, a software development organization definitely wants to be "agile." But if you ask the Agile wizards, they claim it is "just a name." Huh????
We are always programming at the edge of our ability to conceptualize and organize. There have certainly been spectacular failures over decades of software development, but the failures of the 1990's are standard tools in the 2000's.
How can you attack things at the fringes of complexity and semantic richness without the use of language? How can you communicate it? How can you test it?
When you first climb the cliff face, you leave chocks, pitons, flags, anything to mark the route. It's a lot easier to convey that simple information than it is to convey what we do as computer programmers. When we do explain how we do things in a computer program, we better set our terms, use them precisely, and explain thoroughly.