What is GitLab Duo and How To Use AI to Improve the Development Lifecycle

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

Get more video from Redmonk, Subscribe!

With the potential of generative AI systems now apparent, the technology industry is seeking new ways to apply them to new areas – areas including application development. Already adept at code generation, gen AI is proving capable at a variety of tasks relating to development. In this video, we’ll explore the ways that GitLab Duo can bring AI abilities to all aspects of the app dev lifecyle.

This was a RedMonk video, sponsored by GitLab.

Transcript

Stephen O’Grady: Good morning, good afternoon, good evening. I am Stephen O’Grady with RedMonk. I’m here with Taylor from GitLab. Taylor, you want to introduce yourself quickly?

Taylor McCaslin: Sure. Hi, everyone. My name is Taylor McCaslin. I’m a product lead for our AI functionality here at GitLab.

Stephen: Awesome. So we’re here today to talk about a popular subject these days in generative AI. But we’re specifically here to talk about the breadth of touch points that generative AI is going to have across the development life cycle. So historically where we’ve seen AI deployed at sort of development or DevOps type tasks, it’s been more isolated and in a vacuum. Right? You know, we’ve used it for code generation or we used it for security scanning and very specific sort of discrete tasks. So, you know, really what we feel at RedMonk, we’ve been talking about the quote unquote developer experience gaps for a long time. Which is the idea that we have all these individual services and they’re not necessarily connected particularly. Well. You know, there’s all these one off sort of pieces that developers then have to leverage in concert with one another after the fact. And,our sort of vision, if you will, has been all right – what if we had a first party experience which integrated a bunch of these different pieces which improved the developer experience, but then particularly over the last 12 to 14 months, as we’ve seen, the rise of the generative AI chat systems, what if we had an AI that could take some of the tedium and some of the menial tasks that developers are burdened with off of their plates? So, you obviously are out to build this. You’re out to address some of these needs. So can you talk to us about GitLab’s vision for where a generative AI fits within developmental workflow?

Taylor: Yeah, absolutely. So there’s been kind of an obsession in the industry right now with code completion tools. And those are probably the most mature AI capabilities in terms of development life cycle. But at GitLab, we don’t actually believe that that is a end all, be all tool. In surveys that both GitLab has done and external surveys show that developers only spend about 25% of their time actually developing code, and so they spend a whole lot of their time actually building other capabilities, planning, automating, testing, writing documentation, fixing security bugs. And so we are looking at this more holistically of how can we build a variety of different AI tools that allow basically the developer to, regardless of where they’re at in that software development life cycle, have an AI assistant or a tool that helps them achieve a task faster, helps them do hand offs quicker, and drives that productivity.

Stephen: So can you give us some examples? So obviously as we talked about, everybody knows that generative, sort of code aspect, you know, can you give us some examples of tasks that you are turning to AI for, that are more than that? That are obviously — we have that as a sort of baseline — but what are the other areas where you think you can check in and help out a developer in terms of, right, look, we can take this off your plate. You can focus on writing code and do the things that, frankly, you enjoy doing, rather than sort of menial tasks, you know. So can you give us some examples there?

Taylor: Sure, I’ll actually share my screen here and take you through a variety of features. We’ve got about a dozen AI capabilities that sit across Gitlab’s platform. We look at these very holistically across the software development life cycle, and so we are developing these capabilities in the context that a developer happens to be with any one of these areas. So starting to the left here with developing features, we do have a code suggestion solution for code completion and code generation. We also have a tool to generate tests for software code. We allow you to generate commit messages. We also have a tool that will look at the code changes in your merge request, and suggest reviewers to review your code. And people who have contextual understanding of the specific files that were changed in your merge request. These AI features are intended to solve very specific pain points in the development process. Like who is going to review my code, who has the contextual knowledge to be able to do that? That is historically something that we’ve heard from customers, that it’s just a painful thing to guess a reviewer, hope they’re not out on leave, hope that, you know, they’re available or not overloaded. And suggested reviewers can help solve that.

Stephen: Yeah, nobody likes code reviews.

Taylor: Well, and that kind of gets us into then the review process. We’ve also got features there where as developers are adding code comments to reviews. You can actually use AI to summarize your code review to help get your points across to the original author of that code. And so you can see there’s these, like very painful moments across the software development life cycle that we’re building individual independent features for. The other one that I am particularly a fan of at GitLab is we do have a vulnerability explanation and resolution tool. So when you push up your code, CI runs, GitLab detects there’s a security vulnerability in it. We’ll display that for you. And you can use AI to explain that vulnerability to you. And we’ve just released a feature that actually allows AI to generate a fix to open a merge request, completely automated. That code change that’s created by AI triggers your CI pipeline. We run that build. Make sure that it builds, make sure that that vulnerability is actually not detected anymore. And now you’ve got an AI security resolution that you didn’t have to do anything on other than click a button.

Stephen: Yeah. Yeah, indeed. And, you know, from our perspective, again, really the opportunity here is, to deliver a single native sort of experience which runs from the very first lines of code that are written all the way through to deployment, and delivers a quality developer experience where the pieces are designed to fit together and there’s logical points where AI is going to sort of help out. So, you know, we’ve talked about some of the individual features. What’s your impression in terms of talking to customers and users and developers in terms of that whole. If we zoom out and think about the system, you know, sort of front to back, with these pieces, like what are some benefits that you’re seeing, you know, folks get from the platform.

Taylor: Yeah. So if we take this view of features and lay it across the software development life cycle, you can see that we’ve got features that intersect with kind of anywhere you’re at in the life cycle. And so the way that we think about this essentially is in an enterprise organization, you’ve got a large number of developers who are all working on individual features and tasks and iterations. They may be at any point of this software development life cycle. And so we want to build tools that meet them where they’re at, that they can start leaning on and getting used to using and then have them everywhere every time they’re encountering that same problem. So you’ve truly got kind of the name itself, GitLab Duo, you’ve got a companion that’s essentially assisting you as you’re developing throughout the process. What I particularly like as well is that we’re not all just focused on developers. We have AI capabilities for non-technical users like product managers and project managers. We have security and compliance AI features for those security teams. So it’s not just developers either. It takes a village to build software, and everyone should have those AI tools to help them get software to production and make it secure.

Stephen: Awesome. Okay, so I believe that you have a demo set up for us, so why don’t we cut to that?

DEMO: I inspires possibility. For us, it’s the possibility to help everyone be more productive and more efficient no matter their role. We want to help you build more secure software faster together. Introducing GitLab Duo. Your pair programming assistant and more. For developers, GitLab Duo helps increase productivity and efficiency using generative AI that suggests code as development happens. Predicting and completing lines of code. Defining and generating logic for function declarations, generating tests, and suggesting common code like regex patterns. Code suggestions helps developers stay in flow and we walk the talk for security and compliance. Our privacy first approach helps enterprises adopt GitLab Duo code suggestions while protecting their intellectual property. No trade offs. Code suggestions does not use your proprietary code as training data, and development is just the start. Gitlab Duo is AI for every part of the DevSecOps life cycle, giving everyone access at every step. Development teams. Security teams. Operations teams. Gitlab Duo is for all. It’s the power of one single application to do more create, test, secure and take software development experiences to another level, all with GitLab Duo. Together, we’re building the future of AI powered DevSecOps. It’s software faster.

Stephen: Okay. And so, Taylor, I wanted to ask you sort of a couple questions, just as we’re headed out. So the first one is, you know, when we talk about generative code systems in particular, but, really generative AI sort of across the board, you know, one of the issues or one of the potential concerns that we hear are folks who are concerned that this is going to take their job away. Now, our view at RedMonk is much more that these are assistive tools and that there is still a, you know, certainly a need and a requirement to have humans sort of driving the bus, as it were. But I’m curious, like, you know, if you get that question, how do you answer it? Like how do you sort of make sure that people understand the appropriate role for AI in development moving forward?

Taylor: Yeah. So I’ll say it’s an exciting time in AI. There is a lot of advancement happening. We’re definitely not to, you know, the Terminator stage or us losing jobs by any means. These systems are actually pretty dumb. If we’re being real honest, we’re finding ways to start leveraging things like large language models. But what it comes down to ultimately is that when you look at enterprise organizations, there will always be a push for more, faster to deliver shareholder value. And so AI tools and assistants are essentially allowing you to do more with less and accomplish that in a more holistic way. And so I think it’s really a matter of we’re going to have these AI tools generating much more code, and it’s going to be even more important to have human developers that are writing alongside that are checking the outcomes of those AI generated code that are looking at the CI builds, that are looking holistically, steering the systems. So while I do think, you know, AI is going to touch probably everyone who interacts and builds software, I think it’s instead really about how do we work with AI and leverage that to create more, faster?

Stephen: Yeah. It’s always funny to me, you know, to hear folks concerned about this because honestly, had somebody gone back to me in my days as a developer and said, hey, you don’t have to write tests anymore or you don’t have to patch the security vulnerabilities. I would have traded just about anything for that. But, all right, so that aside, I’ll just ask you one last question, which is, one of the questions again, that we hear from folks that are interested in generative solutions in particular, are, all right, where do I start? What’s a logical entry point? In a lot of cases it’s, you know, sort of code generation, okay, I can sort of start playing with it and, you know, sort of seeing the code that it writes and so on. But, in your experience, talking to users, where and how do they get going. Like what’s the simplest onramp from I don’t have any experience with gen AI tools at all to, hey, I’m beginning to use them, you know, sort of in earnest in sort of legitimate production scenarios.

Taylor: Yeah. So we definitely talk with a lot of developers who approach us and they’re like, okay, so I need to learn prompt engineering and I’ve got to figure out how to steer all these things. And we’re like, no, no, no, no. Actually, let’s take a step back. GitLab is specifically building these AI features that they do not have controls. They’re not prompts that you edit. There are not settings that you toggle and tweak. Instead, they are UI buttons that show up in the tools that you’re already using. The GitLab web interface, your IDE, they come to you, they’re there when you need them, you can trigger them when you’d like to. And so we try to make them very approachable. We also have a design principle with our AI at GitLab that it should be progressive enhancements. It should never block you from doing what you’re trying to accomplish. If the AI model fails, or if it has a bad suggestion, it should be easy to get that out of the way. And so everything that we’re building is progressive. You have to accept the suggestion. It’s an additive capability, but you are still in the the control seat doing the things that you’re already used to doing code reviews, assigning reviewers, fixing security vulnerabilities. You just now find these little glimmers of, we use a little sparkle icon in GitLab to indicate that, hey, there’s an AI feature here that can help you with whatever it is that you’re doing. And so we hope that, you know, actually developers just kind of discover these features as they’re just doing their job and find how those capabilities can help them be more efficient and do their jobs more effectively.

Stephen: Makes sense to me. Yeah. And I think on that note, I urge, certainly anybody watching this, to give these things a shot. Because honestly, if it’s, you know, the simplest way to look at it from our perspective at RedMonk is that the less time the developer spend doing things that aren’t interesting and, frankly, not terribly, sort of high value for them is the more time they spend doing what they want to do, which is writing code or, tailored to your point, you know, if you’re in security or marketing or whatever, product design, obviously there’s other things you could be doing with your time. So, this has been great. I appreciate your time. And I’d certainly urge everybody to check these tools out. So with that, we’ll wrap. Thanks, Taylor.

Taylor: Cheers, y’all.

 

More in this series

What Is - How To (28)