Occasionally, it’s worthwhile to reflect on how we develop and deliver software during times of rapid change and significant disruption. In those moments of reflection, we learn from the exciting trends and changes that are taking place. Recently I had the opportunity to commiserate with two technical thought leaders at Perforce: Stuart Foster, product manager, and Steve Howard, static code analysis evangelist.
The disruption caused by COVID-19 goes much deeper than just the rapid shift to work-from-home. Development teams are being asked to keep up developer velocity, while the organization as a whole accelerates digital transformation projects, shifting priorities and emphasizing investments needed to successfully navigate difficult and uncertain economic and market conditions.
In our conversation, we note how investments already made in shifting to the cloud, remote and cloud-based development, automated testing and pipeline automation and security tools are helping organizations today. We also explore how current conditions influence product roadmaps, causing software teams to take a holistic look at their development processes and tools, and organizations to rethink how to take their software delivery capability to the next level.
Stuart and Steve share their software best practices on collaboration, automation, security, standardization and more.
Explore our conversation in more depth by viewing the video and transcript below.
Transcript
Mitch Ashley: Well, Iโm happy to be joined by Stuart Foster, whoโs product manager with Perforce, and Steve Howard, static code analysis evangelist, and I think a lot of other things, tooโdoes a lot with Perforce. So, welcome, gentlemenโgood to be talking to you today.
Stuart Foster: Thanks, Mitch.
Steve Howard: Hello.
Ashley: You know, we’re talking aboutโyou know, Perforce does a lot of things, and I think we’re just kind of focusing on what maybe some of the current conditions, current best practices are. Thereโs a lot happening right now in everybodyโs worldโa lot of change, a lot of disruption.
But before we get to that, could I have you both introduce yourselves? Maybe Stuart, would you start first?
Foster: Yeah. Hi, everybody, Iโm Stuart Foster, Iโm Perforceโs product manager for our static code analysis products.
Ashley: GreatโSteve?
Howard: Yeah, and Iโmโwell, I have, as you say, many jobs and roles within the organization, but primarily focusing on the evangelism around using static code analysis for both of our products, Klocwork and QAC, here at Perforce, yeah.
Ashley: If you’re working with developers, you gotta be doing evangelism, right?
Howard: Yeah. [Laughter]ย
Ashley: They expect you to give them support, and be talking to them, in a different kind of way. Tell usโwould one of you tell us a little bit about Perforce and what all you all do?
Howard: Yeah, sureโwell, I’ll take that. So, Perforce is an organization, obviously as, you know, originally comes out of the version control software. But really, itโs about developer tools and how we can help make the developerโs life easier in the day to day tasks. So, whether that be trying to prove compliance to standards or just trying to get the stuff out the door in the first placeโanything that we can do to help make that process smooth and reliable is kind of where we are. And, you know, these days, that has a bit of aโa buzzword, if you will, around the DevOps tooling ideas, but essentially, itโs developer tools and making their life more comfortable.
Ashley: Thatโs great, because you all fit into a number of places in the sort of tool chain, pipeline, workflow process across the development life cycle.
Howard: Thatโs right, yeah.
Ashley: So, that’s awesome. Well, letโs get into this. Iโm really curious about what you’re finding in market, and one of the things we like to do when Iโm talking with experts like yourself is, let me just try to share some of the things that we’ve experienced within the past, but also kinda recently that itโs happening, because we’re all dealing with economic change, disruption, COVID, work from home, all of those kind of things, but you know, we’ve done some research at my company and thereโs a lotโof course, a great, great emphasis on acceleration of digital strategies and, of course, that puts a lot of pressure and emphasis and people are betting money on software being the answer to helping them implement their strategies.
Are you seeing the same kind of thing, that acceleration of digital transformation and softwareโelevation of software projects?
Foster: Yeah. We’re seeing that across the board, even in our own company here. You know, a lot of us have transitioned to work from home, and then you have to start thinking about the considerations for that, right?ย
And what we’re finding ourselves and working with our customers is, a lot of people are shifting more technological tools, right, to be able to better produce workflows and code reviews, how toโworking from home, security, right? How secure are your remote development work stations? How is security being built into your software and your workflow? So, tools are being used across the board for that. Just being able to rely on a piece of software versus in-office workflow has become more and more important. And amongst all that, then thereโs the goal to, you know, keep development velocity up, which could be a challenge when working from home, right? So, we’re seeing a lot more DevOps automation of, you know , a lot of workflow process and things like that.
Ashley: Yeah, thereโs no more popping over the edge of the cube or to the table next to you, right? Somebody sitting there at the cafรฉ, in the office, or down the street. Itโs a fully digital world, right? You’re not sitting with people very often.
Foster: Yeah, we’re relying on Slack, we’re relying on Slack calls, Zoom videos, everything to just stay in touch and work and collaborate with one another, yeah.
Ashley: Steveโyeah.
Howard: But I think thatโs whereโyeah, so, I was gonna say, I think thatโs where those centralized processes that we’ve kind of all been working towards, luckily, for the last few years, are really gonna pay off. Because how do we not have that? If you imagine how things were maybe five years ago, it would’ve been a much bigger transition to get to where we are now, whereas it was almost like most of our organization was kind of ready to go. We were already there, justโyou could call foresightful, but really, it was a little bit of chance, I think. Yeah, those processes have held things together remarkably well, and we’re very lucky for it.
Ashley: You know, nobody would wish for something like COVID or a pandemic on any of us, but if you look back, you know, I think back when we were virtualizing things and developers were starting to be able to just create a fully self-contained environment to develop on their laptopโI saw people working on planes, right? First time I saw somebody writing code on a planeโthat’s awesome.
But so many things, and then of course, adding the cloud and all the services and software and tool chains and pipelines that we can create now, itโI mean, I think we’re lucky, if you were gonna have something like this happen, now is the time where we can actually continue to be productive, and put more emphasis or pressure on ourselves to deliver software. Do you agree?
Howard:ย Yeah.
Foster: Yeah, absolutely.
Howard: Yeahโsorry, Stuart.
Foster: [Laughter] We agreed at the same time, that was great.
Ashley: [Laughter]ย
Foster: But you’re right, I think, like, some of itโyou know, itโs a little bit accidental, but as you mentioned, setting up the development workflow to be able to do it on a laptop, people are shifting their hardware, they’re removing their hardware and going to the cloud, right? So, itโs kind of been like an expansion and a reduction, allโjust naturally, but also, you know, you think about DevOps and thereโs also, you know, cost savings to be had by not having to have this footprints, not having to worry about these things.
So, this could be, in some ways, pretty revolutionary or changing for development costs for a lot of companies.
Ashley: Steve, you were gonna jump in thereโanything to add?
Howard: Yeah, no, exactly the same. I think the fact is that weโyou know, a lot of that infrastructure is being built up and the idea of being able to run our development pipelines kind of in a cloud environment or whatever and having that all ready to go just meant that we didn’t have to pick up ginormous work stations. I remember back in my days of developing in aviation software, we used to literally have, you know, Unix boxes stacked up on the side somewhere that we had to go and log in on each one and run our testing for each single one. Itโs just unthinkable. It would never have been possible.
Ashley: That would be insane today. You would never. I meanโ
Howard: Yeah.
Ashley: – if you have a choice, you would never do that, right? [Laughter]ย
Howard: Well, exactly, and the very fact that, you know, 10 years ago, we still had to do that, how could we have transitioned? It wouldnโt have been possible. And so, it really is testament to how far we’ve really come in 10, 15 years to see where we are with our testing processes, the fact that we can do, you know, 99 percent of it, if not all of it can be done completely with no connection to the physical space.
Ashley: Mm-hmm.
Howard: Itโs allโand that can even mean, you know, in the cloud completely, so itโs not even within our organization. Itโs securely being done off site somewhere in the ether. [Laughter]ย
Ashley: Yeah.
Howard: And that process is still completely manageable, itโs something we can all see as developers, everyone can get to see where we currently are with that process, you know, what the latest test run gave us across the wholeโ
Ashley: Iโm really curiousโyeah, Iโm really curious what your experience in market is. Do you see more people who are kinda doubling down and getting even more serious about their DevOps implementation and taking it to the next level, or do you see more people coming to you that maybe are relatively new to DevOps and are looking for tooling and looking for ways of helping them, you know, not just get started and learn all the problems themselves, experience them themselves, but looking from the experience of a software provider like yourself, or is it a little bit of both?
Howard: Iโd say a little bit of both. I mean, obviously initially, there was such a lot to do already and everyone kind of had no time to really thinkโunderstandably, but probably within, you know, since the end of the summer, maybe, things have started to come back and people are actually going, โWell, hang on a minute. We’ve got a process, but now, how can we actually make this a lot easier for ourselves?โ and looking to improve that.
And I think, you know, for a lot of the organizations where, perhaps, doing things off site would never have even been considered. And I think this was to Stuartโs pointโthat kind of, thatโs been forced upon people and itโs almost gonna change the way we develop forever now as a result of that, because we have now, we’ve done it, we’ve experienced that itโs possible, and itโs safe and itโs secure.ย
How can we now make that better and make our lives easier by not having that massive footprint that Stuart was mentioning? We’ve actually got something thatโs very, very lean, itโs in the cloud, we’ve got machines when we need them, but not when we donโt need them, and how can we really make that process as efficient as possible from the results side, you know, making sure we’re doing what we’re supposed to be doing as quickly as possible, but also actually trying to reduce our footprint on process and power, for example? You know, the development time thatโs involved in that, how can we make that as efficient as possible?
Foster: Yeah, and I also think what we’re seeing, too, is, you know, our existing customers, they’re doubling down on their tools, you know, because they need to rely on something, right? And thatโs also, what itโs done is also, I think, is changing some of the roadmap items that all products are looking at, right? Thereโs a whole newโnot a whole new paradigm, but you know, thereโs a little bit more seriousness being taken in terms of some of these features and functionalities of being able to work remote, or the requirements for more cloud usage, right? We’re talking ease of use, we’re talking about things that are, you know, related to workflows to make working in these conditionsโnot just in these conditions. Assuming you get back to the office, just more efficient as well.
Ashley: Mm-hmm.
Foster: So, we’re seeing that at the same time, too. And then, you know, from the perspective of new customers coming in, they’re almost expecting these things to already be there, right? Because they’ve run up to these problems as COVID has created and they’re trying to find the solutions that are gonna be kinda turnkey out of the box.
And also, I’ve done, I’ve been talking with various analysts related to our product, but it seems as though the analyst community itself is, they’re seeing the requirement for, you know, ease of use in DevOps becoming more important as well at the same time.
Ashley: Mm-hmm. I think that may be also, in part, the expansion of DevOps into the organization. They may have had a core group of teams that were really taking the challenge of DevOps and implementing it and now, how does the rest of the organization do the same thing, but accelerate their adoption of it?
Foster: Yeah, and I think also, a lot of development groups within a single companyโyou know, you may have a security team, you may have a development team, you may have a LiveOps teamโthey’re starting to recognize that there are choke points in the development processes.
Ashley: Mm-hmm.
Foster: And so, how do you unblock that? How do you make it more easy? How do you offload some of that choke point onto a broader group, right? A lot of the idea of DevOps, DevSecOps, whatever you wanna call it, right, is that developers are owning the code that they produce in more broad ways. Thatโs writing unit tests, thatโs making sure they do the QA on it, right? Thatโs when they’re, you know, they have to implement the security requirements then and there, right? They need to ensure the traceability is done, right? They have toโthey’re taking that into their hands. Itโs becoming not so much that thereโs a DevOps group that magically handles all this infrastructure, itโs becoming part of each developerโs responsibility as well, right?
Ashley: Hmm. Interesting. You know, I know, as you scale things out and you adopt new tools, tools do a lot of things for you, but thereโs oftentimes, thereโs approaches that you need to adapt into your tools, things like what are our coding standards, what are our testing, what level of testing do we do? How do we break it into chunks? When do we do security testing of our code?
And that’s part of that learning curve to is, how do you adapt a tool set to both what your requirements are, but also, you would like it to kinda take you to the next level. What are some of the things that really can help people kind of propel their expertise in the organizationโs ability to deliver software more effectively?
Howard: Yeah, thatโs a really good point. So, one of the things, you mentioned coding standards there, but obviously, you know, those can come from multiple sources, they can be something thatโs actually being required by a standard, for example, if itโs in a safety critical, security critical world. It could be something thatโs actually demanded by the organization itselfโthey have their own rules or thereโs certain things in any particular project that, if you do things in a certain way would make, you know, it would be dangerous or insecure or something. So, they have some controls, as well, of that.
And what we do see is, the more that we can get that information out to our developers, for example, the more value that has as well. So, yes, we can help enforce coding standards, for example, with our Static Analysis tools. But that’s only half the story. Enforcement is one thing; actually getting the developers to understand what the problems are as they’re creating them and to have easy access to the help and the quick feedback of those problems makes it much more powerful, because it gives them, (a) you know, all the resources they need to deal with the problem quickly and to not perhaps find it a challenge to have to deal with, but also, they learn.ย
And so, the next piece of code they write doesnโt generally have the problem. So, thereโs a developer learning element there as well, which we can control centrally, and then spread out to all of these remote workers workingโyou know, without that team collaboration that we used to have, we’re still able to do the same things. So, thatโs become something thatโs really focused peopleโs minds on the capability there in terms of what that means. And as I say, that applies to security standards that are well known or requirements for quality that we have to work to for a security or safety standardโ
Ashley: Mm-hmm.
Howard: – but also the companyโs own rules.
Foster: Yeah, and I think, you know, outside of just simply the tools, development teams are, you know, taking a step back and re-evaluating or thinking more about what their software development process is, holistically, right? You know, Steve mentioned there some of the tools, best practices, but you know, you also have to think what kind of, you know, software development methodologies might you be using. You know, sometimes it doesnโt matter whether itโs agile, waterfall, whether you’re using Scrum or Kanban, you know, I think itโs giving people a moment to think about whatโs the most important kind of Dev process that is gonna fit this team or how you have to work now, how it fits the businesses.ย
And then implementing processes to ensure the organization, communication, and what systems need to be put into place to help prevent any problems that arise during development and kinda identifying and understanding that. Then you’re picking the tools, you’re building your development workflow, whether itโs in environments, itโs setting up DevOps pipelines to ensure that everythingโs followed correctly. Itโs the tools, but itโs the process, and thatโs changed, too.
Ashley: Thatโs interesting. You know, we’ve done some research about the influence that developers have had on the organization, too. Even outside of development teams, you’re seeing DevOps and agile kind of principles, even though they arenโt calling it thatโdaily standup meetings, shorter intervals of deliverables, more kinda asynchronous communication tools and collaboration kind of tools, which really makes it easier, I think, for the development teams, the product teamsโyou’re a product manager yourself, Stuart.
Foster: [Laughter]ย
Ashley: And beyondโoperations, securityโeveryone is kind of forced to work a little bit differently, but also can benefit from what each other knows about how to do that more effectively. And we seem like we’re at this sort of serendipitous time of being able to leverage that, which fits right into the tooling approaches that we can take.
Foster: Yeah, and you know, when you look at it, like, it always just ends up communication. Whatever the communication is, whether thatโs the workflow, whether thatโs in-person, whether thatโs meeting, whether thatโs documentation, itโs all about communication, and thatโs true not for just development, but for business, right? Developers working, you know, with other groupsโmarketing, salesโeverything, itโs all communication. It just keeps business running. And thatโs kinda the funny kinda perspective that may not necessarily be outright visible by simply saying, โItโs communication.โ
Howard: Whatโs interesting is, thatโs also kinda mirrored in the tooling, because a lot of the work we’ve been doing recently is about how to make sure the tools have all got open interfaces to communicate with the next thing in the pipeline or to feed that data back up to some dashboard thatโs gonna be shared with the rest of the team.
So, yeah, itโs kind of an interesting point, but that also applies with the tooling that we’re trying to build around that.
Foster: Mm-hmm.
Ashley: Mm-hmm. A really great point. So, to give you fair warning, Iโm gonna ask you your three recommendations on best practices in the current climate, so be thinking about that.
I was thinking about your comment, Steve, about being able to better integrate tools together and then taking the data from the tool sets, the pipeline of the process that we’re going through and the pipeline of workโthereโs so much value in that data that sometimes ends up as exhausts or on the cutting room floor, right, to use two different metaphors. But that information could be extremely valuable, putting it into dashboards, feeding it into continuous improvement processes, shortening the window for getting feedback for, โHereโs a security vulnerability or a coding standardโ or some kind of an error that you can fix in minutes instead of days and weeks and sometimes months, right? The security audit at the end of the release is much easier, because you’ve already gone through so much to it. Those can all be things that can help us.
So, I gave you a little bit of time there to think about your three best practices. I did my best job of stalling that I could. So, who would like to go first? What would you recommend people consider today?
Foster: Yeah, I’ll go. Just, I want to reinforce that message of,ย you know, figuring out how you’re going to work as a development team, develop that communication, right? And thatโs using your tools.
I think in the world of remote work from home, having kind of a common languageโagain, back to communicationโof how, you know, each developerโs system is set up. So, common environments, they should be using as close to the same setups as possible so that, you know, when one of you is running into an issue, itโs easier to get that information across, right? You’re not gonna have to install something obscure because somebodyโs using something obscure. You should all be trying to talk and use the same tools so you’re all speaking the same language. That allows you to have that velocity that you could otherwise lose.
And in this world, too, security hasnโt been more important than everโsecurity is more important than ever. So, think about securing your Dev processes, developing secure software, itโs gonna be very important. And those are kinda my three.
Ashley: Okay, great. All good ones. Steve?
Howard: Yeah, Iโd answerโso, my three would be, first of all, to automate; take the process away from the day to day effort of the development teams and organizations around them. So, yeah, thatโs the first one.
Reportโso, thatโs the communication piece, I guess, but get the information to the right people at the right time and hopefully in the right sort of time window.
And then shift left. So, then, we make it more efficient. Then we look to where we can try to remove the fat in the process and take away the time that was wasted and try and move it to the right position in that process. So, yeah, those three, in that order. [Laughter]ย
Ashley: Great. Excellent, excellent. Iโm curious what you both think will be some of the things that will stay with us, the things thatโll last past a forced work at home, forced work remote. Maybe people are returning to the office, maybe they arenโt. What do you think are some of the things that will stick with us? Because it wasnโt like we were doing this for two weeks and then weโd just go back to the officeโthis is an extended period, we’re developing new habits, we’re changing how we’re working. Why go back, sometimes, right? What are your thoughts?
Foster: I think you’re gonna see a lot of these workflows stay around. I think that the reliance on the numerous tools to keep velocity up and reduce and automate are just gonna stick around. You know, you donโt want to be wasting time on trying to get something to work. Itโs easier to just simply automate it and get it out of your hands so that, you know, at least from a development perspective, you can just focus on whatโs important, which is, you know, coding, the feature, getting the product out the door, right?
Those are gonna stick around, and I think the tools, over the course of time, are just gonna keep reinforcing and strengthening that kind of automation pipeline.
Ashley: Good.
Howard: Yeah, no, and I think, from my perspective, just to add the one small piece there is, the cloudification, essentially, of the processes. So,ย I think, you know, people will stop having the premises to host great, big server racks in, and thatโs just all gonna move off site, off premise, outside of the organization, for sure, yeah.
Ashley: Yeah. To kinda add what you both have said, which I think supports your thoughts on this isโyou know, as we change to whatever we’re gonna go back to, I don’t think itโs gonna be back to what we were doing. But itโs gonna be a hybrid, right? I canโt imagine everyone shifting back to a different way. Itโsโsome people are still, maybe even more percentage of our teams are working remotely, never going back into an office, but we may have some that do.
We’ve broadened the reach across the globe of people that we’re working with, the product and vendor, tool vendors that we’re working with. Those things arenโt gonna change, right?ย
Howard: No. No.
Ashley: We’re gonna stay doing that. If we’ve found something that works better, you’re gonna stick with it, right? So, you’re gonna stick withโyou’re gonna stay in the cloud, push more in the cloud, right? And leverage some of the automation, the processes that you talked about, Stuart.
Well, this has been really fascinating. Would love to have you both back, have you guys back and we can talk some more aboutโIโm gonna delve into static code analysis evangelist, your role, Steve, get into some of that, which I know you all have some of your products do and to security and to some other areas within the software pipeline, but this has been really great. I’ve really enjoyed talking with you both.
Howard: Yeah, itโs been a pleasure.
Foster: Great. Thanks, Mitch.
Howard: Bye bye.
Ashley: You bet. We’ll see you soon.



