“A great team doesn’t mean that they have the smartest people. What made those teams great is that everyone trusted one another. It can be a powerful thing when that magic dynamic exists.”
The Phoenix Project by Gene Kim, George Spafford, and Kevin Behr
Embracing DevOps is not easy. There are a lot of misconceptions about what DevOps is. DevOps is not a team, or a methodology, or a job role. DevOps is a culture founded on a set of work patterns and practices that have an impact on the whole value chain, from business to operations.
DevOps helps you move from only having visibility about your own work, to having a birds-eye view and overall understanding of the whole value stream (from business to customer feedback). You can move from working in silos to collaborating and working together for a common purpose.
To embrace DevOps takes a lot of bravery. You have to be bold to:
- Share your work and let others know what you are doing
- Leave your own goals behind and work in the pursuit of common team goals
- Share what you know with others and take the risk to be “dispensable”
- Open the door of failure and have the audacity to make your opinions heard, even at the risk of being discredited
- Test your ideas and even fail
Only when you achieve this, can you find yourself on the right path to achieve better, sooner, and happier results. Practicing fearless visibility is key to creating a culture of trust and openness and therefore achieving a collaborative mindset that is the essence of DevOps.
Trust takes a huge role in a DevOps culture, and only “when that magic happens” can you see yourself on the road to success. Let’s see why testers and QA are vital to leading a DevOps revolution.
The role of testers in DevOps
If you are a tester or quality assurance engineer, being trustworthy is your superpower. You are entitled to empower trust.
As a tester your team is counting on you:
- to uncover the unknowns,
- do your job in such a valuable way that the quality of your products is untouchable,
- coach them in how they can include your skillset in the software development process (testing is done everywhere, every time, by everyone!)
- Have a continuous improvement mindset
Lisa Crispin, Co-Author of Agile Testing Fellow says that “Quality is a team sport,” so testers are not supposed to work in silos.
We really need to crack the code on how to build a successful team, and how we can unleash trust. Alone, quality engineers are nothing more than “auditors” perceived as the person that will ruin the release date.
Crack the code for collaboration
Did you know that according to an Atlassian Study about Open Teams, “78% don’t fully trust their teammates?” Now that you know that it takes a lot of bravery to embrace a DevOps culture, you might be asking yourself, but “how can I build trust?” “How can I build an open team?”
Embrace these 4 practices to leverage your team to a collaborative mindset:
1. Make your work visible
“A significant difference between technology and manufacturing value streams is that our work is visible. Unlike physical processes, in the technology value stream we cannot easily see where flow is being impeded or when work is piling up in front of constrained work centers”
The Phoenix Project by Gene Kim, George Spafford, and Kevin Behr
The first way of DevOps is about making your work visible. Only when you have full visibility of the system, are you able to achieve understanding and go for the next way: “Amplify feedback loops” and “Culture of continual experimentation and learning.”
If you haven't done anything regarding visibility or haven't done enough, you can try some practices that will lead you to understand your work, teams, and in the end the entire system.
Making your work visible in technology is not that easy and obvious, but there are some very effective practices like:
- Building a physical board
- Using apps like Trello to improve visibility but digitally
- Jira - a complete solution and provide visibility across the entire team
For testers, visibility is a superpower. As a tester, you should be sharing information with the whole team as well, ideally inside Jira.
To achieve visibility, you can use Xray, a test management app for Jira, that can help you make your work visible in many ways:
- Share test cases: This promotes a shared understanding of how the whole system should work, technically and in terms of business
- Full traceability: With full traceability, you can understand which tests uncovered bugs for each requirement. You can also have different views depending on the release and environment.
- Make the status of requirements visible: This will provide real-time information to developers and operations and will help make decisions about releasing or not
- Full visibility on test results: You can have full visibility of your coverage and thus your readiness to deploy. With Xray, you have many reports and gadgets that give you a snapshot of the quality of the release.
Besides helping you understand your work and system, visibility also has a positive effect on how others may perceive your work.
“Measuring activities will also create more respect between teams. It’s always surprising how quick one team is to assume that another team sits around doing nothing, and how much resentment builds up over this. When you see from a Kanban board what people are doing, respect tends to flow pretty naturally”
-Radical Candor by Kim Scott
Unfortunately, individuals tend not to trust their teammates and do not recognize their work is one of the many causes for this lack of trust. With this in mind, visibility also improves respect and respect improves trust.
Visibility has a double effect on improving trust and open teams. So why are you waiting to make magic happen? Next, let’s uncover other techniques that can foster collaboration.
2. Allow free access to information and sharing
Free access and information sharing might feel scary, especially when you work in highly regulated industries. Nevertheless, you should give it a try because it can change the way information flows and the way the organization learns.
When you share information, you show that you care about people. Next time you share information, think about who can benefit the most from this. Don’t be shy to ask for help and also reach out to others who might know information that you don’t. Through sharing, you build connections and improve trust and openness.
To launch a sharing mindset you need to act as an influencer. If you do it, others will follow you.
To launch a sharing culture, you can try:
- Open door management meetings: Leave the door open in your management meetings and let anyone be part of it.
- Breakfast club: Gather your team and get together for breakfast, pick a subject and just discuss it. Paul Courtney, Knowledge Management Specialist once told me… “nothing brings people together like food, amazing conversions can happen around food.”
Next, let’s see how our differences can inspire even more trust within the team.
3. Embrace diversity
Promote diversity in your team to unleash openness and trust. When we talk about diversity, we don't mean exclusively gender or racial diversity, but also culture, beliefs, and personality diversity.
Having different points of view not only increases the possibility to get it right, but it also increases the sense of being safe, and that increases trust. If you are free to express your thinking without being afraid of being judged you will release your best self.
An Atlassian Study about Open Teams revealed that when you work in a diverse environment you are 60% more likely to achieve more, and you are 80% more likely to report high emotional well-being.
Tech companies are taking diversity seriously by implementing policies and programs that help destroy pre-concepts and barriers.
But there is a lot that you can do, with low effort. For example:
- Assign a devil’s advocate in discussion: Nominate someone to be the devil’s advocate so they can challenge the team and make them hear different opinions. Be sure to pick different people every time.
- Create persona discussions: pre-arrange the personas (Agile Tester, Waterfall Tester, or Junior Tester) and make the discussion happen. To make it fun, introduce a random persona, like Darth Vader.
Next, let's see how we can learn from our failures.
4. Uncover Failures
Being safe to fail is a characteristic of high-performing teams and is essential to innovation. In DevOps, it is essential to learn from failures and from experiments. This corresponds to the third way, where you experiment and fail to achieve mastery.
Learning from failures is a huge part of the testing activities since testing uncovers failures and unknowns. Testers are used to dealing with bad news, so learning from failure is something that doesn't scare them at all.
Having a culture of safety, where it is safe to fail will lead to full visibility and more knowledge of defects discovered from different types of tests throughout the lifecycle.
In this culture of safety, testing is no longer perceived as an unpleasant activity, but as a learning activity. Testing also plays a role in increasing trust. Delivering value to the customer is more than delivering it fast, it's all about Quality. Test advocates like Lisa Crispin, state that DevOps is about building a quality culture.
In order to embrace learning from failure, try several practices like:
- Post-mortems: After an incident, tech or not, create a post-mortem discussion and write down your conclusions. Sharing your learnings with the team is not only about resolving a problem, it's about learning as a team.
- Dear team (bug letter): Send a letter to your team as if you were a bug. Make it fun, but make sure you describe how you have survived and how you have been killed.
Why should I bother to create a collaborative mindset?
“It’s only by regularly owning their own mistakes, listening actively and supportively to people’s ideas, and being respectful but direct when challenging other’s views and behavior, that we can encourage lasting collaboration.”
-Cracking the code of sustained collaboration (Harvard Business Review)
Collaboration impacts your systems and products but also impacts your team. Individuals also benefit from working in a collaborative environment. Working in a DevOps environment, team members feel more respected, more open to sharing, and grow more because they learn from others and are always improving.
To change into a DevOps mindset takes bravery. Charles Darwin was a visionary and he once said: “It is the long history of humankind (and animal kind, too) that those who learned to collaborate and improvise most effectively have prevailed.” So this is not only a matter of being agile or not, or of being DevOps or not, it's a matter of survival. What are you waiting for?