Categories
Blog posts in English

Be Serious About Your Testing – or Die

I meet up with the philosopher just outside the city wall of Copenhagen. To the left, the city rises behind it’s wall. To the right is open land. He lives out there, in the quiet fields just outside of the busy city.
“Why do you test?”, he asks me.
Testing is my job, my profession, and I tell him the story of how I made it into testing as a consultant more-or-less by accident, and then became passionate about it.
“But,” he says, “why are you serious about testing?”
I then tell him about how my curiosity drives me, and the information I gather, and how I communicate to people. Also, I learn new things by exploring products, which I like. It feels like science.
“Testing is about curiosity and knowledge,” I say. This I say almost as a declaration, without doubt. I feel certain.
“Let’s talk about your funeral,” he replies. “What will people say about you when you’re not there?”
For a moment I feel a void opening beyond me and fear my words can no longer hold me. I pull myself together, though.
“I want people to remember me for my passion for exploration, that I was motivated, skilled, critically thinking, a modern tester … I want to be known and remembered for that, and…”
The philosopher interrupts me:
“Those things are for people living merely aesthetic lives,” he says.
I look at him.
“I’m a motivated professional“, I reply, “I work with some of the best people in the world, people who are motivated like me, passionate about the things I’m passionate about: Testing, risk, exploration…”
The philosopher looks away. A horse cart passes us, and the strange feeling returns. Where am I? The place looks familiar, yet strange. What am I wearing? Not my usual clothes. The passenger in the horse cart stops the driver to exchange words with the philosopher about his latest publications. I’m eager to continue the conversation and demonstrate my passion and motivation, kill the nagging feeling of fragility and confusion. Finally, the philosopher turns away from the other man, and looks at me:
“Are you serious about your testing work. Or do you just want to be known?” I can’t figure out if the voice is his, or my own voice sounding in my mind.
I wake up with my heart ponding in my chest.

DSC_2452.jpg
One sleepless night, about a month ago, I picked up my tablet and found one of Søren Kierkegaard’s books on Google. The one I found was published in 1845 and contained three discourses for imagined occasions. I’ll prefer to call them talks. One of the three is a talk for an imagined funeral, and the subject of the talk is seriousness. Kierkegaard is known for walking Copenhagen and talking to people, and in my imagined dream above, it was him, I met, walking the outskirts of the City as it was about 170 years ago (the walls were since removed, and the city has expanded into the open lands around it).
Kierkegaard was Danish and wrote in Danish. The Danish word for seriousness is alvor. It is pronounced ál-vór and the origins of the word can be traced to old German “alawari” meaning “all true”, “friendly”, “willing”. The individual syllables in the Danish word have meanings: “All ours”. Alvor is more than attitude, there’s really a lot of value in that word.
I’m a free lance consultant, and a successful one. I’ve worked with software testing and test management for 15 years. I’m skilled, valued, and motivated.
A recent brain storm on testing lead me to think what testing can do, and I came up with these: Goal-keeping, learning, proving, checking, validating, exploring, researching, verifying, learning, teaching, educating. (Thanks to Ash Coleman for inspiring this.)
But testing is strange: Dijkstra said that the only thing testing can prove is the presence of a bug, not it’s absence. So how can we keep a goal, prove or educate anything? Am I wrong, or could testing be more than what Dijkstra said? The word alvor and even the English serious to me contain and indication that it can, at least when trying to understand it the way Kierkegaard did.
Søren Kierkegaard says seriousness is not in the subject, attitude, power or anything else that’s explicit or aesthetic. Beauty is our business, Dijkstra said, but Kierkegaard would disregard beauty as serious business, as beauty was to him just an external thing, and what mattered to him was the tacit, internal and relational. Seriousness, to Kierkegaard, can be thought of as a mental state, and we can be serious making a choice, but it is still something that is related to ourselves and the relations we have with others.
Let me try to reframe what I learned reading Kierkegaard’s funeral talk that sleepless night by putting it into a modern context:
DSC_2451
The retrospective
Not all testing is done in sprints, but a lot of modern testing is, and I’d like you to think of a sprint you took part in.
You probably remember some things and have forgotten a lot. My guess is that as of right now, you – as I do when I think back on one – remember certain events like the demo, bugs that were found, and probably more likely the bugs and problems people at the demo pointed out that you had missed.
Thinking back on the sprint, however, is not seriousness. Kierkegaard is clear: It’s only emotion!
Therefore, now I want you to instead think of the sprint you are in now: It doesn’t matter if there’s just a few hours left of it, or several weeks. The sprint is the present, now.
Seriousness, in the way Kierkegaard wants us to think about it is in experiencing time running out as the days until the end of the sprint counts down to 0.
We need to make important choices before it’s too late.
Otherwise, the sprint will end, and after that, all we’ll be left with is emotion about the mistakes we made and shouldn’t repeat.
There’s a further level to this, though.
In death, Kierkegaard says, everyone is equal. Now, this sounds dramatic, but there’s a link to the sprint: In the sprint, we had roles, but after the sprint the roles are just part of history. Death is where nothing happens. Time becomes meaningless to the dead, just as it’s meaningless to the sprint that has ended. Time doesn’t matter to us talking about the sprint that has ended, in fact, time easily becomes a reconstructed illusion, as we try to remember the order of things that happened in the sprint.
Kierkegaard’s point, I think, is that the image we build, our power and influence, number of Twitter followers, likes we got on Instagram, job offers we have received, etc … all those things have nothing to do with seriousness. They are just emotions.
Seriousness is in choosing to be present right now and to care about what we do and especially about how others will experience it after we’re gone.
DK001136
Reading Kierkegaard made me tired. I eventually fell asleep without finishing his talk.
I feel I’m sometimes trying too much to be serious. I can be anxious, and can’t relax. That can make me feel important, but I must be careful: It’s not seriousness. It’s a dangerous state of mind, and I will often end up sleepless, and probably bug others with my overdosed seriousness worrying about details that don’t matter.
So I can be serious, but I still needs rest, breaks, time away, time for doing nothing, even time to be foolish, childish, silly. Happy.
I become serious by choosing myself in social interaction with those to whom my work matter: Teams, colleagues, managers, stakeholders, users. Seriousness is no longer seriousness when it becomes an ego-trip, a battle with colleagues and stake holders. Seriousness, to be what it promises to be in the Danish word “alvor” or the old German “allawari”, is all ours.
I discussed an early draft of this essay with Damian Synadinos.
He has an interesting point on death as he reminds us in his talks on “improv(e) your testing” to contemplate death.
Damian talks about these two phrases in improv: Killing on stage versus dying on stage. He is serious about improv, which he trained for years and used to perform professionally.
What he says, I think, is this: Improv that dies on stage ends with no laughs, no emotions, no narrative. You want to kill on stage. Not literally, of course, but not only emotionally either.
A couple of years ago, Damian and I crazed out to a live band playing AC/DC-songs at Let’s Test 2016 in Stockholm. They sang this:
Shoot to Thrill,
Play to Kill…
I understand Damian this way:
Be serious about the testing you’re doing, contemplate death, and set out to create a meaningful testing event. In other words:
Shoot to thrill
Play to kill;
Don’t let your testing die by your ego-trip.
DSC_1295

Categories
Blog posts in English

Quality is…

In a recent post, Anne Marie Charrett discusses quality as an emergent property.
I see quality as a term for value, and it is in itself complex. It can be read as being synonymous to aesthetics, beauty, and probably even to complexity, but it can also – as a term – refer to existential properties such as safety, existence, life etc: doing no harm is considered a fundamental quality in health care, for example. In the real, especially in the reality of projects, quality is indeed emergent: The product begins its life as an idea, we assemble the parts, and in the end the whole becomes something of greater value than the sum of the individual pieces.
But no matter how it emerges, quality, to me, is fundamentally tied to the human. We can define metrics for quality if we work hard, but even the best metrics will never be more true that the humans who relate to quality. This perspective can be debated, but as a premise for my work, I don’t want to engage in such a debate. Rather, I’m interested in debating how to make the human perspective operational in my work with quality and testing software systems.
And for that I have 12 models that can be applied, on three levels in four dimensions each.
I draw it like this (explanations follow, and yes, it’s a pyramid):
_20181206_1841394306266375574636519.jpg

First order quality

Quality is something to someone, somewhere at some time. What is that something then composed of. Based on Ole Fogh Kirkeby’s “Greek Square” as described in his books on proptreptic value based coaching, Cynefin’s domains and Kant’s categories of terms, I think of quality as something on a compass disc with four corners:

  1. Quality as factual, obvious and true. Correctness is a quality in arithmetics, and subjecting a pupil to a number test with a number of addition assignnents allows us to evaluate how good she or he is adding numbers simply by comparing based on the fact that given a+b=c, given a, b being numbers of a known number system, c is a defined value. Sometimes, facts require more than algorithms, as in evaluating “North is that way”, but the principle is still the same, that a presupposition can be proven right or wrong given a concrete context of testing using someone, somewhere at some given time.
  2. Quality as relational, as when we for evaluate fairness and agreement with something or someone. Still in the context of someone in a given time and place, this kind of quality is relatively simple: We can ask the person, or we can put ourselves in her shoes, understand her, and evaluate for her. Agreement can probably always be evaluated mechanistically, but we still have to make sure that we know what to evaluate against: is it under our control, or a moving target? Fairness is more difficult, as even legislation needs to be interpreted in terms of both its written word, and its intention and ‘spirit’.
  3. Quality as an emergent, aesthetic, complex property is what we see in software Projects, especially if we look at the human values of the software. In that, people experience wealth of experiences existing on a continuum ranging from bad to good, ugly to beautiful.
  4. Finally, we sholdn’t rule out the safety aspect of quality. Even when we consider quality in the most personal and individualistic view, one that is rooted in a single persons’ experience with the product, we should not rule out the anxiety present: Will it destroy my idea (WordPress’s App deleted most of this blog post while I was editing it)? Will it destroy my day? Will it destroy me? As I mentioned above, a quality in healthcare is not harming patients. It’s fundamental, but it’s important, and a basis for ensuring that cure can emerge.

That was the first four models of quality. There are four more one level up:

Second order Quality

When I was a child, I played for my own sake. The quality of my play emerged, but it was personal. As I grew up, I began playing with others, and for them: At work, and as a parent, what I do is more serious: Part of growing up is learning to do things for others. Part of learning product engineering (which I did) is learning to engineer things for users.
The second level in the model is tied to the group of users, the team, an organization, the stakeholders etc. Quality is social here, but still bounded. But it can refer to the different domains in which the product has value: In the project, to sales, and to users. There are several ways to move to this level of abstraction, but we need to know what kind of abstract level we’re moving to for this to work.
My experience is that we can only move our thinking to this level if we know what we’re addressing. It doesn’t require absolute certainty, we can create props to represent users by describing them, or we can describe users in abstract terms. But there needs to be some kind of concrete knowledge available about the target of our idea of quality before we can talk rationally about quality at this levels.
But once we have that, we can start working with quality within the same Compass system of fundamental quality values I described above: Factual, relational, and emegergent quality, and safety. (Or as they are named in the Greek Square: The true, the just, the beautiful, and the good.)

Universal quality?

At the top of any pyramid is a smaller pyramid. In this case, this is where we move to the universal perspective, the quality that applies to everyone, everywhere, at all times. This would be God’s view on quality.
Factual qualities are often easy to work with, even at this level. Take math for example, which doesn’t depend on neither time, space or humans. Math is a thing in itself, it seems. Therefore it makes perfect sense to judge an attempt to solve an equation as universally good or bad depending on simple correctness:
2 + b = 4 <=> b = 3
The above is obviously incorrect and false.
It get’s much harder when we move further around in the value compass: Can we talk about good relations in a universal context? Is “the just” a universal thing? It’s not as easy as the above example, and I think this is where we really need to call in an expert who has done research in the quality of relations, or someone who knows about law and justice.
Even worse about emergence, complexity, aesthetics: Is there such a thing as universal beauty? I think there is research supporting this, but as a tester, I’ll skeptical about it: I’d rather test with a group of potential users, i.e. stay on the lower level, than employ rules for verifying aesthetic or emergent properties of a thing. Also, I would always suspect such rules are heuristic in nature, not universal.
Safety seems more obvious: Avoid chaos at all cost, and chaos is a reasonably well defined thing, I think, perhaps even mathematically.
But still: In the real it’s complicated. The Picture below is of the UN Building in New York. This is where universal rules for everyone on the earth are negotiated, but even those that have been decided on are often up for debate: We agree we want peace, but how? We agree we don’t want climate change, but at what cost, and who should do it? It’s hard, and as a tester, I want to avoid talking about this level, except as an abstract level I should avoid expressing myself too concretely about.
But that’s all right: I can say a lot of other things. Most of the quality pyramid is readily accessible in my work testing software and the relations real humans have with it.
DSC_3317