Every time we think that something is common, we realize that there are many misconceptions about a term – such as DevOps. It sounds like it's shutting out testing, and discussions about it often involve only the technological aspects like continuous integration tools and deploy pipelines. In reality, testing is at the heart of DevOps, and testers are often in a key role to help your team build a DevOps culture.
Learn the language
The term "DevOps" wasn't coined until around 2009. It sounds like it's only about people who write code and people who maintain the production application working together. But it's really about everyone on a software development team working together with everyone involved in system administration, production monitoring and support, as well as business stakeholders. It's based on agile values, principles, and practices.
DevOps is a culture, in which everyone on the delivery team collaborates to create and maintain the infrastructure for continuous integration (CI), test and production environments, as well as the deployments to those environments. It isn't a role or a team, though an organization may have DevOps specialists or a platform team to help people grow the skills and learn to work together. It's all about supporting more consistent delivery to production, as well as continuous delivery (CD) and testing.
Learn the terminology around DevOps and continuous delivery. The books A Practical Guide to Testing in DevOps by Katrina Clokie is a great place to start.
Build relationships
If you have testers on your team, one of their super powers is the ability to bring the right people together for a conversation. To promote a DevOps culture, think about the people on your team or others who are involved in delivering your product, but that you don't work with every day. Get to know them. Ask them to lunch, engage them in casual social conversation, put candy on your desk and encourage people to come enjoy it while they chat with you. Ask someone on the operations team to come give your team an overview of the continuous integration tool. Offer to share some new testing techniques with a database expert.
For a lot of us, this is way outside our comfort zone. But we're humans, we need to get to know each other so we can work together well. Build those bridges and help people who aren't testing specialists learn ways to build quality into the product.
Use visuals
Visualizing a process is a great way to learn about it. As you have conversations with people in various roles, draw on whiteboards, use sticky notes.
Ask a cross-functional group of people to get together and draw your application's architecture on a whiteboard or use sticky notes/index cards on a table so the whole team can see it easily. Talk about the riskiest areas and whether those are covered adequately with testing. If you are working remotely like most of us these days, use an on-line tool to write/draw the steps of your team's production deploy pipeline. Look for ways to shorten feedback loops or strengthen fragile test suites.
Encourage a joint retrospective between members of your delivery team and those in the operations team. Identify the biggest problem that might be affecting your efforts to move to continuous delivery (CD). Even if your team is not ready for CD, you can do many things to make it work in a more effective manner.
Think of ways to make a problem visible. A team Lisa worked on put up a flashing police light that is triggered when the build pipeline fails, to get the team into a good habit of noticing failures and fixing them right away. Set a measurable improvement goal for that problem, and design experiments to try to move towards that goal.
Check our website for public course offerings
Remember to visit our website's training page to see upcoming public courses around the world. These courses are taught by the highly experienced practitioners who have joined our Fellowship as trainers.
If you're interested in an in-house training course for your own team, please check Training Providers in your area for more information.