How do you do, Head of Testing? vol. 1

Thanks for asking. To be honest, the answer depends on the type of day I’m having. Downward spiraling direction can be found in my days more often than not recently. Ah, I should finally take the lesson from Benjamin Zander about those spirals and ditch them. And also remember rule #6.

A bit more than a year ago I started out with the goal to help testers in the company do a great job. It looks broad and sounds idealistic but it was as good as any mission to take as a starting point. I believed I could find a way to rally people behind initiatives, ignite their belief in change, and help them engage and drive testing and its development. At the same time, I had to figure out what the role of a competence head means…

I couldn’t be everywhere and put my hands into and onto everything, I knew as much. Some groundwork needed to be done or so I thought. Understanding the people and the system, its influences and boundaries was my first goal. So I set out to have long discussions with almost all testers in the company. I didn’t believe in picking and choosing just a few because, naive as I am, I believe all people matter and play some sort of role. So I did that, spent quite a lot of energy and didn’t get much of it back.

I gathered a lot of information in notes, impressions, memories, stories by doing so but then trying to analyze and systematize it ended up being a painful and somewhat confusing process. So I learned that sometimes there can be too many different answers to a limited set of questions. Some patterns may emerge but it may only be your own biases that make you see what is not there. But interpretations you make are very real in your mind. Piecing the information together to describe a big picture of the status of testing in the company through the eyes of testers took me a lot of energy and didn’t give much back.

It also made me think of how I chose the questions. I tried to cover a vast spectrum: understand the person’s history in testing, their knowledge and habits in testing, evolution of testing in this company through their eyes, problems and issues they see, changes they hope for, etc. Looking back, I’d still talk to every single person but be more careful and selective in the questions. I could easily come up with a convincing rationalization why I needed each and every one of those questions, what kind of information they would yield and why I deed this information… My mind is really great at such things. However, excess of stories will make the load heavier than it needs to be. This takes energy and it’s difficult to get it back.

As a systems thinker, I’d been noticing signs of barriers between people. Detecting barriers in an invisible system of people in an organization and off the org chart goes like this: you run face first into something, scream in pain, curse and cuss, and try to determine the culprit. It’s just that you can’t see it but can trace your fingers across air and lightly touch… something. Imagine navigating a glass labyrinth where there are people almost within your reach, only to brush your fingertips against the glass. Some cold drafts sweep past you. Eventually you determine that the actual office layout has an uncanny similarity to the labyrinth. Why, both have glass walls through which you can see people but not interact with them very well. So you turn your back to others and mind your own business with the people next to you. Observing this is emotionally taxing and takes energy that I can’t get back.

So I sketched the organization on paper to visualize issues, and discussed it with some people. In addition to all the other things on my plate, I started trying different things to see what could increases osmosis…

More on that in the future. I’m starting to ramble and wax lyrical about glass walls. That ain’t gonna give me the energy back.

 

5 Years in Testing

My life changed 5 years ago today when I started as team lead for the testing and documentation team.

I knew nothing about testing. I had a vague idea about it at best.

I knew nothing about team leading or building a team.

I knew very little about software development in general except for what I observed while working as a technical writer.

My background in the humanities didn’t make it look like I would last for long.

Fast forward 5 years and I’m still here. Who knew? And, more importantly, why am I still here?

***

Well, I guess my to-be boss knew something about me that I didn’t when he asked me if I’d like to take the chance. It seems to be a recurring theme in the past 5 years: people around me point (or push) me to try and do things I didn’t know I could do. Sometimes I kick and scream but when I go for trying something (a peer conference, a test challenge) it usually ends up being rewarding. So I don’t know what’s the real lesson here: should I just think I have a lot of blindspots about myself (in which case it’s great to have smarter people around me)?

I know that the people in the testing community have made a great difference for me by talking to me (even when I was scared to say something for the fear of saying something stupid – I probably have said stupid things along the way), sharing, helping, mentoring in one way or another… I never knew how powerful the connection between like-minded people could be and how it can propel me forward. Now I believe in and advocate for simply bringing people together and supporting their interactions as a way to make things happen. Sometimes you may not know what’s really going to happen but that’s OK. I want surprises.

I’ve learned many things about myself. The environments I’ve been in have brought out the good and the bad in me. I’ve discovered integrity and grit in me that make me push myself to find yet another solution after having tried and failed several times. It has helped me through situations where it would be easier to just do what you’re told but which would make me feel like I would break and be lost forever if I did that. I’ve learned that I’m not good at just following orders: I prefer to think for myself and understand the situation fully, and make my own decisions because I can understand them and can be responsible for my work.

I’ve also discovered that I have a long way to go when handling manipulative people or dealing with certain conflicts in a productive way. I’m very grateful to my manager that was patient when I was sarcastic and ironic, and whom I could observe and learn from as he dealt with similar situations. I’ve learned from other managers who’ve shared their approach and who inspire me with how cool they are with conflict. It’s not about the fight. It’s an opportunity to get somewhere.

I’ve learned to think critically in a different way as compared to what I was taught at the university. It was almost uncanny when I realized how much learning to think like a tester intervened with my “academic” mode of thinking. I somewhat got into trouble with that over my MA thesis… On the other hand, I’ve found useful takeaways from my education to use in the testing field related to doing research and analyzing problems. What I’ve added now is systems thinking and wow, does world make more sense or what… Learning to think like a tester has taught me to think. Period.

I’ve learned that testing is wonderful because of the endless brain-tickling opportunities. I remember that even when I was younger I loved the feeling in my head when the pieces of information clicked together and the world transformed – I’d brought an unknown unknown into my world which made it a known thing for me. And it made the world more exciting. Testing provides such moments all the time for me. There is always something to figure out. There is always the chance you’re wrong, so uncertainty and doubt will be your trusty companions. Since I question myself quite a lot, it kind of fits me… This will keep me thinking, learning, re-evaluating, and searching.

There are many wonderful things humans can do using their skills and tools. Maybe I’m not so good at using a plethora of testing tools but I’ve discovered I’m somewhat good “at people”. I tend to care about them… And I like the feeling of having made a difference. Therefore, human-centric testing gives me plenty of space for helping to solve problems, change something, and learn in the process. It’s a space where the excitement of discovery and learning will be serving a great purpose. Had anyone told me this 10 years ago when I finished high school… It wouldn’t have made sense to me. I mean what can one possibly know about what they could do or are capable of or should do with their life when they finish high school?

I’ve learned that (self-)reflection is a really powerful tool. If you want to double, triple, or quadruple this power, you should reflect with someone together. I’ve always been a person to do this (as long as I can remember myself) but it’s only during the past five years when I’ve seen the benefits of reflecting regulary and with purpose. I won’t be able to discover all my blind spots in the process but I’m getting better and better at it.

In the past 5 years I’ve found that I like to and can be good at training and coaching people. I’d been in testing for a bit less than a year when I had to hire and then train 2 new testers. Whatever I had learned in that year I had to pass on… quickly and effectively. This made me sharpen the focus on how to build the team, how to build skills in the team in a way that would have decisive impact (because ain’t nobody got time to wait until I take my time with it). Building a team for me is about creating the right conditions for people to do their best work. I can be quite protective if someone wants to stop them from doing that (because they have to go over my dead body but I refuse to die or get out of the way).

I also discovered that good leadership and people management is what I’m passionate about. Having reflected on my previous experience and having seen some dire “examples” of mismanagement, I get really fired up when I happen to see one again. I want to help people understand how much impact they actually have as managers and how much awesome it will be if they don’t try to just get by but commit to their team and serve them. I didn’t know I could lead or I would care about this topic so much but I’m glad I know it now. Because now I’m aware and can think of ways how to help. And I believe, maybe naively, that other people can cultivate their leaderhsip skills if they decide they really care.

I used to think volunteers were weird. Why do anything for free and out of your free time? Now I’m a big time weirdo myself thinking, reading, writing, sharing, talking about testing, helping to edit articles, helping to arrange testing events… What I didn’t know before is that if you find something you really like, you want more of it. And you especially want more of it in your free time because… well, it makes you feel awesome.

I guess there are many more lessons (and they would make this post awful long). I’m inredibly grateful for having been given the chance to learn about testing and thankful to myself for having the wits to have taken it. Somehow I’ve made it from a clueless test lead to Head of Testing. I don’t even dare to think of what lies ahead… No, wait! I DO dare to think about it and I will. It would be really weird to find myself in the same place as I am now in the next 5 years… I don’t know where I will end up because I sure as hell didn’t know I would end up where I am.

I want to thank everyone who has helped me in any way, who has taken the time to talk to me, who has had to exercise their patience to talk me into things (or out of things), who has taught me even if they don’t know they have. Thank you.

Here’s to many more!

Taking My New Job By The Balls, Part 1

In April 2014 I accepted an offer and in June I left the company I’d been with for the past 6.5 years (4 years as tester/team lead), and started my new job as a senior testing specialist at another company. These notes/remarks/observations in the upcoming series of blog posts are based on my first 2.5 weeks on the new job. Orderly notes and thoughts are not guaranteed. Also, a lot of the things here may seem very obvious to you (they already start looking very obvious to myself as well…) but that’s OK. I mostly want to share my journey and I want to have at least semi-digested notes for my future self because I have come to appreciate the value of introspection more and more, and the valuable learning I get out of it. And… I’m also seeking the comments and remarks of other testers who recognize the questions I’m trying to answer and the problems I’m trying to tackle.

Some background

Since I’ll be writing a few blog posts about the balls of my new job, I expect most of the details of context and background to emerge from several posts instead of one lengthy intro. However, for the sake of a little clarity, here are some notable details:

  • then: used to test a product 30+ years on the market, 2000+ customers; now: beginning stages of a software project for a single customer
  • then: built a team of testers, 2 of them coached and trained by me as newbies; now: 2 testers plus me on the project team, both have previous experience but have been “lone testers” on projects up until now
  • then: no specs, no business analysts, various people partially filling that role (including testers); now: business analysts and specs and all that jazz
  • then: different in-house teams of programmers specialized in a domain; now: testers, programmers, BAs on one team focusing on the same thing together
  • then: cowboy development; now: planned and organized sprints
  • then: geographically distributed teams across 3 continents; now: everybody’s in the same country but there a few different companies developing parts of the software for the customer

I think this could give some idea about the change I was about to undergo… Add to it the fact that now I’ll be testing a web app which I’ve never done before and you’ll get the picture.

Getting into the zone

So… I step into the office on my first day not sure what is going to happen next. Oh, was I nervous… What really happened was that I got to learn a lot of new stuff. And this. Is. Awesome. I did know something about the project context from the time I was first approached by the company. However, a couple of months had passed, so I figured I wasn’t up-to-date anymore. Well, that hunch got confirmed on the first day.

I had been preparing myself mentally for the context where I was going to do a lot of learning. I’m not very sure how to describe it… I kept having internal monologues about focusing on learning, jumping right in and tackling whatever got thrown at me. I was recycling the learning and thoughts from Rikard Edgren’s tutorial on Test Strategy that I attended at Nordic Testing Days. Somehow it made me feel like I had solid ground under my feet.

I also had quite a few internal conversations/introspections about what I had learned at my previous job, the mistakes I’d made and how I thought about them; what kind of things I’d learned and why I’d learned them (I don’t think all potential lessons stick… or that I’d notice every lesson I could learn); what were my personal goals on the new job; what were the things I’d wanted to try but couldn’t at my old job. I went over the reasons I’d accepted the offer: to learn new things, to push myself out of the comfort zone once again, challenge myself. There were moments were some part of me was thinking “oh shit… how am I going to do this… will I fail?…” but that’s when I told myself this: “Helena, remember what happened the last time you plunged in head first into the unknown 4 years ago? You had no fucking clue what you were going to do but remember the trust you had in your ability to figure things out. If it’s the potential discomfort that makes you edgy, then just lean into it as you have done before. Push through the discomfort as you’ve done before: you know well enough that discomfort is exactly what will make you think of a solution. After all, nothing changes if you’re comfortable. And didn’t you want to purposefully make yourself uncomfortable so that you’d learn new things?”. Or something like this…

Maybe I’m slightly crazy for preparing mentally like this. Maybe. For me it seemed necessary to get really focused, keep my head straight, and “sharpen” my mental state. In hindsight I believe it paid off (and surprised some of my new colleagues :)).

I used to play volleyball as competitive sport back in the day. What I was doing back then before a game and what I was doing recently felt quite similar. You collect your thoughts. You try to identify and tune out the noise (or silence certain damning internal monologues). You try to will your feet move quickly. You observe how the other team warms up, start figuring out strategies… You get ready to do your best!

When I started as tester/team lead 4 years ago, I did no such thing. But then I really had no idea of what was in store for me. Now I had an inkling and I used that as an heuristic to do something differently this time.

The Vast Opportunities for Learning. Great! But…

I believe I’ve been able to establish that I was going to do a lot of learning of different kinds (technical, managerial), on different levels (personal, project-related, professional…). During the first couple of days I observed a few key questions/issues surface. Or rather, these questions had a floodlight pointed at them for me…

Firstly, how to best deal with information in general? How to deal with the information I was given on a daily basis (meetings, discussions, briefs, documents, specs…) or that just landed on my plate? Getting hosed down with a lot of different things from different sources  – how not to lose my head?

Secondly and more specifically, what to learn now and what to learn later? E.g. what kind of information to actively seek myself, what to delegate, what to disregard.

Thirdly, what kind of action to take now and what to postpone?

While untangling the questions from each other and clarifying my thinking, I had these brief deja vu moments. These came about in the form of “oh, this line of thoughts sounds familiar” and “I think I’ve read about/discussed this several times but that’s just been theory so far”. Funnily enough, even though I’ve never been on such a project before and I’ve never had hands on initiating a whole new software project, I almost felt as if I had. There were thoughts and ideas gushing out from the back of my head about how to start tackling these questions. I know I was applying heuristics that I’d “accumulated” over the past years but this library needs to get more organized. To be honest, it was more like a flurry of ideas… which is exactly why I’m now putting myself through the paces and going through the exercise of identifying and thinking about the heuristics I already used during the first days to do the things I did.

The questions I highlighted have formed the trinity I’ve kept revisiting and that I will look at more closely in the following blog posts.

Becoming Healthily Uncertain Doubt by Doubt

Fiona Charles’s workshop “We Can’t Know Everything – Promoting Healthy Uncertainty on Software Projects” at Let’s Test 2014 reminded me of a dusty old idea at the back of my mind…

Once when I was musing about what good has seven years and 2 degrees at the university done to me, I realized that one of the greatest lessons I learned was that I learned to doubt. I learned to be suspicious of quick and definite answers. I learned to deal with not knowing things for sure. I became conscious of how fallible I am.

What did I study that taught me this? I studied English language and literature.

I started out along with a bunch of others thinking that we shall be really good at English, that we shall be experts of sorts. I ended up being an expert doubter scrambling for information from a variety of resources to have some degree of certainty in a specific and limited context. It’s what studying a language teaches you: usually the meaning of words is not straightforward and it tends to depend on context. “No wonder context-driven testing makes so much sense to me,” I thought.

I have discussed the feeling of constant uncertainty with my course mates and they have agreed that it’s one of the most persistent lessons they’ve learned. Conversely, we’ve noticed that it’s not a lesson other people have learned or willingly learn when it comes to language. If I’m asked to translate a word or a sentence, I can rarely offer up an immediate translation, and this is when people express their confusion. “It’s just a word” or “it’s not that complicated” is what I hear.

As a professional doubter, I beg to differ. I need to use several heuristics to determine what could be a suitable word, for example. What is actually meant (use rephrase as a method) and what is the specific context? What is the style? What is the register? Sometimes there may be a few words that look very similar in meaning but may have nuances in the contexts they’re being used. Choosing the right one from that set may take some additional research into the usage of the word. Eventually, I’ll have to make a decision and accept it that I may still be wrong.

That’s how I’ve been exposed to and conditioned by uncertainty in the unexpected event of my becoming a software tester. I don’t know if others have similar experiences from different specialties. Also, I still need to think about if I can find a way to translate parts of my experience into something that can help other people on the software projects.

I still have this question, though… Will long-term exposure to (a certain kind of) uncertainty help to deal with it or can there be short-term strategies that help as well?