Ask Me Anything: Communities of Practice

Tonight we had a Pirate Tester take over our airways for the latest Ask Me Anything all about Communities of Practice. Thanks to @ThePirateTester for a great session.

I’ll share the resources below that I was able to catch on the night. If I missed a resource or you have another question you’d like to ask, please share it on this thread.

If you missed the live session, a recording will be available on the Dojo.

3 Likes

Resources

Book by the awesome Emily Webber

https://ministryoftesting.com/dojo/series/testbash-brighton-2019/lessons/practicalities-of-building-communities-at-scale-lindsay-strydom-gareth-waterhouse

https://ministryoftesting.com/dojo/series/99-second-talks-from-testbash

Questions

The questions we didn’t get to:

  1. Who sets up a session? How do you setup a session? Who do you invite?

  2. Could we use the community of practice concept to create a software testing apprenticeships?

  3. If you had a magic wand, what would the perfect community of practice look like?

  4. What is the most challenging while building a CoP in your experiences? How did you overcome it?
    an answer from the comments My main problem was people assuming our Quality Guild was the same as a QA retro. I sent out ‘advertising’ emails, a bit like freshers’ week. I also got the QAs to invite squad members.

  5. What is the worse thing about starting a CoP? Are there any downsides?

  6. What is the aim of creating a community? Should there be a specific goal in mind? Or do we let the community decide the goal? Could this goal change over time?

  7. At my work, we have an engineering and QA CoP. Would you suggest splitting testing and development, or not? It seems like everything is always geared towards engineers, and QA is just bolted on without being included. Thanks!

  8. Is there a place in the community (forum,slack,discord) where CoP or Guild organizers can collaborate and get ideas from each other?

  9. Kinda community related; do you ever experience imposter syndrome being surrounded / presenting to people with diverse experience?

  10. What has kept you motivated to continue within testing?

  11. Hi Lee, How can we create a community in an agile way ?

  12. How do you manage the engineering teams expectations on your testing efforts and experience?

  13. Hi Lee , with whole industry moving for test and devlopers in the same team … what will be the growth path for testers and wouldnt it be that developes would be given that extra benefit as their into codi g ?? Would it be eventually that there will be no testers and everyone doing coding and testing … whole concept of testing with e2e perspective wouldnt it fade away

  14. Has the mention of Automation frameworks made you fear for your role within manual testing - especially considering the current economic ambiguity in the UK? / did you progress to automation?

  15. What are your recommendation to maintain CoP and make people always more motivated?

  16. Can you give tips on using inclusive language for communities of practice? What I mean is that I want others to be able to attend the developer or tester guild even if they are not developers or testers. Maybe even have them turn up especially because they are not from that same discipline background

  17. Hi Lee, Did you try the ‘testingtour’ defined by Elisabeth Hocke in your testing community ? How it goes with more than 2 testers ?

  18. Hello guys, I am fresh CS graduate and I would like to be a Tester. Can you suggest me any tips to land on my first job as a Tester? Also where do I start in order to be a good tester as we have not had a proper tutoring for Testing? Finally do I need to obtain professional certifcate in Testing in order to get a job as Tester ? I answered with “Welcome! I’d suggest looking at a few Club posts Club Posts To Help You Get Started With Software Testing And QA Are software Testing Certifications worth it? and possibly also ask over on the Club :)”

  19. How do you feel about combining different industry testing community practices - such as gaming industry and web?

  20. How would we start with community of practice how can we attract one to join And actively participate in community of practice?

2 Likes

If from a purely logistical sense of booking meeting rooms and sending out Outlook invites or a poster on a staff board somewhere, then anyone can do it. It is likely one of the “active” members who runs/presents the session.

If in terms of getting the whole thing started, I briefly touched on this during one of the answers I gave.

First, ask WHY have a Community of Practice? Regardless what they are practitioners of, if they don’t know why they want to come together as a group, it will struggle to succeed. Once you know why you exist, you can think who would allow that to happen. For a Test Community of Practice, you might only want those who perform testing as their primary function, but as the community matures it could look to bring others in who might have some input, or benefit in learning from the community.
Then, think about what would be a BAD example of a Community of Practice as a community. This will allow you to agree what will be done by the community to prevent that from happening. It reinforces it is about the community, and not whoever leads it (whether it is an individual or a small leadership group).
For the sessions themselves, it can depend on what it is. A group discussion will be setup differently from a presentation, which will be different to a workshop.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

I would say no.

The reason is apprenticeships require a certain amount of structure, that wouldn’t fit with a Community of Practice. This is partly because their attendance should be optional, but also what they need to know during their apprenticeship might not be suitable for a CoP session.

However, I would encourage apprentices to attend CoP sessions. They might not be practitioners yet and be pure consumers, but it helps them get to speed quickly, as well as potentially meet testers they wouldn’t see others.

We have test apprentices who joined my workplace last year, and they are some of the most passionate Test CoP attendees, because they want to learn. So whilst it can’t drive the apprenticeship, it could help them during it.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

The people would be passionate, with a mix of wanting to learn new things whilst also sharing new things. (Just because it isn’t new to them, doesn’t mean it isn’t new to someone else.)
There would be a budget to allow us to send people to conferences, bring in external speakers for topics and tools we are unaware of, books that can help people, etc.
They would regularly happen, at a schedule that works for everyone, that everyone attends by choice.
As they progress towards their goals and aims, they would make new ones, allowing it to be constantly rejuvenated, rather than fade away.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

3 Likes

What struck me from the AMA was that there was one key difference between our guilds and CoPs. Initially, the idea behind the guilds structure I set up was to get all departments engaging with discussions of quality. At first, there was one dev and the QA department. It worked, but not in the way I wanted it to. Now, the guild has members of the UX team, the design team, Product Owners, account managers, support team members, front and back end developers and, of course, members of the QA department. Whilst it may seem like a crowded meeting, the people who do attend don’t drown each other out, and they are always interesting. It’s amazing what people outside of the department bring to it, and various ideas have come out of the conversations - it’s really been key in driving new ideas and processes.

Sorry for the self promotion, but I wrote an article on it here (this is a rewrite for external consumption - the original internal version was very specific to us) - https://codeweavers.net/company-blog/how-were-implementing-guilds.

1 Like

I hope you don’t mind me posting another question. I’m hearing a lot about companies following the Spotify model with squads, tribes, chapters and guilds. Which one of these would a communities of practice apply to?

The most challenging thing I have found in building a CoP is getting people to buy into. Not just the members, but those outside of it. This is time that is outside of a project or something similar, so there is the challenge of will people have both capacity to do it, and been allowed to by various levels of management? There is also knowing if people will be interested to attend or be involved, even if they have the time available?

This can be helped by “selling” the benefits of the CoP, which can be pitched differently for those inside the community versus outside. You could have a catchy pitch to get those into the first session, with the first session explaining in more detail why it exists, how it will help and what it will achieve. You could also give a more formal presentation to those with influence outside the community such as managers, in a format that they’re more used to. Myself and two other people gave a presentation with slides to our senior managers, explaining what a CoP is and isn’t, showing the differences between it and a meeting, as well as helping them see how it will give a tremendous benefit for only 1 hour a fortnight per person.

As for the follow up comment, whilst a CoP can benefit from a retro, I would have it separated from the QA retro (though I’m curious what it is about QA that means it gets it’s down retro?). But sending out reminder e-mails is good, as people can easily agree to something and then forget about it, or think that they will go to it, only to realise they’re double booked.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

The worst thing can be actually getting it started. You can have an idea of what you want to do, who will turn up, and what will happen. But often expectation and reality can differ. Researching how the initial session can go will help, but people could ask questions or want to do things that you never expected. You might have your first session ready to go, but no-one turns up. You might want to start, but can’t find a meeting room big enough to hold everyone (which I have had), as they get booked months in advance due to how rare the slots are.

I’d say there are no downsides to having one, but depending on what the community is about, and how the company is structured, they might not find much benefit from it.
Weirdly, companies which are in traditional waterfall silos, where people from the same role/department spend time together and are co-located, but don’t get to interact much with others roles, get less from a CoP. This is because they’re easily able to share ideas with one another, know what ways of working they’re doing, and keep up to date with things.
Whereas for agile companies/teams, because people with similar skills/roles are split across lots of different teams, and whilst the agile team is co-located and collaborates together, they don’t interact as much with people outside their team, a CoP offers more. One set of testers might be struggling to find the best way to test something, but by raising it in the CoP they could find out another team had a similar problem and then can share how they solved it.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Now, this is a tricky and wide set of questions!

I would recommend having a goal/aim for the community, but as you suggest, I would recommend the community decide it.
An initial aim might help decide who should be involved with your community to start with. If making a Test CoP, you might not want to include developers even though they perform unit tests. Or, you might want them in, because they do unit tests, and to broaden the testing skill across teams.

I would advise your goals are built to the SMART model:

  • Specific
  • Measurable
  • Achievable
  • Realistic
  • Timely

So if you said we want to get all 50 testers completely fluent in using automation in a month, it would be M and T, it wouldn’t likely be Achievable or Realistic, and arguable not Specific enough (which automation tool/language?).

But, if it was to get 50 testers to be able to build and run a Selenium script without support over the next 12 months, that could be SMART.

As for goals changing, they can and likely will change. Once your have achieved your goal, the community can see if there is a new goal they want to work towards, and if not, then they might want to think should the CoP be disbanded? It isn’t a failure for one to stop, especially if it achieved what it wanted to do. Even if it is a case of taking a break for a few months, the community might find there are things they can set as a new goal, and restart the CoP again.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Without being there to see how they both work and interact, I would tentatively say yes, they should have their own CoP’s. They are practitioners of different things, and that is the key thing to remember for a CoP - It is easy to remember it is a Community, but it is the Practice that can be easy to fall down on.

Whilst quality is the responsibility of everyone, there can be a difference in how the groups achieve that. Do the testers want to know how all the code is written? Do the devs want to know what boundary value analysis is, or a decision matrix? As those are things that each community could be focusing on, using extremely broad examples.

One thing I would do with both CoP’s, is challenge them as to WHY they exist? I talked about that in the video, but if neither of them know why they exist, what their goals and vision is, then should they exist? Or do they exist for the wrong reason?

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

1 Like

I can’t see why you couldn’t use the Club, or either of the Slack groups (Slack Invite | Ministry of Testing and https://www.ministryoftesting.com/testers_chat_invite) to discuss ideas. Depending on what you want to discuss, it might be things which are good for testers in general, not just for CoPs/Guilds to discuss ideas.

Is there anything that comes to mind you want to discuss, or is it more a case of knowing that it is available for when you need it?

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

No, but the reason is I’ve accepted that we each have our different experiences and skills. If someone knows things I don’t in a field I want to know more of, they haven’t gained that knowledge by stealing it from me. It isn’t a zero-sum event where only one of us can learn about Exploratory Testing, for example. Instead, I could find out if there is a way I could learn from that person, whether it be from them mentoring, sharing their experiences in the CoP, running a workshop, whatever works for them to help the knowledge be spread around.

It is easy for us to think we’re imposters, and that one day we will be found out that we shouldn’t be testers (or any other role we’re doing), and we will be fired. The fact you’re asking questions in the AMA format shows that even if you don’t know something, you’re willing to learn, and that means you are NOT an imposter.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Not about CoP’s and about me, but I’ll answer it.

What keeps me in testing is I feel as though I have found my niche. I enjoy being given a set of requirements, where they say they want something to do X, and then thinking all the ways it can’t or shouldn’t do that, and then proving it. I find it more interesting and appealing than writing code, and as I keep learning new things and ways to disprove what something should do, it helps me teach others too.

What keeps you in testing?

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Honestly, I wouldn’t have agile play a part of it. It is a way of working, but not necessarily a way of learning and experience sharing. Some of the tenets of the agile principles fit, such as people over process, as the people are the key to the community. But you could argue there isn’t an MVP, as what is the product in a CoP?

Now, there are things used in different agile frameworks that could be beneficial to a CoP, such as holding periodic retrospectives, so you can find out what is and isn’t working for the members of the community, ideas of how things can be changed to improve, and stay aligned to the goal of the CoP (which I discussed in the AMA and in earlier responses).

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

1 Like

I’m assuming when you say engineering teams, you mean the developers/programmers writing the software?
If so, it depends on how closely they work with the testers. If they are completely silo’d off, then improved communication and understanding of what both roles bring is needed.
Do they understand the concept of testability? masterclass from testing hell to testing well | Ministry of Testing and https://www.ministryoftesting.com/dojo/lessons/testing-ask-me-anything-testability-ash-winter?s_id=87046 can help go into more detail on what they are, and much better than I ever could.
Do they believe their job is to write code, and throw it over the fence for testers to deal with, and so don’t need to do much testing themselves, as otherwise they’re doubling up on work that will be done? If so, they need to be shown the benefits of doing their own testing (unit but also mutation testing is something they could look at), in terms of less work coming back multiple times.

As it’s such a broad question, and one testers have been dealing with for years, I’m not sure how well I can answer that for you.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Another more about my overall thoughts on the industry over CoP’s, but I’ll try my best to answer it.

Just because developers and testers are in the same team, that doesn’t mean they can’t have their own specialities. Where I work for example, we have .Net developers and SQL developers in the same team. They are distinct languages with their own skills related to them. They aren’t looking at merging, and I see no reason why testers should be treated any differently.

I have found often the mindset between someone who is a developer to be different from a tester.
They get asked to build something, and think about how it should be written to make it happen.
With testers, we get told something is wanting to be built, and we turn it around and upside down. We ask “What if…?”, and either want the answer proven, or find out there isn’t an answer which means it will need to be answered.

There are some who say that the only way a tester can survive and progress is by moving into automation. That may work for some, but it isn’t a one size fits all situation. I know it isn’t for me. Improving analytical techniques, communication skills, lateral thinking, ability to coach/train others, all these things make us better testers, without forcing us into becoming poor developers.

If you want to learn to code, great. But if you don’t and are forced to, you are just going to be a bad developer, and how does that help anyone?

If you end up in a situation where developers and testers merge, I would challenge calling yourself a “Testing Specialist”. As part of people becoming T shaped, and then eventually Pi and Comb shaped (representing multiple strong areas of skill), we will naturally have something we are best at, and saying it is in testing, even if that isn’t our role or title, it will still be what we’re best at, and wouldn’t a team want everyone doing the best each of it’s members can?

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

1 Like

I covered some of this in my previous response, but no, I have not progressed into automation, nor does it make me fear for my role as a manual tester.

Automation allows us to make processes happen quickly, but it doesn’t tell us what processes should be done, nor how until it has been done.

Something I said to @mwinteringham at TestBash Brighton this year, was how I see myself as a manual tester is exploring a jungle. Sure, it is slow cutting through the jungle, but I can vary how I go, change direction, and uncover things of interest. But once I have carved that path, automation can follow me and build roads for people to make the same journey quickly and easily. As they do, I can continue to explore, making new paths.

Automation can’t build a road it doesn’t know where it wants to go.

You can’t automate speaking with someone to clarify code or requirements. Automation can’t pair to help understand something (though you can pair when doing automation). Automation can’t think of all the ways to “break” a system or process, though it can help to apply it once someone has worked out the ways (see Mutation testing tools, as they change logic from = to !=, >, <, null, and so on).

The reason it is popular is that it is easy to sell to those who control the budget. Do you want to complete testing in half the time, or with less people? Automate it. But then what happens when you need to do something which can’t be automated? How do you measure those metrics?

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

3 Likes

If they’re unmotivated from it, do you know why?

Does the CoP have a goal? A vision? A purpose?
If so, is it being followed? As if it has lost it’s way, that could explain it.
If not, then what is it trying to motivate people to do?

Perhaps the goal has been achieved. If it has, does the CoP need to continue? Is it not better to end gracefully, than flog a dead horse and have people gain a bad impression of what a CoP is about?

You could find out with a retrospective, a feedback survey, or even a face to face chat with some of the community (depending on how big it is and if you’re co-located).

This can allow you to (hopefully) address what is making people unmotivated.
Maybe they don’t like it always being presentations, as it is too passive as well as not being referenced ever again so the information doesn’t stick - That is something that has happened at one I am involved with.
Maybe the times or frequency of the sessions aren’t good for people. It can be hard to be engaged at the final hour of the day, or right after lunch on a Friday, for example.

If you do manage to find out why they’re not motivated, please share what they say here, as well as what you did to resolve it, so others can learn from it.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile:

Reinforce that it is primarily for those who are practitioners of what the CoP is about, but that doesn’t mean those who wish to learn more aren’t welcome.
Have an open door policy, including making the invites to the session as public within your organisation as possible.
If notes are shared on Confluence or equivalent, make them available, rather than buried or locked away so only those involved can see. Few outside the CoP may use it, but it’s there. It’s how I found out what other CoP’s exist at my workplace, for example.
Look at sessions that have a broader range of appeal than the core membership. With a Test CoP for example, do they all understand what unit testing is and why it is done? Developers could be invited to present, but also be in the audience to help answer any questions, or how they unit test if it is different.

I’d also flip your question, to ask do people not feel welcome/able to attend a CoP outside of their discipline? If a tester wanted to go to a developer CoP, could they? Would they feel welcome there, or challenged as to why they belong? Do they even know of CoP’s beyond the ones they go to? As awareness could be the problem for them not being inclusive.

Hopefully that answers your question, but feel free to reply and seek clarification if not :slight_smile: