Software Terminology:
Seeking to Understand

WRITTEN BY Dave Nicolette

Software Terminology

The original working title of this post was A teleological perspective on the reconciliation of antinomies in interpersonal interactions and the implications of reconciling ambiguities for clarity of communication and improved understanding, because I wanted something bright and punchy, but ultimately it ended up different. Hope it’s okay.

TL;DR Version

Notwithstanding the wide range of disparate disciplines involved, our field is characterized above all by endless, circular debate over seemingly-trivial differences in word-meanings. After many years as one of those irritating people who’s always harping on word-meanings, I’ve come around to thinking it’s not the precise use of clearly-defined words that fosters useful communication, but rather the process of reconciling ambiguity. Not the reconciliation itself, if indeed it happens at all, but the process of reconciliation.

If we take antinomy at its meaning in philosophy rather than in law, “a contradiction between two statements, both apparently obtained by correct reasoning”, then a teleological view of debates over word-meanings reveals they serve the function of inviting alternative perspectives, sharpening arguments, and achieving consensus. From this viewpoint, debates may actually be the core method of learning, growth, and improvement rather than the childish distraction they appear to be.

Slightly More Annoying Version

I used to be fond of saying, “Words don’t mean what they don’t mean.” I thought each word had (or ought to have) a single, unambiguous meaning. Communication amounted to a straightforward process of arranging words in some deliberate order or sequence that could be interpreted in exactly one way. The only reason a person might not understand a statement is that the person was unfamiliar with (or mistaken about) the meaning of one or more words used in the statement.

The philosophy was comforting in its simplicity and consistency. However, a few recent experiences have prompted me to reconsider it. Well, actually, that’s not quite right. Thousands of experiences have pointed to the same lesson, over a period of decades. It would be more accurate to say that recently I started to pay attention.

The details of these instructive experiences are irrelevant. The general nature of them is this: I question the use of a word, with the gentlest of intentions, of course, and I get verbally beaten to a proverbial bloody pulp by all other participants in the discussion, each of whom has somehow arrived at a unique and yet equally inaccurate understanding of what I meant to say. I slink away and tell myself never to get involved with a discussion of any kind with anyone, ever. Then I do it again.

Anyway, the message I’m getting from all these well-intentioned beatings is that I’ve been mistaken in thinking that a word must have a clear meaning. The meaning of a word can be conditional on the context in which it is used, and on the frame of reference of the person using it. The unfamiliarity of the idea makes me feel all tingly in a weird way. Maybe that’s what it feels like when your mind opens. Or maybe my head is spinning from all the verbal beatings. Yeah, prolly that.

I’m coming around to the viewpoint that communication requires an understanding of the other party’s situation, background, mindset, assumptions, intentions, fears, and a multitude of other factors, some of which are far from obvious. The particular words we use probably contribute little to our message. How could they, when they don’t have any meaning anyway?

Still new to this, I have a question: If we have no commonly-accepted definitions for any words, then how can we even begin to understand all those various factors about the other party; you know, their – what should we call it? context, maybe, for lack of a better word? – so that we can have a hope of understanding them and, perhaps, communicating with them? And if we can’t count on a word to mean anything in particular, how can we convey ideas to others? They will simply interpret the words as they please, and their interpretation may well be surprising and even incomprehensible to us.

If words are really as slippery as all that, then how have you, dear reader, penetrated so deeply into this meaningless spatter of pixels, clear down to the tenth paragraph fagoonessakes, without slipping into a catatonic state? Does the text convey any meaning to you at all – I hardly dare hope it’s the same meaning as intended, so I’ll take what I can get – or are you just watching the words pass by? Why do you remain, if there is no meaning here? Do the words stimulate pleasant sensations as they drift across your visual cortex?

If words truly have no meaning, then why hasn’t the world devolved into a never-ending performance of the Monty Python sketch, “Spectrum” – Talking About Things. “What do we mean by the word what? What do we mean by the word do? What do we mean by the word we? What do we mean by the word mean? What do we mean by the word by?”

Well, you see where that’s headed. Or maybe not. I’m not too good at communication, so I don’t know, really. I can’t even tell if you’re still there.

Of course, I’ve been swinging the pendulum all the way to the opposite side. A term may have a precise meaning in a given context. For example, the term paroxysmal supraventricular tachycardia has a single, unambiguous meaning, and if it happens to you my guess is you’d hope your doctor knows exactly what that meaning is. Your friendly neighborhood agile coach can’t say, “Well, when we say paroxysmal supraventricular tachycardia ‘in agile’, it means buttered toast.” Actually, I guess they could say it, but…well, moving on.

At the opposite end of the spectrum, Derrida’s notion of deconstructionism suggests that the logos, or objective nature of a thing, is different from its “institution” (programmers might prefer to say “instantiation”) in language. Naive interpreters of deconstructionism are fond of saying that a “text” is reduced to nothing but the naked words, which have no inherent meaning at all. To them, the collected works of Shakespeare are no better than scrawled graffiti on a bathroom wall. It’s all just “text.” There is no meaning. We don’t even have an unambiguous way to ask the question, “What do we mean by the word word?”

Maybe what they’re trying to get to is the fact it’s hard to convey the true nature of a thing via the imperfect vehicle of human language. As Douglas Harper writes in The Impossibility of a Dictionary (2015), “What is an English dictionary today? It would have to be written each dawn; it would list every word used in an English conversation, chat, printing, and journal, anywhere on earth, in the previous 24 hours. The definitions would be whatever the users meant when they spoke or typed.”

Between those extremes lies open territory wherein a word’s meaning may shift one way or another depending on context, intent, and interpretation. Most words in human languages do not have a single meaning, immutable across time and space. Instead, most words convey a general sense of some sort of meaning. New words are coined based on the original, taking nuances of meaning in various directions. The exact application or “institution” of a word in a given context may differ from its “institution” in another context. Words can mean what they don’t mean, and a lot of them do.

That said, I think it’s fair to say there are certain words we tend to use in our field of work whose usage has migrated rather far from their basic meanings, not just the supposed precisemeaning but even from the general sense of a meaning, and that such migration does result in misunderstanding. For instance, the English word sprint doesn’t mean what we mean when we say sprint in the context of software development (or “in agile”, as your coach might put it). If anything, it means something quite contrary to what we mean, because sprinting is not indefinitely sustainable.

You sprint as hard as you can, and then you collapse and rest for as long as you need to. That’s perfectly fine, because that’s just what you’re supposed to do when you sprint: Push yourself to the limit, or even push yourself beyond and discover a new limit, with no expectation that you’ll have to do it again immediately, without a chance to recover. After all, you don’t run a marathon by stringing a bunch of sprints together end to end, with no breaks in between. That’s not how it’s done, you see.

It’s not how software development is done, either. We’d like software development teams to work at a sustainable pace, so they can deliver value consistently without suffering burn-out. The idea is that you do keep iterating, over and over, indefinitely, and without burning out. Yet, instead of that, we keep saying sprint. Then we have to keep explaining what we mean by it, over and over again. Instead of, you know, like maybe using a different word, or something.

But I know that’s just me being wrong again, as usual; pedantic and tiresome.

That teleological thing may offer a different way of looking at debates about word-meanings. What is the practical function of such debates? Is it possible the ambiguity – even the direct contradiction – in the two meanings of the word sprint (as well as many other words and phrases) provides a basis for improved understanding, beyond what we could achieve by agreeing on a single, precise meaning for the word?

Given a single, precise, unambiguous, and fully agreed-upon meaning for each word, I can imagine conversations consisting of nothing but bland observations, with everyone comprehending things in the same way because everyone’s thinking is conditioned by the same language, without variation. Just as the all-Vulcan crew of the Intrepid couldn’t cope with an unknown threat in the Star Trek episode, Immunity Syndrome (1968), not because they were stupid but because they were subject to groupthink, if we lacked any friction or tension among different viewpoints, and any language to express those differences, we would have difficulty making any progress or achieving any goals.

When we say sprint to normal people, they immediately react on a gut level according to their understanding of the word. Their natural defenses go up. Adrenaline courses through their bodies. Blood engorges their muscles, preparing them for the fight-or-flight threat response. They begin rehearsing their arguments against us in their minds, waiting for us to shut up for a just a damn second FFS so they can get a word in edge-wise. All of this sets them up for a Learning Experience┬«. And if we’re lucky, us too.

As we backpedal in shock and terror…er, I mean, as we calmly and eloquently explain the unusual meaning we attach to the word sprint, an antinomy takes shape: “a contradiction between two statements, both apparently obtained by correct reasoning.” If the teleological view is sound, then this is where the opportunity for learning and growth emerges.

It isn’t necessary to end up with a common definition for the word, or any other word. Maybe that’s not even a worthy goal, and we should stop trying. It’s only necessary to explore the differences, and learn from them.

leave a comment

Leave a comment

Your email address will not be published. Required fields are marked *