Agile Testing Guilds to Foster a Culture of Learning and Innovation
David Tzemach
Posted On: October 10, 2022
6962 Views
23 Min Read
I believe in craftsmanship. I believe that true professional is always looking to learn and improve their skills. I also believe that as a manager, but also as a professional, you should strive to create an environment in which employees can learn and grow.
You should encourage people to attend conferences, visit other companies to exchange experiences, read books, do training on sites like Udemy, read blogs, and possibly even write blogs themselves, etc. However, I believe it is equally important to demonstrate to your people that you are serious about knowledge development. You can achieve this by providing individuals with opportunities to grow during business hours.
I worked for several companies and was always a proponent of knowledge development. Part of my strategy is to always establish a framework in which people can meet and discuss their discipline regularly. Professional circles were used in some companies, while Guilds were used in others. Nowadays, I prefer the term Guild because it refers to being a craftsman.
A Guild is an organic and broad “community of interest,” a collective of people who want to share expertise, tools, code, and practices. Examples include the Tester Guild, the Scrum Master Guild, and so on. A Guild’s goal is to improve one’s craft. This can be accomplished by discussing new technologies, sharing experiences, and inviting people from outside the organization. The Guild is not intended to be a forum for discussing work-related issues.
I believe that as an expert in your field (or when you aspire to be one) you want nothing to hold you back from learning new things and growing both your technical and personal skills. I also believe that as an expert, you should share your knowledge among colleagues so they can learn and grow themselves.
If you are preparing for an interview you can learn more through Agile Interview Questions.
Feature Teams Vs. Guilds
Before we dive into the Guild model, it is important to clarify that Guild members are a group of people who work on multidisciplinary teams that are organized to create a product or deliver value. For example, in the Scrum environment, we may have a quality tech lead team rather than a quality tech lead guild. What differentiates the two, is that a quality tech lead team sits together and interacts with each other all day every day, while a quality tech leads guild’s members are spread among different Scrum teams and work on the goals and tasks of that team, while also having a focus on quality.
A common practice is to create teams that focus on dedicated skills such as infrastructure, automation frameworks, UX, etc. At first, it may sound good, to create a team with a group of experts that focus on a specific platform or technical area of the product so they can provide support and guidance to the rest of the team that needs their help.
I am not saying that this practice will not work or that it is less efficient than other options. However, in my experience, this centralized approach leads to flow bureaucracy that makes it harder for feature teams to consume the services, platforms, and tools created by those centralized teams.
Remember, the centralized teams create their products. The services, platforms, and tools they provide are their product, but because they are separate from the teams they are supporting, they might build things that no one needs or that are too hard to consume.
It is important to understand that centralized teams have their backlogs, prioritization, and goals that in most cases do not reflect the same priorities and goals of their consumers. This leads to the flow bureaucracy, as feature teams find it hard to get the responses and resources from the centralized teams, which leads to increased frustration, and bottlenecks in development.
Because of the flow bureaucracy, feature teams start to create their solutions, though they should consume them from the centralized team created to provide them. They may make other technical decisions just because don’t get the response times they need for their day-to-day efforts.
Guild Models
When creating guilds, it is important to distinguish between two major guild models. These models are known as the “decentralized” and “centralized & decentralized” guilds:
Decentralized guild model
The decentralized guild model is based on team members that do not exclusively belong to the guild. Though they are part of the guild, they still work on separate teams with all that implies, for example:
- They have their manager, which they report to.
- They have day-to-day tasks like all the other team members.
- They must be familiar with their team’s product.
- They have other team members, which whom they work to achieve the team goals.
Centralized & Decentralized Guild Model
This guild model is similar to the decentralized model with one major difference. Guild members still take an active part in their teams, but they report to the guild managers who set their goals, visions, and mission statement, rather than having their manager be the feature team manager.
The quality tech leads (QTL) who are members of the quality guild officially report to the quality architect, who is the head of the guild. However, each one of them is embedded in their development team where they collaborate with other team members, participate in their meetings, work on stories, and generally act as an equal team member.
This guild model has some advantages over the first model. Decentralized guilds live and die by the motivation of their members, who can decide how they will use the knowledge they gain as members of the guild or whether they want to participate in guild activities. This is all about the commitment and accountability for the guild, as there is no real way to reinforce their active participation.
In a decentralized guild, each team member has two different jobs. This simple fact guarantees that in any shortage of capacity, the guild responsibilities receive the lower priority and are abandoned.
When using the centralized & decentralized guild model, we have a guild leader who is fully accountable for their guild, including keeping track of guild activities, determining goals, and ensuring that each team member works towards the guild’s mission.
Having a guild manager also allows its members to gain the support and guidance they need to promote continuous improvement processes. In addition, guild managers allow their teams to focus on the guild mission, while still allowing them to learn the needs of their teams, gain their feedback and determine the strategic plan to bring them real value.
To distribute or not to distribute?
More and more businesses are collaborating with distributed teams in multiple locations. In my personal view, the number of people working in distributed teams will only increase. Working remotely affects your Guild session as well. It will become less efficient depending on the hardware and facilities you have.
Twenty people in one room can have more productive discussions than ten people in one room and ten people on the other side of the world. You must decide whether you will organize local Guild sessions or distributed Guild sessions. The benefits of having distributed Guild sessions include people from various locations sharing knowledge and thus growing relationships across multiple locations.
Local Guild sessions have the advantage of being more efficient and easier to discuss topics. You must decide for yourself what works best in your organization. I would advise you to start distributedly and gather everyone in one Guild Session. This is the toughest setup. This configuration, in my opinion, provides the most value to the organization. A backup Plan, with Guild sessions in each location, is always an option.
Is attendance required or optional?
Assume your management is fine with you organizing Guild sessions and you invite people to the meeting. Every third Monday of the month, from 14:30 to 16:00, you set aside one and a half hours. Then there will be those who will ask you, “Do I have to attend this meeting?” What should I do? Personally, I would say, “Yes, this meeting is required.” However, I believe that people cannot be forced to learn. For me, the Guild is all about learning and sharing. As a result, I’ll say, “No, but why don’t you come one or two times?” Simply give it a shot.” It is your responsibility as Guild Master to make the Guild Session as appealing as possible.
What about leadership?
It is critical, as with many things, to have management support when organizing your Guilds. The goal for me is to increase the knowledge of those who attend the guild, and in my case, to make them better through the exchange of experiences. The Guild is not intended for project-related discussions. We will not discuss specific problems of individual teams. “Every Member Of the team in the world should be able to attend our Guild session and find it interesting,” I assert. No prior knowledge of the project or company should be required. Arguments to persuade management of the benefits of guilds include:
- You can use it to promote your company and build your brand; I believe you want to hire professionals who want to attend Guild sessions.
- Because people who attend external conferences can share their knowledge in their Guild, you will develop knowledge of your professionals.
- It will foster cross-team relationships among people from the same profession who work in different teams.
Who is going to plan all those Guild meetings?
The opportunity has arrived… The first Guild session has begun. You put together an awesome presentation about a new concept, framework, innovation, and so on. People loved and admired it because you used the happiness door. It was highly successful! Congrats! But… there has to be another Guild session next month… Will you present a topic again, or will you ask for a volunteer? When you ask for volunteers, there will always be some people willing to present a meeting. However, I believe that every professional should be able to present to a group of people a technique, idea, or anything else.
I always assign Guild sessions to each member of the Guild and charge them for organizing their session. People are free to attend Guild meetings, where they can learn a lot of new things. The only thing I ask in exchange is that they organize at least one Guild session. So far, my experience has demonstrated that this concept works well. Of course, the sessions will range in quality from decent to epic. Most importantly, all participants are contributing, and you do not need to organize every session yourself.
When I was Guild Master of the Testers Guild, I always had one tester present a testing technique and describe how they used it in their products. I asked another tester to speak about testing. It was up to the tester to talk about how they tested in his or her previous company or a conference he or she attended. It worked beautifully! It should be noted that people are free to exchange sessions or restructure certain things. When a deadline prevents somebody from preparing a good session, it is recommendable that they manage another guild member to step in.
A Guild does not come to an end at 17:00 p.m.
After the actual meeting, the Guild continues. Make a place where individuals can gather to debate what is discussed in the Guild. We used Slack in one company, and each Guild had its Slack group. We discussed topics beyond the meetings and shared relevant blogs and/or articles in this forum in addition to sharing the information from the Guild sessions.
Again, set a good example. If you are the Guild Master, make it a point to share something at least once a month. If you want to learn more about the Guild, make sure to join the Guild group. If you don’t have Slack, you can use any Wiki framework or even a private Facebook or Google+ group.
Setting up a Guild
How to set up Guilds is one of the most often requested topics that I receive. We’ll go over some important factors to think about while organizing your Guild and offer some troubleshooting advice after you’re up and running.
Preparation for the Guild Sessions
- Create your key messages in advance.
- What are we attempting to achieve?
- Make an excellent WIIFM statement (can always grab a couple of potential members to help with this). This will aid in communications and the introduction at your launch event. Validate the statement with the group at the event.
- What is the primary objective (or why) of these sessions?
- Planning your event – some important factors to consider include:
- An icebreaker that allows members of the community to get to know one another and recognize things they have in common.
- Drawcard – what will entice people to attend the event – a key speaker, an important figure from the business opening, food? What else is there?
- Create a backlog, which could include seeded items such as things you believe are essential fundamental building blocks, items from the questionnaire, and some cool topics. Have a clear place to collect this backlog, as well as a simple way for individuals to add to it and set priorities going forward. Make it visible and accessible.
- Consider the forum’s leadership. Is there a key role that leads it permanently, for a term, or on a rotating basis? Is the leader capable, do they require any assistance, and do they have a clear set of responsibilities?
- Team Charter’ – collaborate to create a social contract, choose a cadence, and decide where and how to share/store documents and communications. Consider writing a Guild purpose/mission statement.
Tips for Running the Session
- Consider various formats.
- Determine the Keynote speakers.
- Always have a person (self-selected or rotated) in charge of facilitating the event to guarantee we make the most of the session.
- Lab – bringing their work and implementing a specific new tool or technique with assistance.
- Each session should always conclude with the subject matter for the next session, the facilitator, and the format (either chosen in the room then or confirming any previously defined next sessions). Always confirm with the group that it is their main priority.
- Clinic (e.g., present problems that need to be solved and divide into groups/work with a mentor)
- Retrospectives or problem-solving sessions for common challenges.
Monitoring the effectiveness of the sessions
- Keep track of the number of participants to spot positive and negative trends.
- Think about how you’ll keep track of value – surveys. Retros after sessions?
- How will the Guild demonstrate/share with stakeholders what it has learned, solved, or created? Would this be significant to them?
- Run a retrospective with the Guild – what’s working, what’s not? What should we change?
- Establish a feedback mechanism for continuous improvement of the guild
Tips for running a successful Guild
To help your guild succeed and last, I recommend the following:
- Ensure that the guild evaluates the value of its work regularly. For the guild to remain relevant and motivated, it is critical to publish progress and results, and even more important to celebrate those successes. This visibility may also inspire the growth of new guilds.
- Consider and stay on top of the guild’s operational aspects. Meetings and agendas must be communicated clearly. Who is required and who is not? Documenting and sharing meeting notes, for example. The more structure there is, the longer the guild is likely to survive.
- Guilds must have a mission statement, a vision, some structure, and a written mandate. This enables not only the guild and its members to understand how to operate, but also educates outsiders about the guild, what it stands for, and its current goals. This also reduces the possibility of a second guild being formed to solve the same or similar problems.
- Obtaining senior management approval and buy-in. Having this is a great first step. They must recognize the value of a guild and be open to this method of collaboration and community. It is also essential that they allow the guild to be autonomous in terms of how they work and prioritize.
- Members must take the guild seriously, understand that their contribution is essential, and make a contribution to the guild’s success. The destruction of a guild can occur gradually as people abandon and investment decreases.
Creating a World-Class Quality Guild
This section reviews some of the core aspects of guild creation by telling the story of Tom, who was one of my clients and a dear friend.
“Testing Guild: A testing guild is a term used to describe sessions in which testers from various product/project teams gather in one location at the same time to discuss testing-related learnings and new technologies. Due to factors such as distance and time, these sessions may be held at the same or different locations. It is important to note that testing guilds can also include developers, scrum masters, and product owners.”
Where does our story begin?
Tom was the quality director in a leading enterprise software company that was in the middle of its Agile transition. As part of this transition, the company had a severe degradation in the quality of its deliverables, which led to frustration among the main stakeholders. As the quality director, Tom had tried for over a year to change this. He failed, as he could not handle the 60 Agile teams and their managers who managed the development efforts.
What were the challenges that we had to resolve?
When I was invited to help with this problem as an external consultant, the first thing I did was to talk with Tom to gain information and figure out the big picture and the real scale of the problem (from Tom’s point of view). After a few sessions with Tom and other key stakeholders, we determined that there are three major challenges to address as part of the solution:
C1: A limited ability to affect
It makes sense that one person (good as he might be) will not be able to lead and promote quality processes when he needs to work with so many development teams and stakeholders. Tom’s inability to make a real change within the organization led to one obvious result, frustration and the loss of motivation to keep pushing.
C2: Agile transition without focusing on quality
An Agile transition can lead to a massive degradation in quality if this area is neglected. This is exactly what happened in their case, including all the classic problems such as:
- Lack of integration and collaboration across development teams.
- Failure to adopt the core practices related to Agile testing.
- Epic failure in the process of integrating testers in their new Agile teams.
- Lack of quality practices leads to mini-waterfalls within the sprints.
C3: Objections of Development Teams
One of the interesting things that Tom said to me was about the objections of the development teams to his vision because he had never been part of their team and therefore could never understand the day-to-day pressure and challenges the team has.
The steps we followed as part of the guild creation
Based on the information I gathered from Tom and after a few more meetings with key stakeholders, we decided with management to create a quality guild (following the centralized & decentralized model) that will be led by Tom. These are some of the key principles we followed.
Recruitment of guild members – The first problem was that we could not find any suitable members within the organization. Therefore, we invested months in external recruitment.
Definition of the roles and responsibilities (R&R) – Due to the cross-impact the quality guild has on the organization, it was important to determine the roles and responsibilities of its members. After some thought, we decided that each team member will possess the title of “Quality Tech Lead”. Each QTL will have a specific area of responsibility that they will own as part of the day-to-day work with their teams. This is how we defined their role:
- Actively participate in team Scrum meetings.
- Act as a quality consultant for the team.
- Assure compliance with applicable organization quality policies, standards, and procedures.
- Perform root cause analysis (RCA) with the team and hold lessons-learned sessions.
- Initiate and drive the adoption of technology, product, and process improvements throughout the software delivery lifecycle.
Finding the right teams for the POC – In theory, we know that our solution can be perfect for the organization, but nothing comes free and we had to work very hard to find the right teams to take part in the POC. To choose the best candidates, we had to ensure that they all understand what we intend to do and how they will benefit from it.
Definition of the guild goals and vision – Below, are some items from the presentation we made to demonstrate what the quality guild would provide to the organization and especially for the teams taking part in the POC:
- Creating quality focal points within the organization.
- Promoting the Agile testing mindset and continuous testing (instead of the mini-waterfalls and bad testing practices).
- Implementing quality policies, standards, and procedures (quality projects, hardening, readiness, etc.).
- Increasing transparency of our team’s quality work (quality initiatives, KPIs, and designated dashboards).
- Training & mentoring designated teams on testing and quality practices (ET, RBT, SRM, BVA, etc.).
- Helping the organization adopt a quality culture (prevention focus, continuous improvement, collaboration, etc.)
How is it going to work?
The guild model that we established at the time was new and followed a type of management that our team had never seen before. To ensure that everyone understands this change, we had to communicate the work interfaces between the QTLs and their teams:
- QTLs’ physical location – The guild members (QTLs) sit with their teams.
- Taking part in team activities – QTLs will take part in their team activities such as planning sessions, design meetings, etc. Furthermore, to be a real part of the team, they are also asked to participate in the team retrospectives and to present at each review meeting the overall progress of the quality projects.
- Dedicated to their teams – To ensure that each QTL makes a real change and to promote continuous improvement, it was decided that each QTL will be dedicated to their team until the team is mature.
- Mastering their team’s products – QTLs provide the best value when they understand the products and the technological environment of their teams. To achieve this goal, each QTL had a full training cycle before starting to promote guild activities.
- Direct Management – One of the most important things that we had to define is that the QTLs are managed by Tom and not by the team’s manager. This allows QTLs to create positive tension between them and their teams related to the quality agenda. In addition, we want to let our QTLs provide more services. To do this we made it clear that Tom is the one to prioritize the QTLs work, but the teams can still add their quality items (e.g. creation of a new process, mentoring of team members, etc.).
Where do we cross the line?
Before starting the guild work, we had to make sure that every stakeholder involved in the project knows the boundaries and expectations of the guild. Below are some of the items we presented in the project kick-off meeting:
Project Kick-Off
Now that we have closed all the loose ends, we can officially start the project and assign the guild members to their teams. To ensure that this new model is working, we created a completely new infrastructure to support it. Below are some of the measures we used:
- We created dedicated KPIs to track and adjust the process.
- Tom, the guild manager, worked closely with each QTL to ensure they are focused on their goals and tasks.
- We set weekly meetings with each QTL and their team manager to generate continuous feedback loops.
- We created web dashboards accessible to anyone who has an interest in the project.
- At the end of each quarter, we set a meeting with the key stakeholders to review what we achieved (and what we have not).
Things I Learned Along the Way
Below are some of the insights which I hope will contribute to your efforts when establishing guilds in your environment.
Support from management is key
Like any other initiative, before you start building guilds in your organization, it is important to have support from management. I highly recommend that when you introduce this model to management, you will be able to:
- Explain how the organization will benefit from using guilds.
- Describe the plan to create and initiate the guild model.
- Explain the concept of guilds and the different models for implementation.
- Explain how this model will influence (positively and negatively) the development teams involved in the process.
Involve all people in the guild as active contributors
Regardless of the guild model you are using, it is important to involve everyone in the guild as active contributors and not as silent participants. One way to do this is to ensure that each guild member has the opportunity to present a tool, idea, or anything else that contributes to the guild agenda.
Any guild member can become an active contributor. As professionals, it is a basic assumption that they can take ownership of a guild session, organize it, and contribute. My experience so far is that this concept works great. Of course, you cannot expect that each session will be at the highest level, but the important thing is that each team member contributes without the need to rely on a single person to organize every session.
Ensure that the guild has the right people
It is important to add only the right people. But who are the right people? Well, before I add a member to my guilds, I try to follow three basic rules:
- The candidate must want to take part in the guild. They should never be part of the guild just because someone told them that they must.
- The candidate should be accountable and committed to the guild activities and take an active part in knowledge sharing.
- The candidate should have skills and expertise that are relevant to the vision and goals of the guild.
Ensure that your organization is ready
In some cases, the answer is that it’s simply not the time for guilds as the organization has not yet gained maturity. Perhaps there is no real capacity for team members to participate, or maybe they just do not want to learn. If that is the case, don’t enforce the use of guilds. Wait for the right time as there is no second chance for a first impression.
Closing thoughts and where to go from here
It is critical to organize guild sessions, educate people, and provide them with opportunities to learn. It is, in my opinion, part of the process of establishing a self-learning organization. However, organizing Guild sessions can be difficult. However, once it’s up and running, it can be extremely rewarding. So, give it a shot, inspect and adapt, and make it a success!
Got Questions? Drop them on LambdaTest Community. Visit now