Skip to main content

Failure, Am I?


It's nothing personal I'm sure but at this week's Cambridge Agile Exchange Ben Mancini told me that I'm a failure. Ouch!

Failure, he says, is "the state or condition of not meeting a desirable or intended objective ... may be viewed as the opposite of success" and his hypothesis is that failure provides more learning than success but that we talk more about success than failure.

In his talk, Ben showed examples of people who have succeeded despite repeated failure, talked about the negative effects of failure, ways to reframe perceived failure, and the benefits of pushing through failure's cloud to its silver lining. Along the way he shared some of his own failures and invited us to share personal faux pas with our neighbours in the audience then look for the learnings in them.

One of the reasons I attend meetups is to be provoked into thought so, in no particular order ...

In my time I've certainly done things that I'd have preferred not to, and some things that others would have preferred I hadn't, and some things that were indisputably not what was required or expected by anyone. Perhaps I'm over-sensitive, but I wonder whether that makes me a failure, or just someone who has, on occasion, failed? If I'm going to call something a failure, I find that intuitively I want to judge actions rather than people.

Ben's definition of failure comes from Wikipedia. At first flush it seems reasonable but read further down the Wikipedia page and you'll find nuance that again accords with my own instinct. As with so many things, failure is subject to the relative rule: failure is failure to somebody at some time. The same event might be viewed differently by different people or by an individual in the moment and then later.

It's easy to say "failure is a better teacher than success" but historically I've been sceptical about it, at least stated as baldly as that: is it really better every time, for any person, for all kinds of learning? I changed my position slightly after reading Matthew Syed's excellent book, Black Box Thinking. I think learning from an action — positive or negative — requires reflection about (for example) what was done, what happened, the relationship between the two, other things that were done contemporaneously and other things that might have happened.

A failure might provoke more of that kind of reflection, for sure. As Richard Cook writes in his paper How Complex Systems Fail:
    ... all practitioner actions are actually gambles, that is, acts that take place in the face of uncertain outcomes. The degree of uncertainty may change from moment to moment. That practitioner actions are gambles appears clear after accidents; in general, post hoc analysis regards these gambles as poor ones. But the converse: that successful outcomes are also the result of gambles; is not widely appreciated.

For me, the key here is post-hoc. The same kind of learning might be taken from positive events if we reviewed them. To reflect on Ben's hypothesis: do we really talk more about success than failure? Which we, measured how?

I find Cook compelling on sociotechnical modes of failure, see e.g. Everybody Flirts, Fail Over, and Read it and Weep, and his system-wide perspective prompts another interesting question: whose learning are we interested in? The individual or the system?

In the talk, James Dyson was used as an example of someone who had failed many times before succeeding. His quest to create a bagless vacuum cleaner is well-documented and for me is an example of one context in which I'm comfortable to say that failure (on some specific interpretation) is indisputably a learning experience.

Dyson created thousands of incrementally different prototypes, iterating his way to one that had all of the functionality that he needed. Was each attempt a failure? Or was each attempt a step towards his desired outcome, a quantum of success? Setting up actions as experiments means that getting a result at all is the goal. Generate-and-test is a legitimate strategy.

Related, which parent hasn't allowed an action to proceed, confident that it will not work, because a bruised knee or a burnt finger or a low mark in the test appears to be the way that the offspring wants to learn a particular lesson. Advice could have taught it, but a painful experience can help too. How should we view this kind of event? From the child's perspective, in the moment, it's a painful failure. From the parent's perspective, in the moment, it's vindication, success. Who is right? For how long?

Most parents would try to set up those kinds of outcomes in a safe way. Assuming that learning from failure does have high value, I wonder whether it is diminished by happening in a safe environment? Might the scale of learning increase with jeopardy? But some failure could be terminal: should we learn to walk the tightrope by crossing Niagara Falls?

As a manager I've used the safe space tactic although I try to be open and explicit about it. Perhaps I'll set it up as "I would be delighted if you showed me I was wrong" or "If this works for you, then I'll have learned something too." I think of this as a way of making the effort into an experiment.

Some jobs are apparently set up for failure: a salesperson might expect to sell once in 100 opportunities. Is that 99 failures per success? I've heard it cast in this way: each rejection means one less before the sale. There is no fear of failure with this philosophy and, while those of us who cringe at the idea of working in sales might find it hard to believe, that kind of approach can be learned.

I wonder how to control the learning that comes from failure. It's well-known that machine learning approaches which rely on being "taught" by trying, failing, and being corrected  can pick up on unexpected aspects of their training material. Is there an analogue for human learning? Ben listed a bunch of authors in his talk, people who'd tried, tried, and tried again to be published despite numerous rejections. What was their learning? To be resilient? To sell themselves well? To find their tribe? To get better at writing?

Could it be that some of those people learned nothing through failure to convince an editor that they had a story worth telling? Could they, for example, simply be already resilient folk with large egos that needed satisfying? What about survivorship bias? Where are all the people who failed as many times but didn't ultimately get published? What was their learning? Was it greater than those who were published? How is that even measured?

My goal in this post was to spend a limited time to work through the right-now thoughts that were spurred by Ben's talk. I think I achieved that. Having seen them, you might decide that all I have is shallow, half-cooked, or just plain nonsense. If so, have I failed? If you liked the notes, have I succeeded? Could either outcome make me a success or a failure? To who? On what basis?

Comments

Post a Comment

Popular posts from this blog

Can Code, Can't Code, Is Useful

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "If testers can’t code, they’re of no use to us" My first reaction is to wonder what you expect from your testers. I am immediately interested in your working context and the way

Meet Me Halfway?

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Stop answering my questions with questions." Sure, I can do that. In return, please stop asking me questions so open to interpretation that any answer would be almost meaningless and certa

Testing (AI) is Testing

Last November I gave a talk, Random Exploration of a Chatbot API , at the BCS Testing, Diversity, AI Conference .  It was a nice surprise afterwards to be offered a book from their catalogue and I chose Artificial Intelligence and Software Testing by Rex Black, James Davenport, Joanna Olszewska, Jeremias Rößler, Adam Leon Smith, and Jonathon Wright.  This week, on a couple of train journeys around East Anglia, I read it and made sketchnotes. As someone not deeply into this field, but who has been experimenting with AI as a testing tool at work, I found the landscape view provided by the book interesting, particularly the lists: of challenges in testing AI, of approaches to testing AI, and of quality aspects to consider when evaluating AI.  Despite the hype around the area right now there's much that any competent tester will be familiar with, and skills that translate directly. Where there's likely to be novelty is in the technology, and the technical domain, and the effect of

Testers are Gate-Crashers

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "Testers are the gatekeepers of quality" Instinctively I don't like the sound of that, but I wonder what you mean by it. Perhaps one or more of these? Testers set the quality sta

Postman Curlections

My team has been building a new service over the last few months. Until recently all the data it needs has been ingested at startup and our focus has been on the logic that processes the data, architecture, and infrastructure. This week we introduced a couple of new endpoints that enable the creation (through an HTTP POST) and update (PUT) of the fundamental data type (we call it a definition ) that the service operates on. I picked up the task of smoke testing the first implementations. I started out by asking the system under test to show me what it can do by using Postman to submit requests and inspecting the results. It was the kinds of things you'd imagine, including: submit some definitions (of various structure, size, intent, name, identifiers, etc) resubmit the same definitions (identical, sharing keys, with variations, etc) retrieve the submitted definitions (using whatever endpoints exist to show some view of them) compare definitions I submitted fro

Build Quality

  The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "When the build is green, the product is of sufficient quality to release" An interesting take, and one I wouldn't agree with in general. That surprises you? Well, ho

Make, Fix, and Test

A few weeks ago, in A Good Tester is All Over the Place , Joep Schuurkes described a model of testing work based on three axes: do testing yourself or support testing by others be embedded in a team or be part of a separate team do your job or improve the system It resonated with me and the other testers I shared it with at work, and it resurfaced in my mind while I was reflecting on some of the tasks I've picked up recently and what they have involved, at least in the way I've chosen to address them. Here's three examples: Documentation Generation We have an internal tool that generates documentation in Confluence by extracting and combining images and text from a handful of sources. Although useful, it ran very slowly or not at all so one of the developers performed major surgery on it. Up to that point, I had never taken much interest in the tool and I could have safely ignored this piece of work too because it would have been tested by

Test Now

The Association for Software Testing is crowd-sourcing a book,  Navigating the World as a Context-Driven Tester , which aims to provide  responses to common questions and statements about testing from a  context-driven perspective . It's being edited by  Lee Hawkins  who is  posing questions on  Twitter ,   LinkedIn , Mastodon , Slack , and the AST  mailing list  and then collating the replies, focusing on practice over theory. I've decided to  contribute  by answering briefly, and without a lot of editing or crafting, by imagining that I'm speaking to someone in software development who's acting in good faith, cares about their work and mine, but doesn't have much visibility of what testing can be. Perhaps you'd like to join me?   --00-- "When is the best time to test?" Twenty posts in , I hope you're not expecting an answer without nuance? You are? Well, I'll do my best. For me, the best time to test is when there

Vanilla Flavour Testing

I have been pairing with a new developer colleague recently. In our last session he asked me "is this normal testing?" saying that he'd never seen anything like it anywhere else that he'd worked. We finished the task we were on and then chatted about his question for a few minutes. This is a short summary of what I said. I would describe myself as context-driven . I don't take the same approach to testing every time, except in a meta way. I try to understand the important questions, who they are important to, and what the constraints on the work are. With that knowledge I look for productive, pragmatic, ways to explore whatever we're looking at to uncover valuable information or find a way to move on. I write test notes as I work in a format that I have found to be useful to me, colleagues, and stakeholders. For me, the notes should clearly state the mission and give a tl;dr summary of the findings and I like them to be public while I'm working not just w

Am I Wrong?

I happened across Exploratory Testing: Why Is It Not Ideal for Agile Projects? by Vitaly Prus this week and I was triggered. But why? I took a few minutes to think that through. Partly, I guess, I feel directly challenged. I work on an agile project (by the definition in the article) and I would say that I use exclusively exploratory testing. Naturally, I like to think I'm doing a good job. Am I wrong? After calming down, and re-reading the article a couple of times, I don't think so. 😸 From the start, even the title makes me tense. The ideal solution is a perfect solution, the best solution. My context-driven instincts are reluctant to accept the premise, and I wonder what the author thinks is an ideal solution for an agile project, or any project. I notice also that I slid so easily from "an approach is not ideal" into "I am not doing a good job" and, in retrospect, that makes me smile. It doesn't do any harm to be reminded that your cognitive bias