Curiosity Killed the Computer

OK – the title might be overstating it a bit, but I’m a test analyst, and we get tired of hearing about how “automated testing” replaces the need for manual testers.

I recently saw this TED talk about machine deep learning.

I was somewhat surprised about how much the process for teaching machines was so akin to one of the fastest ways to teach expertise to humans – the exposure to 200-300 excellent examples in a short time, with a small amount of expert guidance, and seen in this presentation by Kathy Sierra.

I was thinking, it might not be so long after all, before machines are doing all our observational jobs, if they can learn pattern recognition like that (and they are more accurate and much faster and never forget…)

And then I saw this wonderful talk about aliens (or maybe not aliens). Even though number crunching is one of the primary uses for computers they could still miss evidence that humans could pick up, and more significant than that, they don’t see what we don’t program them to see. That is, we can see things that are not expected, but because we don’t expect an anomaly, we don’t make our computers see it. The pattern recognition a computer uses might throw a wobbly when confronted with a 3-wheeled car, or a wrecked car, but we would still see it is a car. Computers look for recognisable or definable characteristics. Humans characteristically have 2 arms, but we recognise that there are exceptions… We might be able to teach a computer the pattern recognition to sex chicks, but it won’t cope with a hermaphroditic or mutated example (unless we thought of that possibility ourselves, first).

Humans have observational skills that cannot yet even be explained, like the amateur astronomer that Bill Bryson talks about in “A Short History of Nearly Everything”. Reverend Robert Evans can see supernovas…

To understand what a feat this is, imagine a standard dining room table covered in a black tablecloth and someone throwing a handful of salt across it. The scattered grains can be thought of as a galaxy. Now imagine fifteen hundred more tables like the first one—enough to fill a Wal-Mart parking lot, say, or to make a single line two miles long—each with a random array of salt across it. Now add one grain of salt to any table and let Bob Evans walk among them. At a glance he will spot it. That grain of salt is the supernova

We may not all be exceptional, like this, but these examples show there is an argument yet to justify the inclusion of human observational skills on top of machine pattern recognition and deep learning even when the machines get good at it and are in common use. We learn new things when someone sees something they don’t expect, and says “WTF?” and follows the lead. Test wisdom says “the difference between what we know and what we need to know is why we test in the first place”. Machines might be able to take care of the things we know, but it will need a true AI before the need for complementary human analysis can be questioned.

Do You Really Want a Tester?

This essay is targeted at the managers of the digital development (IT) section of businesses that want to make or save money. It will come as a surprise to some people, that there is more than one “school” of testing. I have been exposed to two extremes, and through my 12 years of experience, and with personal integrity, have accepted one of them as supporting and representing the high standard of professionalism that I endeavour to offer my employer. This is probably not the one you are acquainted with. Allow me, please, to enlighten you.

Testing is a specialised cognitive skill. As with any such skills, from people management to oil painting, it cannot be reduced to a number of steps (and because of that it can’t be done by a machine – more about that later). A test case is not a test. At best, it is a test guide or idea. There is no way a “test case” could ever be written to represent all the analysis that a tester does, intrinsically, heuristically, and because it is impossible to do 100% testing there is no way that producing “comprehensive test cases” ever comes close to representing the test coverage or the actual analysis done. If a confirmation can be done by a machine, then it is a “check”, not a test. Testing involves mindful discerning analysis of the observations made during deliberate experimentation.

As a simplistic example of this, imagine a “test case” that confirms that Box C shows the factor of boxes A and B. If this “test case” was automated, we’d have to set the values of boxes A (6) and B (7) so we know that Box C will get the same results each time. A coded check would confirm that 42 shows in Box C: pass. A person checking would intrinsically notice if the result displays aligned properly, in the correct format, font and size and colour, in base 10, if it took a long time to display, or if Outlook crashed when the result displayed. A person testing could change Box B to 8 and see Box C does not change from 42 – turns out that was hard-coded so the auto-check would pass… There are infinite tests that could be done: even having different programs open at the same time on your computer can affect a function. A business is not going to ask a tester to test every possible combination of programs, browsers, operating systems, settings…

What would a “pass” on this test reveal? If it is done by a different tester in a slightly different way eg inputting Box B before content in Box A, or tabbing instead of mouse clicks is that a different test? It could get a different result. Also, if it fails the first 2 times, works on the third, is broken by a regression issue, fixed and is currently working at release, that usually shows as Count of Test Case = 1, Pass = 1, 100% Pass – and tells us nothing about the potential risks of the function.

At best, a passing test is a rumour of success… A failing test is an allegation of failure. – M Bolton

We should also keep in mind that “test cases” do not appear out of thin air. Since they are usually expected to be produced in advance of the tester getting access to the product, they are generally based around the testers’ other available oracles, for example the BRD. If these “test cases” are to accurately reflect the main functional requirements of the product, it means the design and requirements need to be produced to a high standard as well. It is not reasonable to expect better detail from test cases than the rest of the project documentation. Waterfall methodology is fundamentally flawed. Can any business really believe that they are going to design an entire 6 month project 100% correctly from the start? If the business is interested in making money and being at the cutting edge of digital development and consumer interests, they should be working iteratively from Minimum Viable Product and enhancing from there, and that does not support the argument for the creation of a complete suite of static “test cases” before testing even starts.

The expectation of and reliance on “test cases” and automation in many digital workplaces indicates a fundamental lack of understanding of what testing actually is. This is commonly enabled and enforced by members of the test community itself, many of whom have never questioned the inconsistencies inherent in the establishment process (which shows an indicative lack of discernment for people who should be professional sceptics). I have heard various dogma about why people think we need test cases. I say “dogma” because, if they were arguments, they would be dropped when the people who believed them were given a compelling rational counter-argument that clearly disproved the belief…

  • “We have written test cases so new testers know how to test a system.”
    • First, test cases are not designed to teach anything. They don’t explain what user need the program is supposed to address or how the user is anticipated to use it, or what the out of the various functions mean to the user, or why the designer decided to choose one function over a different one, or the business priorities with respect to the program.
    • Second, you would think that, if you’ve hired an experienced professional tester, they’d already know how to test. All they need to do is learn what the program is for and how to use it, experiment, and question to start getting a feel for the product and the project.
    • Third, if you want to teach someone to test (ie use critical thinking, structured analysis, intuitive leaps and intelligent informed reasoning supporting their reports), you have to encourage them to think far beyond learning to follow a set of mindless, repetitive steps that can in fact get in the way of analytical thinking.
  • “… so we can get test coverage and test progression metrics.”
    • It is not true that all tests are equal. A fail in one critical path is worth far more than 10 typos in page content, yet each test case is counted equally when “pass rates” are calculated.
    • Does the metric really reflect the value you want to measure? 80% of the test cases may be run, but that’s because they were easy – the remaining 20% may take 80% of the time, so this doesn’t show how close we are to completion.
    • There are many more such inconsistencies with this idea. I recommend reading this article here before considering reducing tests and test activities to numbers.
  • “… so we can prove coverage and compliance.”
    • As I pointed out above – we will never have complete coverage, and any set of documentation that says otherwise is false.
    • This also assumes that every tester follows every written step, every time they do the tests, which I don’t think is a universal truth. It seems to me far more useful to inform the test professional of the details if you feel you are somehow obliged to run specific tests on certain occasions, and allow them to determine the constraints of that requirement.
  • “…to have a set of “standardised” regression tests.”
    • No tester will ever follow a set of instructions the same way twice, and a different tester will behave significantly different with the same instructions, so the idea of standardisation is completely illogical, unless the checks are run by a machine in an otherwise closed environment.
    • Even the best testers will begin to miss things when asked to mindlessly follow the same set of checks and tests every time the program is updated. Intelligent people get bored with repetition, and rush things, to get it over with. It is not testing if your mind is not engaged.
    • A (usually) truncated set of tests such as this will obfuscate the areas of change and real risk. Instead of a wild shot-gun blast of tests in the general direction of the potentially affected areas, it is far more efficient and effective to work with the developers to understand what code was changed, and where that code is used, and then target the testing to the areas of most risk. Regression defects may appear random on the surface, but they always have a cause. Working with the devs also helps them understand how they have to think about more than just the function under work, so they write better code.
  • “…so someone knows where to pick up if your tester gets hit by a bus.”
    • This is the best reason I have seen, but still, if your tester has been giving clear and informative progress and issue reports along the way, it should be obvious what they have done, and any good tester should be able to see what yet needs to be done. Progress reports that say “Of 33 test cases, I have run 17, and 5 of these have failed” do not actually tell a replacement tester what testing has been done.

I was appalled to see, in the results of a job search, the term “Automated tester” being commonly used. Gone is the facade of testers being “test automation engineers” – they now say explicitly that testing can be done by a robot. We have cheapened our profession so much, allowing people to believe that what we do can be reduced to a series of steps, and our valuable analysis is just a number, that they now rationally but erroneously intend to replace us with machines. I’m not even particularly concerned for my job: this is disastrous for our digital future, as our increased use of, reliance on, and integration with digital solutions that have no better critical functional analysis than an automated check.

The only real thing that testers produce are reports on the state of the product under test, for the business to decide if they are happy to release the product or not. This is what I do, and I try to do it to the best of my ability. If the business requires their testers to conform to bad testing practices, they will get poorly tested products, misleading metrics and a false sense of security, and it will cost more in time and issues. If your tester is informed, professional, and has integrity, but cannot change the way things are done, they will leave you. If you want to just wave a “tester” at the product to get the rubber stamp and don’t want real information to burst your bubble, why pay professional prices? An office temp could do it. If you really want a tester, who gives you good information, so you can have justified confidence in your product, let them do their job properly.

The established process wastes significant time and money on writing and/or running symbolic ritualistic checks, gives people meaningless or misleading numbers,  and then allows people to naively believe that these prove something by which they could make reliable project decisions. This process I reject, as insufficient for good testing: wasteful, unprofessional, limiting, unethical, ignorant, dogmatic rubbish. And yet, this latter kind of testing is what the majority of potential employers look for, knowing no other way. If your organisation can afford to waste huge amounts of money on bad practices, bureaucratic rituals, shoddy products and customer dissatisfaction (eg, in my experience this means government, banks and insurance companies) and that is how your company operates, you don’t need or want a tester like me.

This essay is targeted at the managers of the digital development (IT) section of businesses that want to make or save money. A professional tester should be sceptical, especially of their own perceptions, asking questions, learning new test techniques and skills, efficiently targeting their testing to the areas of most risk, owning and learning from their mistakes, working to inform the stakeholders about risks, uncertainty, what kind of bugs they are getting, what other issues the project faces, the state of the product, and how the tester know their testing is sufficient for the needs of the business. If this is what your business wants, then you actually do want a tester. I am in awe of the people who represent this kind of testing: I am inspired, challenged, and constantly reminded that there are brilliant thinkers in the world, who work with vast integrity, and I want to be counted amongst them.

3 and a Bit Months Without Official Job and Income

I knew that my company was struggling to meet financial targets, and actually asked my manager if redundancies could happen. He didn’t believe it at the time, and acknowledged my perception when we got the word that it would happen, after all. When we were told I got the strangest feeling. Having just started 9 months before, and having failed to gain the approval of the clique of older women (long term employees) who told people how things were to be in the business, I felt there was a good chance I would not survive the cull in early August. Where the other testers whose jobs were at risk were metaphorically kneeling on the cliff edge pleading or stoically waiting for the push, I found myself looking over the edge, wondering where to jump to.

I really did not want to go back to my original job, that I had left for much better pay and opportunities. I thought I’d try my hand at contracting. I really liked the idea of doing my job, which I enjoy, in a variety of environments where I wouldn’t stay long enough to suffer the effects of office politics, and getting paid really well so I could have the time after each job to enjoy my life and explore new interests, like training to be a clown, and writing. I discussed this plan with the people who I have regularly financially supported in the past – none of them legal dependants. I needed to know that if I took the option of a non-guaranteed income that they could survive without my help. The Ruski bravely declared he could handle it. The Girlie already owed me a lot of rent, from when I had a job, and was on her last warning, but it seemed she had her act together. The one overseas brushed it off, and my daughter went pale but assented. I believed I had all their understanding and support, so I signed up to a few agencies looking exclusively for contract work. They warned me the market was flat, but I am not risk adverse, and I can survive like a cockroach, so I buckled down for a wait.

First thing we did for damage control was add another flatmate, making four, including me, and we divided up the household expenses evenly (I had been paying for most of them). Moving him in involved clearing out the spare room, which I had also been paying for, of all my stored junk. We do not have a lot of storage space in our flat, so I have given away / thrown away / sold a whole lot of stuff I really no longer need, but have been keeping “just in case”. I learnt this trait from my parents, who scrimped and saved themselves up from blue collar to comfortable middle class. They like stuff, and give gifts of stuff, and protect their stuff, and put it on display. To me, a lot of my stuff is just junk, and useless, and collects dust. It’s funny how such stuff accumulates in our lives. Like emotional baggage we just keep carrying it around and not dealing with it. It’s not as though we even care for it, and it weighs us down, making an anchor we can’t walk away from, and we have to live in a house just to put a roof over it. I considered the possibility of living in a van, like some of my circus friends. It has appeal. I am low maintenance, and happy in small accommodations, and by myself. If I didn’t get a contract, perhaps I would do that, and roam around NZ teaching acrobatics and other stuff, and bringing circus to places that had limited options.

We had a long term couchsurfer at the time, who was actually a pain in the arse, but had offered to pay a bit towards his costs and space, so bought himself some grace. Then three weeks later a previous flatmate came back to NZ and shacked up with the Girlie, the girl he left behind, making five and a half flat occupants. We discussed it – he had some time to sort himself out, and would contribute to the expenses when the surfer left, after a month, at the end of September.

I actually had very little time at first: not knowing when I would be employed again, I had a heap of costumes to make for shows and games, stuff to sort out, job applications to write and casual “until I get a contract” job options to consider. I loved doing jobs for my friends – it was good to be able to give them the time I had not had before, and they really helped me in return. I signed up for all sorts of things, and got odd jobs around the place to supplement my rapidly depleting funds, but never enough to cover my weekly expenses. One of the biggest expenses was my insurance: I had only just got it sorted while I was working, and after all that paperwork I would be damned before I gave up on it. I couldn’t expect it with contracts, either, so if I wanted it, I had to keep it going. It’s a big question, though. Do I really want it? “I bet that I will die, or my kids or I will suffer a debilitating injury or illness within my working lifetime”. Given my lifestyle I think it’s a pretty safe bet, actually.

I think it was about the end of September when I bit the bullet and got an accommodation supplement from the government. I did not get the unemployment benefit – I did not want them on my case, telling me to take any job they pushed at me. I had started thinking I should just get a nice part-time admin job, where I got enough cash to survive and time to do my own thing. I was really enjoying the time to myself, and I really don’t care about having lots of money. I applied for quite a few, I didn’t get one reply. I can’t help but wonder what people look for in an office temp.

September past quickly, but October was horrible. Our returned flatmate was causing trouble with us and his girlfriend, and when I asked for the agreed expense supplement he got very difficult. He had apparently not used the free month to get himself any form of income. Then he started keeping a record of all the things he ate to show he didn’t consume as much as he was paying for, then it started coming out how much he actually despised me. This was someone who would write to me while he was overseas “hey, old buddy, old pal…” and ask me to lend him money, which I did. Apparently he was just acting as my friend from the point he got the girlfriend – he had been vilifying me to her the whole time – so I would keep supporting him, and when the money dried up so did his act. I was heart-broken. He is gone from my life now. He says he will pay me back, but in the end a bit over $1K is a small price to pay to learn I have a false friend.

The Girlie was also somewhat concerned about whether I was honest with the cash. While I said I had very little income and was running out of funds I would still buy wine for the household and go for curry after my circus class. People who are broke don’t do such things, she said. I don’t think she realised that I also paid for the studio where she learnt to dance with me, and paid for my martial arts lessons. I told her that, as an adult with no dependants, I would spend my money as I pleased, and take the risk that it runs out before I got a job, and live with small moments of non-essential pleasure while I still could. If I didn’t get a job there would be plenty of time for me to be poor, scraping for every cent, maybe worried and miserable, but more likely dumpster diving and busking. I have lived below the breadline before, and I can do it again.

My long-term unemployed daughter applied for a job. This was a wonderful thing for me – I liked to see that she was beginning to take some responsibility for her life. But the Ruski was suffering. Working 50+ hours per week to pay all his regular bills, wondering what to do about the irregular ones, and with another 20 odd hours training and/or performing was taking its toll. He gets sick easily, and has no time to try to change things for himself. I saw a thing on Facebook, about a family of friends and I thought that this is what the Ruski and I could do: I could bring in the cash, because I can, and then he could live and grow as an artist. When he’s rich and famous I’m going to be his chauffeur and bodyguard. Until then I’m supporting the performing arts of NZ.

About mid-October, with no funds left, I contacted someone I trusted at my old job and started looking for full time work again. I didn’t want to do these things, but I had run out of options. It makes no sense to me that I can’t work part time and make less money if I want. What is wrong with this world, that we have to do 9-5 five days a week, and make money we don’t need or care about? I’d rather have my life. Then the Girlie’s rent was stolen. After discussion we decided that her best option was to return to her mother’s home where she didn’t need to be financially reliable. At least her by now completely obnoxious boyfriend, who had also not been paying what we had negotiated, left with her. That left us down to three flatmates, however – short about the same amount as the weekly food bill. A couple of my friends knew how hard things were getting, and offered to lend me cash, if I needed it. I thanked them, and said I would ask if it came to that. About that time I also applied to be a bouncer at a brothel. I thought a female door staff would be a good thing for such a sensitive industry, but I got no replies from that job, either. I was rejected by jobs I applied to, rejected by potential flatmates, rejected even by a stage show I auditioned for. They would all say “you were great but we went with someone else”. I got tired of hearing that: just say I wasn’t successful. There was a time when there was no wine and we all looked into the abyss…

…and then I got a part time temporary contract at my old company, at contract rates, which works out at more per week than at the upgrade job. Then we got a new flatmate. Then I got offered a full time job and a contract job at the same time. I have decided to take the full time job, since while I love the idea of my liberty, I would rather have the dependable income to help my friend get his life back on track.

Never once did I bounce a payment for any of my financial responsibilities. I worked hard to survive and with the support of my friends I pulled through. Bad things happened, and I had to make hard choices, but I didn’t stop teaching circus and dance, couchsurfing, sharing what I could, supporting my family and friends in return, and I didn’t let anyone down. Life has been good for me, in that way. I discussed this with the Ruski – am I just lucky? He says we make our luck, at least in part from our attitude, and this is what I built for myself. It’s a humbling thought.

You Should Not Read This…

So – you ignored my patronising advice. Good for you 🙂

There are some words that, when I hear them, instantly raise red flags around the communication. One of these is the word “should”. Every time I hear someone say this I know they are talking about an idealised, romantic view of the world and commonly not about reality. Here are some examples…

As a tester, I hear the word “should” a lot. “The content from this field should populate the corresponding field on the admin page”. “The import should take no longer than 5 min”. “The user should be aware that they can’t add a link to this content”. Testers are professional sceptics. When we hear the word “should” we say “Reeeally? I’m going to have a look at that…” It’s surprising how often statements like these are wrong, completely or partially. One of the things that catch developers out is the belief that their “should” will apply in all circumstances. Yes, a name entered into the Name field is saved to the database… except when that name contains an apostrophe (common in Polynesian names), a hyphen or a space, or some strange German letter… And even if a user “should” know better, what happens is they accidentally add a link (in a cut and paste, for instance)? Does the app up and die? It probably shouldn’t do that.

As someone who studies ethics, however, one is aware of far less amusing failures of the word “should”. “People should protect the environment, if they are rational”. “There should be no discrimination in the workforce”. “People can believe what they want, but they should not act to harm other people or communities”. What people are really saying, when they say “should” is the opposite: people DON’T protect the environment, there IS discrimination, and people DO act according to their beliefs, even when it harms others. After making these pronouncements ethicists then allow themselves to feel disappointed at the way people actually behave. We need to accept the reality of what we are talking about. Ethics are too often about dreams and utopian ideals, and not about reality, and it’s far too easy for a privileged, educated Westerner to accept the constraints of their own ethical pronouncements and just assume that if they can and will, anyone can and will. Until ethicists make statements that are both possible and compelling to the general population, or at least law-makers, ethics fails to be a practical study and is instead just a means to designate various things that would be valued, if we were rational. We need to find the statements that make the following true:

  • People CAN AND WILL protect the environment when…
  • There WILL be no discrimination when…
  • People WILL NOT hurt each other when…

Anyway, who listens when other people tell you what you “should” do? You’re reading this, right? Unsolicited advice, or just basic patronising authorities (warranted or not) are generally ignored unless someone really has an interest in the topic and no clue what to do. In my experience, they only time pronouncing “should” has any effect is when people turn it on themselves: “I should go on a diet”. “I should not pay so much attention to negative people”. “This should not happen to me”. This has an effect because, rather than achieving these high aspirations, we fail to achieve them (or even properly start them) and then have an excuse to beat ourselves up. It’s a self-imposed goad with no plan to get the carrot. One of my couchsurfers put it very well when she related being told to “Stop shoulding all over yourself”. Once again, when we say should, we are being unrealistic, and talking about dreams instead of realising them. We need to accept that we are NOT going to go on a diet, unless something changes, and then we might. We only change when we actually do something, and keep at it, however that comes about, and then there is no more “should”.

SPIN, DEARMAN and Integrity

Last weekend I attended an afternoon convention for professional software testers, which seems to be the career I have fallen into… I think critical scientific and heuristic thinking combined with a fairly devastating ability to find weaknesses in complex systems (biological, political, battle strategy and tactics and now software) would lead to that. That, or terrorism…

Anyway, I attended an interesting talk on a technique for communicating needs for change to someone who could help but might not agree. It was summarised by the mnemonic SPIN, which stands for:

 – Situation – what I see
– Problem – why I care
– Implication – why the one I’m talking to should care
– Need – what I think we should do (this can be opened up for general discussion if you really don’t know)

Following this technique, one gives all the relevant information and motivates the listener to act in everyone’s best interest, which is rational.

The word “spin” itself has some connotations of biased representation of data, like we expect from the media and politicians. The technique is biased from the petitioners perspective:

 – the petitioner might not have the full information, therefore what they see might not be the whole picture, or even contain all the relevant pieces
– that the petitioner cares does not mean that other people have the same problem or that it is any of their business – I have made this mistake myself, overstepping the boundaries of program testing to project management, for example. PM’s should not tell testers how to test, and testers should not tell PM’s their job, either…
– telling someone why they should care is fraught with issues of being patronising, telling them how to do their job, and anyone who knows these techniques can see they are being “managed” which can trigger some negative reactions to manipulation or lack of respect, justified or not
– the petitioner might have all the info and still not have the best solution, or even a solution that follows from the situation (as conclusions follow from premises). They might not like the solution that the one appealed to comes up with.

Putting that aside, I was reminded of the DBT (Dialectic Behavioural Therapy) technique for appealing to someone for a change (in their behaviour, usually), known by the mnemonic DEARMAN:

 – Describe – the situation, as above
– Express – how it makes you feel when the situation happens; this is sort of like the problem, from above, but makes it more subjective, and therefore less arguable
– Assert – what you want; your need, from above
– Reinforce – why they would want this, too; implication, from above
– Mindful – staying on topic, one issue at a time, and not getting distracted by excuses
– Appear confident OR no Apologies (depending where you look) – people don’t listen to you if you don’t appear to stand for what you’re saying
– Negotiate – keeping in mind that you don’t know everything

I have rather more time for this approach, as it more clearly puts the ownership of the alleged issue with the petitioner, gives some good advice for the manner in which one should make the petition and negotiate it, and the mnemonic is more respectful.

BUT… Both SPIN and DEARMAN have two common unspoken pre-requisites: that the listener cares to make things work, for themselves (rational) and the petitioner, and that they can actually do something to bring about the petitioner’s required change. I have found, in both personal and business relationships, that these are not always the case, and no matter how well you make your case, and how important it is, it will bring about no change. Some people do not play well with others, or just cannot effect change. (You have to go around them, if you can.) Humans in general are notoriously bad at acting rationally. I found DEARMAN can sometimes be very disappointing in the real world.

Then I saw a very interesting YouTube clip about professional interpersonal relations. (I’m sorry – I forgot to get the reference when I saw it – I just made some notes of bits that resonated). The presenter encouraged me to believe the following:

 – Self: I have some information, but I may not see or understand everything
– Other person:
– may see things that I don’t see which could help
– is acting with integrity given their situation
– Task: combine our knowledge to make the best choice

So first we select and describe the problem, as above, but then, when we explain, evaluate and propose actions we have to remember we are working on assumptions.

The “acting with integrity” clause hit me like a wet fish. Really? I myself do always try to act with integrity, and I don’t always agree with the ideas of others, even given the same information and good incentives. The word “integrity” does make me reconsider the position of people who are challenging to work with: they could be right, for one thing. Even when they are apparently only gate-keeping, throwing up obstacles to progress, protecting their territory and other such non-productive behaviour: while they are being difficult, even sometimes unprofessional, their situation could be the real problem. How much stress are they under? What are they frightened of? What are their obstacles to change? Can I help them to help myself?

In reality, commonly you can’t. Their situation is causing a problem for them, and it might be that there is no-one who can help them, or maybe they have to SPIN or DEARMAN someone themselves, and then we have to hope that someone at the end of the chain of needs starts a domino effect of necessary change.