Here's how you can add value to a DevOps team
Sarabjit Singh Dhamija
Senior QA architect,Methodical thinker,Co-founder at SQA WORX SOLUTIONS PRIVATE LIMITED
DevOps, one of the latest trends in the world of software, has generated lots of interest for the way that it blends development and operations roles, which are positions that have traditionally remained distinct. Often, a single individual is expected to wear many hats, depending on what their job requires at any given moment: first acting as a developer, then a database administrator, a network engineer or an operations analyst.
One element is notably missing from the "DevOps" buzzword, though: software testers and QA professionals. In fact, with DevOps' increased focus on automation and rapid product delivery, many testers fear that their skills are no longer as valuable in a DevOps world.
However, testers working in a DevOps environment shouldn't be concerned about their job security just yet. Here's why testers will remain a vital part of the DevOps team.
What Is DevOps?
DevOps is a set of practices, often drawing from Agile software development principles, that encourages collaboration between development and operations teams. This collaboration is in pursuit of one goal: to deliver high-quality software to users more quickly.
Because DevOps aims to increase the frequency of software releases, it puts emphasis on releasing fewer features in a release and encourages software teams to practice continuous delivery. This small delta change reduces time to market and risk associated with it, at the same time not adding too much of a overhead for each of the release cycles.
What Role Does Testing Have in DevOps?
As the previous definition suggests, there is still very much a place for testing and QA within DevOps. After all, if the goal were only to deliver software quickly, no matter the quality, development teams could simply push software out the door without evaluating it for bugs and performance issues.
However, testers may have to adjust to the new realities of a DevOps workplace. On a DevOps team, the focus shifts from finding bugs to preventing them from occurring in the first place. Smart testers and QA professionals will attempt to maneuver themselves into an advisory role where they can be responsible for making higher-level strategic decisions about quality across the software delivery pipeline. And for this, domain expertise is a must.
Automated Testing and DevOps
The emphasis of DevOps on speed and production-quality builds means that any attempt to automate software testing would be welcome. In addition to automation of functional testing, many businesses are looking at ways to automate other testing areas, including performance testing, load testing, stress testing and security testing.
As more of their work is automated, this frees up the testing and QA professionals to work out how they can add value to the DevOps team. Because DevOps brings testing onto the centrestage, with QA being performed throughout the development cycle rather than only at the end (as with the waterfall model), it could be said that testing is more important than ever before in a DevOps environment. There is still a critical need for QA experts who can bring to the table their knowledge of test automation and test case development.
Final Thoughts
Testing and QA will not disappear under DevOps by any means. They still remain as important as ever before, but their roles in the development process may have to be rethought.
Instead of finding and reporting software problems, the focus will instead shift to preventing them from happening. Automation will be applied to new testing areas such as stress testing and load testing, that are of particular interest to DevOps teams. In addition, QA professionals may take on more of a consulting, strategic role that looks at the bigger picture, identifying issues in the development process as well as in the software.
About the author
I am a cofounder of SQA WORX Solutions Private Limited. I have been associated with software QA projects for more than 20 years. Now I lead my own team of software engineers as we work on test projects for local as well as remote enterprises (North America and Europe). I believe in continuous communication and collaboration with the developer team - the focus should be on ensuring quality delivery. Sticking to this industry motto has helped my team build long term associations with our clients. I can be calm under pressure - maybe this is because I work with green-about-the ears newbie QA engineers! Also, it might be because I spend considerable time with my two kids at home!