Benefits and Procedures for DevOps Implementation in Traditional Quality Assurance Models with Chris DeGonia
Speakers: Chris DeGonia, Director of QA at International SOS; Cigniti Speaker
Here is the Transcript
Preview: We see that across the marketplace and across various industries, even those industries that traditionally take a long time to get things into production.
You are listening to QA talks. A podcast for quality assurance executives implementing digital transformation in their organizations. In this show, we focus on the unique pitfalls inherent in quality assurance and quality engineering and how these executives are navigating them to position their organization for the future. Let’s get into the show.
Ralph: Welcome to QA talks, I am your host, Ralph Miranda. QA talks is a podcast dedicated to the emerging technology and innovation happening in the industries such as banking, airlines, insurance, and retail.
Quality assurance is a key component of the digital transformation sweeping our world. Companies are increasingly leaning on quality assurance and quality engineering to seamlessly implement their unique digital transformation plans. However, digital transformation can often seem like a massive tower, impossible to scale.
Today, we have Chris DeGonia. Chris is an IT leader with an extensive track record on mission-critical programmes, delivery transformations, process improvements, budget optimization, and strategic initiatives.
Gentlemen, how are you today?
Chris: We are doing great. Thank you very much, Ralph.
Ralph: Good, glad to hear that. Well gentlemen, today we are going to be talking mostly about DevOps. And DevOps is kind of a buzz word in the industry. So, I am going to throw out a definition and then I kind of want to get your guys’ opinion of the definition.
“DevOps is a set of software development practices that combines software development or the Dev component and Information technology operations or the Ops component to shorten the system’s development lifecycle while delivering features, fixes, and updates frequently in close alignment with business objectives. “
So, let me get your thoughts on that. I’ll go with you first, Chris.
Chris: That sounds like a great definition to me. It’s pretty unique amongst every company. They have their own definition of what DevOps means and every situation is different. So, that sounds like a great definition.
Ralph: Okay. I’ll start with you. Tell us a little bit of how DevOps transforms the software testing industry?
Cigniti Speaker: I will say that the software testing, in terms of the way it is getting transformed, is because of the two things that are very critical. I would say that one is skillset and the other one is the mindset.
When I say skill set, we are talking about expanding the skill set of the test engineers from being knowing about software testing and also the functional applications too. It is pushing them to know more and more about technology as well. And what we would see their typical skill set that is required for somebody to be really successful in the DevOps ecosystem contributing to software testing and quality management activities is knowing the networking knowledge, the basic unique scripting, and the ability to work with the continuous integration and continuous delivery tools such as Jenkins, performance testing tools, and also having decent understanding of containers, dockers, and things like that. And also, that ability to understand the role of a cloud and how the cloud services are being used both in development and also hosting of the products of the applications.
And the other one that I would say that the mindset, which is equally important because the testing activities are very tightly integrated in to the development lifestyle and most of the times that you are working with the rest of the teams, essentially the development teams and other teams, side by side on a day to day basis, and because the timelines of the releases have been shrunk significantly and also that the model sort of encourages and also expects the engineers to work together in a lot more collaborative manner.
Ralph: That’s an excellent point. Mindset is critical. No question about that. Chris, it’s estimated that around half of enterprises are planning a continuous integration and continuous delivery initiative in the coming years. So, my question is why shift to DevOps? What are the business benefits, and do you think it has a future?
Chris: Sure, definitely. when I joined the IT some 10 to 15 years ago, it was once every 6 months was probably a good release pace. Today, we may be managing 25 projects at a time and we are doing several releases a day or more into production and so, you see how the pace has changed and has really picked up across the marketplace and across various industries, even those industries that traditionally take a long time to get things into production.
So, in order to enable people to scale and to go there fast, you have to shift into a methodology that allows you, in a controlled way, to get those products to the market. So, it’s definitely here to stay. Its something that teams really need to get their hands around. If they are not already working in DevOps space, they need to kind of scale up or skill up in order to make it. Because it’s not becoming a slower-paced world, we’re certainly facing a faster-paced world as we move forward.
Ralph: Yeah, no question about that. So, given the fact that it is here to stay, as you said, what are the issues faced in the transition to the DevOps approach and can you tell us a little bit about the challenges in implementing this revolution?
Chris: Sure. I think you know Peter Drucker had a statement where he said, “culture eats strategy for breakfast”. So, true!
And the number 1 challenge is the culture of your team. You need to build a team that people are accepting and ready for change. You need to build a safe space so that people can feel comfortable to experiment and learn as they are growing along. Because you see these job descriptions that want 10 years in this technology and the technology is only 2 years old.
You know some of these technologies are new enough that people are learning them as they go along. So, the challenge I think is first of all, cultural. Second of all, strategic. We need to make sure that we have the right level of buy in at the C–level and below and they need to make sure that they are educated and that we are educating the right stakeholders so they can help us to formulate the plan and make sure that it’s moving along the way that it should be. And then third of all is tools. There is a number of tools in the marketplace that we can use now but just making sure that the tools that we choose are fully compatible and they also will fit well within the organization.
So, I think tackling those three challenges is a good start for an organization.
Ralph: Tell us a little bit about the role of automation testing in DevOps and how does automation frameworks speed your DevOps delivery?
Cigniti Speaker: I would say that test automation is absolutely necessary in a fast-moving DevOps environment. Because, in a typical DevOps environment, you are expected to accelerate the cycles of design, development, validate, and push it to the production in a very fast-paced manner. In a way that actually it is very difficult to be successful in the DevOps environment without actually having test automation and so, but however it is also important to think about the bigger picture as well.
The test automation alone will not solve all of your manual process problems. So, many times we hear people focusing solely on achieving the higher test automation coverage and forgetting the fact that there is no unlimited budget that is available for testing. So, optimizing the testing budgets and then trying to leverage as much as possible from a test automation point of view, I think, is very critical.
Ralph: Chris, automation, as he has laid out for you, sits at the heart of the DevOps pipeline. So, more and more automation is the core of the cycle. But how much is really too much automation?
Chris: Well, I do not believe that there is too much automation. You can never have too much automation and if you are gonna do something more than once then you should automate it. But that being said, there is never gonna be a time in our industry where you don’t have the need for creativity. That person that is creative, looking at the problems, looking at the products the way another person is gonna use it, another user is gonna use it. And so, with that mind, you are never gonna do away with some level of manual testing you know for comparing manual with automation. But to me, it’s more about creativity. It’s bringing back the human set of eyeballs into the picture to take a look at that. The automation machine can tell you that okay its a hexagon or a color, but the person can actually see that okay, does this really make sense? It is truly a blend of both of those.
Ralph: Okay, guys so we have laid the groundwork. We have talked about DevOps. We have defined it. We have talked about its role in the digital transformation and we have determined that it is here to stay. So now let’s shift a little bit.
What are some of the best practices that are followed in DevOps and tell us a little more about the changed role of QA in DevOps.
Cigniti Speaker: I would say that DevOps is actually a very good thing that is happening to the testing industry at it is very large and especially in the long run, I guess DevOps would make test teams a lot more valuable to the overall software development community as well. So, if you look at it historically, testers have focused solely on the testing aspect of bringing a product to the market. Testing the code to validate the code and pushing the validated code to developers. But DevOps changes that. With continuous integration, continuous delivery, and the overall goal of increased efficiency, DevOps required testers to take responsibility of the quality across the entire development lifecycle. Not just during the traditional testing phase. So, I would say that that is the fundamental change that is happening because of the DevOps.
Ralph: So, Chris, I would go back to you. You have talked about the quote that says, “culture eats strategy for breakfast” I think that was the correct quote. I hope I had it right. And given that, the concept of DevOps is found on building a cultural collaboration between teams that historically have functioned on their own in relative silos. So, how could this culture develop the organization as a whole, bringing it closer together?
Chris: Sure. The best organizations that I have seen, work collaboratively across business lines. And that’s really something that I really appreciated throughout my career being able to do. When you have team members that are solely focused on just “Okay, this is in my job description and I got to do this” rather than focused on the outcome. Right?
But a team has to come together and say, “okay how do we get this across the finish line.” And that really is the nature of DevOps. Everybody is working together. That’s the nature of our job as well. Everybody is working together. Taking ownership. Or completing the best products that they can, and you can actually extend that outside of traditional software development activities into other areas as well.
You know, bringing together some of the ops and the sales folks together. Bringing together different business lines. So that you can create collaboration spaces because, in each company, you are there to see that company to succeed as a whole. So that is indefinitely transformed the entire enterprise when you start having this ownership mindset and a collaborative mindset.
Ralph: Yeah. obviously DevOps being what it is, has the tendency or the ability to give us economies of scale so, if it does that, its gonna obviate the need for a dedicated manual QA staff and all forms of automation requires writing code so if your traditional staff doesn’t learn code then obviously they are out in the cold. So, how do you think DevOps will have a future impact on manual testing and traditional QA?
Cigniti Speaker: I would say that the continuous improvement is the way to go. And the newer technologies and the newer ways of doing things obviously are disrupting the traditional ways of doing things. Use this analogy –
“A bird is sitting on a branch. Right? As a bird, I don’t think you should put a lot of faith on the branch, but you should have faith more in your wings.”
What this means is that the branch has to collapse, the bird still has to be able to fly away. Right?
Likewise, I guess as much as individuals are depending on their organizational strength, but I guess, being a professional it is your responsibility to make sure that your skillset is continues to be relevant to the industry that you are working with.
So, in that sense I guess definitely if you are somebody out there just relying on your manual functional testing skills only, then probably the DevOps is certainly a wake-up call especially if you want to grow your career.
So, I would say that yes, there continues to be space for the manual functional testing and the knowledge for applying the business knowledge that they have gained. However, you know, investing in some basic technology skills – coding skills and networking skills, along with improving soft skills is very much needed in the context of DevOps.
Ralph: I like your analogy, the bird and the branch. Very well-spoken. Keeping with you, let’s talk about security and compliance. And obviously, these checks have traditionally taken place at the end of the development. And usually, have been done manually. So, adopting DevOps integrates information security into everyone’s daily work as part of the deployment pipelines. So, how does this help in improving software security and therefore, reducing its risks?
Cigniti Speaker: I would say that in terms of the software security, generally comes as part of your non-functional testing and typically a lot of these non-functional test types are done at the end of the life cycle in a traditional waterfall method. But however, as we see more and more enterprises are being forced to open up access to their applications, to the outside world and access to the data that has been residing in these applications. According to one of the survey that I was reading, almost about 40% to 50% of the data that is residing in enterprises now has to be exposed to the outsider world. And when I say outsider, it would be your employees trying to access the data outside of your network, it could be giving access to your partners and vendors so that they can collaborate with you better on the business outcomes, it could be the consumers that actually need the data that you have in the enterprise. So, which means that it clearly exposes the risks in terms of security. So, no more we have the luxury of waiting to build out the entire functionality and then do a security test. Because security is also one of the quality attributes that need to be built earlier in the life cycle. Not just to be built but also validated throughout the life cycle. So, in many of the clients that we are working with, we have built this automated security test speed that are integrated into the overall DevOps pipeline. So that every new build is actually being validated – not just for the functionality but also for security.
Ralph: Chris, what is the overall impact of DevOps in software quality, time to value, and return on investment?
Chris: Sure. I would say, personally, I see an average around 250 to 300% ROI, month over month, for automation. So, it proves over and over again the worth of automation coming to bare into your projects. But it also helps for things that are repeatable, right?
What I call the dummy testing, where you are trying to do the same tests over and over and over again. This repeatable processes, repeatable checks, and bounces in the system, it really does bring a level of control that you cannot maintain manually within your projects. So, both in terms of ROI and in terms of software checks, and then in terms of just time to get things to market. There are so many things you can do to make your script’s performance. You can pair them wise, you can customize the code, and you can choose the tool that runs from the cloud and run based on AI and the other inputs into these automation frameworks. So, you can really optimize your automation to very very quickly get things out to the customer and in the customer’s hands.
Ralph: We talked a little earlier about security and compliance, we talked a little bit about DevOps and its effect on manual testing and traditional QA. So, how can DevOps streamline this testing and the digital assurance function?
Cigniti Speaker: I would say that DevOps naturally allows testers to be involved earlier in the life cycle, so DevOps is clearly helping testing community to shift the testing activities both left and right, which I call them as shift–left and shift–right. And as everybody knows that the longer you put off a problem, the worse it is going to get in the long run and in the continuous delivery–driven DevOps world, letting a problem fester means letting the release bottleneck grow.
This situation happens most often when you run too many tests manually at the end of the life cycle instead of automating them. So, there are methodologies like test-driven development, behavior-driven development, that can help build quality into the product by doing a good amount of work on the shift–left. And also, that shift–right helps you to make sure that the application continues to function at a certain level of efficiency, not just from the functional point of view but also from availability, reliability, and also in terms of performance.
Ralph: Chris, I’ll direct my final question today towards you. You have been involved with DevOps. What are the lessons that you have learned while integrating DevOps and any advice for our listeners?
Chris: Sure. My one piece of advice is just to take your time. Take your time about choosing which project to automate. Don’t try to do, “boil the ocean” as they say. Take your time to find a small project, automate the pipeline through. See the value of it and then work through the remainder of the organization. You know as you are learning things as you go, each customer, and each company – they have a different makeup of technology stack, culture, level of skills within the organizations, level of appetite to move fast within the organization as they are adapting these DevOps practices. So, really take time to make good forward-thinking decisions and take time to vet out the value that you are providing back into the organization. And see the growth happening organically. I think that’s really the biggest piece of advice that I would give to you.
Ralph: Well, that’s gonna wrap it up for this episode of QA talks. We have been speaking with Chris DeGonia, a QA director and senior IT leader. And with Cigniti speaker, he is the president of Cigniti and head of the North America East business unit. Gentlemen, thank you for your time and I appreciate it very much.
Chris: Thank you very much, it was a pleasure.
Cigniti Speaker: Thank you, Ralph. Thanks for having me on the show.
Ralph: Thank you very much, guys!
Quality Assurance is vital to the success of an organization’s digital transformation. Lack of control can quickly derail a company’s technological presence, costing thousands. At Cigniti, our resolution is to build a better world with better quality software. Renowned for the global thought leadership in the industry, we draw expertise from over a decade of test engineering experience across vertical. To learn how we do it, visit www.cigniti.com
You have been listening to QA talks. To ensure that you never miss an episode, subscribe to the show in your favorite podcast player. Thank you so much for listening. Until next time.