Testing 1-2-3 | Hosted by Parasoft

The Benefits and Impact of Continuous Quality

July 09, 2021 Matt Klassen - VP of Worldwide Marketing at Parasoft
Testing 1-2-3 | Hosted by Parasoft
The Benefits and Impact of Continuous Quality
Show Notes Transcript

Did you know that Continuous Quality can impact people and organizations? On the surface, continuous quality works to provide developers with deep visibility and insight into any software defects (bugs) or security vulnerabilities. However, it has further, lesser-known, benefits for the enterprise.  

Following on from our podcast, Chasing Continuous Software Quality, join Max Kurton, Head of Enterprise Management 360, and Matt Klassen, VP of Marketing at Parasoft, to take a deeper dive into the impact and benefits of continuous quality. In this podcast they’ll discuss:  

  • Quality as a forethought versus an afterthought 
  • How CQ feeds into and enhances the customer experience 
  • The impact of constantly chasing continuous software quality on employees 
  • Why many companies are working hard to succeed in continuous software quality  

- [Woman] Enterprise Management 360, your main source for tech news, analysis, podcasts, and videos for the enterprise.- [Max] Hello, and welcome to this "EM360 Podcast." My name is Max Kurton, head of content here at EM360, and your host on today's episode. Now today, I'm being joined by Matt Klassen, who's the VP of Worldwide Marketing at Parasoft. Now, Matt recently did a podcast with us presented by Steve Hendrick of EMA, and they were discussing chasing continuous software quality. And in today's episode, we're going to be expanding on that a little bit further to understand the need and effect it has on people and organizations. So, Matt, welcome back to an "EM360 Podcast." It's great to have you on today.- [Matt] Hey, great to be here. Thanks for having me.- Great to have you. And looking forward to kind of delving into this discussion, because feel like you and Steve did a great job of going over this continuous software quality. And I want to give our current listeners a bit of a recap on that if we can. So if you won't mind just starting us off with, what is continuous quality?- Sure. So I'm going to start with what continuous quality is not, because I think this is more the norm in the world. It's not a testing box or step just before the delivery of software, right? Should be obvious, but continuous quality is a paradigm shift to integrate quality and testing practices into your CI/CD process or DevOps, and ultimately, throughout the entire lifecycle from software design to delivery. So it really means that everybody owns quality, and everybody needs to shift their mindset.- Excellent explanation. I think that's a perfect way to put it. So what is it that enterprises are seeking to accomplish with software testing tools?- So I think that many are seeking an automated way to improve quality and deliver software quicker. But testing itself, right? I'm going to remind everyone, only reveals the level of quality. It doesn't actually create quality in and of itself, right? So in addition, most organizations invest heavily in UI testing tools which may be one of the most difficult areas to actually see quick ROI. So successful organizations are really looking at shifting left, implementing test automation tools earlier in the lifecycle to achieve the return they desire, which is a lot of times, you know, quicker delivery of software with higher quality.- Mm-hmm. I think that's always a fair goal to be reaching for. So when we're talking about this quality element, is quality at the forefront of the process, or does it kind of become an afterthought if we're being honest?- So I think, you know, I kind of alluded to it a little bit the last answer, but that's exactly really the problem for most organizations that they add testing to the process, they add testing as a step, somewhere probably too late in the process, and they fail to think about quality in a more holistic way, right? They need to shift their definition of quality, they can either expand it, they need to pursue continuous quality as part of that definition and part of that initiative, and once they have a good definition of what quality is for them, then, they can begin to sort of set goals for quality. And then they can select the right testing tools to help them both with the acceleration of the delivery of software, as well as improving software quality, you know, injecting more automation and efficiency into the process.- Yeah, and I think that's a fair assumption to say that. But how, what's the best way to kind of phrase this, I would say, when we're looking at putting those original kinds of goals in of like, this is our roadmap, and then this is how it's going to go. When should this process start coming in? Are we talking like from day one, or is this something that organizations can build forward from now?- Yeah, good question. Yeah. So I think they, again, as they're thinking about software, the software that they're about to deliver or a new release of software, early on in that process, and again, today's a good day to start thinking about that, they need to sort of define what quality means. What is quality? What are the levels of quality? Who's responsible for quality? What are the steps we're going to take around quality? A lot of times companies will, at that same time, sort of now, you know, analyze prior releases, and it won't take long to figure out that because they didn't have quality, you know, injected into the process from the beginning from the design of the software, likely it cost them time and money as a result. And so there's a return there, right? So I think that's, you know, today's the day to start, but really, it's at the beginning of the process.- Yeah, yeah. I think that's true. Would you say that's kind of the main pulling point that ROI is not what they're really looking for when they're looking at this option?- So I really do think it is, they want to deliver software quicker, and they're realizing that if they're going to maintain a level of quality, especially as it comes to customer expectations of that software, that they need to, you know, in order to streamline that process, they can't find big problems late. They've got to kind of find those early in the process where it's much, much cheaper, much more time effective to fix those things. So, again, I think it's speed, but it's quality at speed, right? It's always going to be a quality of speed goal.- Yeah, yeah, I think that's a good way to put it. So I also want to kind of delve into the customer experience of all of this. You know, we've send this process in place, and then we get to the CX journey of it, so how does this feed into the customer experience, and what these tools and processes can really do for them?- So I think this is important for a couple reasons. First of all, customer experience is a pillar of digital transformation. It is a critical outcome, therefore, for good software delivery. Customer experience must be integrated into that new definition, that expanded definition of quality. And I think once they kind of consider, what does this mean? This customer experience thing? Like, what does that really mean when I deliver the software? And what are those goals associated with that? Then they have a hope of actually, you know, coming up with a testing and quality game plan. You know, a lot of applications are, you know, we think about customer experience through the UI, right? The user experience, the user interface of that application. The reality is, that would be, you know, that is an important aspect for many applications, mobile applications, web applications, but a lot of times that user experience is just a tip of the iceberg from an experience perspective, right? It's really that application interacting with many other services and applications behind the scene completely unbeknownst to the user, right? And those things are all happening quickly. They're all happening accurately, they're all happening in a secure manner, which is, you know, protecting their privacy, of that customer, etc. And so there's a lot more requirements to customer experience, right? When you start thinking about the interconnected nature of today's applications that are very, very important. So again, when they think about that definition of quality, and how it includes customer experience, right? The ability for that application to interact quickly in a secure manner drives a lot of requirements around quality.- Yeah. There's a lot more factors to consider when we're looking at this area, isn't there? It's, you want the security to be there, but you want, as you said, the UI to be as good as it can be. But you also want to make a seamless experience with all of this tied together for the customer themselves. Do you think there's ever a struggle between those kind of expectations of what the customer really needs, and what the companies are able to kind of deliver to meet in the middle of this efficiency but also secure nature?- Oh, absolutely. Absolutely. I think there's constant tension between these requirements, right? And I think this is, again, goes back to my original comment, when you start thinking about levels of quality, right? And then you start thinking about quality as being, you know, encompassing customer experience, security, compliance, it is important to define as objectively as possible what the minimum bar requirement is for each of those areas. And although there'll still be tension, without those definitions, it's nearly impossible because the pendulum it just keeps swinging back and forth from the UI to,"Oh, security," right? Somebody is going to claim like, "Well, you can't release that software because it's not complying with our security regulations," etc. So if you don't, again, kind of start with the end in mind, you don't start defining those things well, and understand how these things are all competing with each other early in the design, right? I think it becomes much, much, much more difficult to actually deliver.- Yeah, exactly. Comes back down to that flow again and just making sure we're seeing that consistency. And I wanted to move on obviously, the customer experience is very important and how it gets there, but then there's the workers who actually make this possible. So I wanted to kind of discuss that as well because if an organization is constantly chasing continuous software quality, what does this do to the employees in terms of their productivity, and how does an organization keep that level up?- Yeah, another good question. I think we can take a cue, right, from, we can take a kind of learn from, if you will, the experiences of many organizations with continuous integration and deployment delivery, continuous deployment delivery of applications as well as DevOps, right? So if you look at their journeys, most organizations have figured out that they require very well thought out and highly integrated toolchains. So they're going to use a lot of different technologies, they have to be all integrated, they're continuously looking for ways to automate manual processes and tasks, and I think the same exact set of rules sort of holds true as you start thinking about continuous quality. It's, really should be sort of an expansion of or an extension of those efforts that they likely have already started in terms of a shifting left to automate code analysis, and unit testing, and code coverage, then looking at other areas like API testing and service virtualization. And then eventually, right, you get to sort of UI testing and performance testing on a broader scale from a system perspective. And I think one of the things, again, these organizations are learning as they build out these toolchains for CI/CD, they're learning that best of breed isn't always better. So best of breed, where you are selecting individual tools for each one of these technology areas, and these needs can be overwhelming, and it can create a whole set of integration challenges. And instead of actually building and delivering the software that these teams are really paid and charged to deliver, they're spending all their time integrating these tools and kind of mucking with individual little tools, and, you know. So, you know, this is one area, for instance, Forrester recommends looking at testing suites and platforms that help organizations across a variety of areas versus looking at that best of breed approach. So again, just kind of quick recap, A, learn from CI/CD. Look for continuous ways to automate tasks and manual processes. Begin integrating these automated testing tools at the beginning, and maybe look to platforms or suites of tools that can help you across a broad spectrum of testing needs.- Yeah, I think that's very key, and then that feeds into, obviously, the employee productivity will be bought up. And with that ease, as you said, of automation, makes life so much easier in the long run and results in that quality that we see. So just to kind of wrap up the show here, I want to kind of, in relation to what we've kind of discussed, do you have any kind of, you don't have to name any company names, but any use case examples of why companies are chasing and striving to succeed in continuous software quality?- Yeah, yeah. I got a couple that come to mind. So one, I think a really good example is a large travel and entertainment organization that had a goal for their customers to be able to use a single card to access the room in the hotel. They could use that same card for dining or, pool access or, gambling in some cases where they had casinos, or other entertainment options, not just at the property they were staying at. So if they had multiple properties, and multiple entertainment and restaurant options in the vicinity, they could use that card seamlessly, with that they would know, you know, they'd be identified as who they are, and they would be able to use that card for access, for reservations, for payment, etc. And they would get credit for that, there's points and reward system, and so forth, all built-in. And so you're, start thinking about that, if those restaurants, and those hotels, and those systems that were being used were all architected and developed separately, then this became a huge integration problem on the back end. Again, the user interface for the customer is a card, it's not actually software. It's a card they give, or swipe, or scan, if you will, and seamlessly, they're given access. They're able to pay, they're able to do these things. And so this became this massive sort of API and service virtualization problem. And so great customer experience was solved not through UI testing tools, but through a set of API, you know, automated, intelligent, using machine learning, etc., technology around their API testing services virtualization. So that was one example that comes to mind, and that was entertainment industry. And so they were able to do this, right? They were able to, you know, A, virtualize this environment, B, they were able to do this in a fraction of the time because it was highly automated than what they could have done before manually. And so, you know, they actually viewed this as sort of the untestable. So they were able to test the untestable. They were like, "I don't even know how we're going to test this." So that was, I think, a good example. And then the second one is in the financial realm. And I can name this company. So ING, obviously a well-known financial institution ultimately headquartered in the Netherlands. They have a very complex mortgage ecosystem, and they were able to basically take the testing of any changes or rollouts within that ecosystem from over five days because of the complexity of the ecosystem to less than a single day, again, using an automated way to virtualize and simulate that environment. Again, the focus being sort of API's and services virtualization. So they got to over 60% of that environment could be virtualized and tested in an automated fashion. And ultimately, they attribute this single area to accelerating their application delivery.- Amazing stuff. I think those are some perfect examples that showcase exactly what we've been speaking about here today. So, Matt, all I can say is thanks for coming on today's episode, walking us through this, and giving us further insight into this continuous software quality.- Absolutely. Thanks for having me.- Very welcome. And thank you, everyone, who took the time to listen to this episode. We do hope you took a lot away from what we discussed. But if you are looking for more information, then you can also head over to parasoft.com, or if you want even further information and get a member of the team to help you, head straight to the demo page, which is parasoft.com/request-a-demo, and they'll be more than happy to help you out. Thank you again for tuning in. We'll be back again with another episode.[music]