Labs: The Evolution of Continuous Merge | DevCycle’s Nik LeBlanc

1 Aug 2023 · 36 min

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Podcast Summary: Dev Interrupted - Labs: The Evolution of Continuous Merge with DevCycle’s Nik LeBlanc

Episode Overview In this episode of Dev Interrupted, co-hosts Conor Bronsdon and Ben Lloyd Pearson welcome Nik LeBlanc, VP of Engineering at DevCycle, to discuss the evolution of Continuous Merge and the tool gitStream. The conversation focuses on practical applications of gitStream for streamlining code reviews, team dynamics, and future developments in engineering methodologies.

Key Themes and Discussions

Continuous Merge and gitStream

  • Continuous Merge: A philosophy aimed at optimizing the development process by ensuring that code is continuously integrated and reviewed.
  • gitStream: A tool designed to enhance Continuous Merge practices by automating aspects of code reviews and providing context for pull requests.

Team Composition and Knowledge Distribution

  • Nik LeBlanc discusses a controversial but effective strategy at DevCycle:
  • Engineering Team Restructuring: Teams are broken up and reshuffled to balance knowledge across the organization.
  • Cross-Functional Composition: Encourages all team members to take on various tasks rather than being siloed into specific roles, thereby increasing versatility and reducing the risk of knowledge loss.

The Role of Metrics

  • DORA Metrics: The conversation emphasizes the importance of DORA (DevOps Research and Assessment) metrics in assessing the health and efficiency of development processes.
  • Metrics include deployment frequency, lead time for changes, mean time to recovery, and change failure rate.
  • Using Metrics for Improvement: Nik highlights how tracking these metrics helps identify bottlenecks and informs decision-making for process improvements.

Practical Advice for Implementing gitStream

  • Streamlining Code Reviews:
  • Introducing estimated time for reviews on pull requests helps developers prioritize and manage their time effectively.
  • Automating the assignment of reviewers based on familiarity with the code enhances the efficiency of the review process.
  • Guidance for Teams:
  • Knowledge distribution through experimentation and embracing flexibility in team structures can lead to increased confidence among junior developers.

Future Directions

  • Expanding gitStream: Nik expresses interest in further leveraging gitStream to enhance team dynamics and expand on its capabilities.
  • User Experience Focus: The discussion also shifts towards ensuring that development processes not only focus on coding efficiency but also on delivering value to users through positive developer and user experiences.

Key Takeaways

  • Flexibility in Team Structures: Restructuring teams can lead to better knowledge sharing and adaptability.
  • Importance of Metrics: Regularly reviewing DORA metrics and adapting processes based on insights is crucial for improvement.
  • Automation as a Solution: Tools like gitStream provide the ability to automate reviews and prioritize tasks, significantly easing the development workload.
  • User-Centric Development: Future engineering strategies should focus not just on code quality and delivery speed but also on how those elements enhance the user experience.

Resources Mentioned

  • [Guide to Continuous Merge Standards](https://linearb.io/continuous-merge-white-paper?utm_source=Dev%20Interrupted%20Podcast&utm_medium=referral&utm_campaign=Dev+Interrupted+Podcast+-+Show+Notes+CM+Episode+8%2F1)
  • [Every Pull Request is Unique with gitStream](https://linearb.io/platform/gitstream?utm_source=De&utm_medium=referral&utm_campaign=Dev+Interrupted+Podcast+-+Show+Notes+CM+Episode+8%2F1)
  • [DevCycle’s Blog on Continuous Merge](https://devcycle.com/blog/everything-you-need-to-know-about-continuous-merge)

Closing Thoughts This episode of Dev Interrupted provides valuable insights into the dynamics of software engineering teams and how adopting Continuous Merge practices can lead to improved processes and outcomes. With practical advice from Nik LeBlanc, engineering leaders can draw inspiration to implement changes in their own organizations.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00In today's fast-paced business landscape, the success of your business relies on the success of your engineering team. And the impact on engineering leaders has been clear. We must deliver exceptional software while driving business outcomes. In short, we have a dual mandate. Enter Linear B, the software delivery management platform designed specifically for engineering leaders. With Linear B, you gain the visibility and automation you need to streamline your processes and unlock your team's full potential. Imagine a world where your engineering organization effortlessly manages business outcomes.

0:35Linear B empowers you to accelerate software delivery while ensuring your projects align with your strategic objectives and reporting out to key stakeholders. Gone are the days of disjointed workflows and missed opportunities. With Linear B, you'll harness the power of advanced analytics and real-time insights, allowing you to make data-driven decisions that drive business success. From tracking progress to identifying bottlenecks to optimizing resource allocation, Linear B has you covered. It's time to take control of your software delivery pipeline and unlock new levels of efficiency. Experience the power of a platform designed by and for engineering leaders like you.

1:11Discover the future of software delivery management. Visit LinearBee.io today and start transforming your engineering organization.

1:21Hey everyone, welcome to Dev Interrupted. This is your co-host Connor Bronson and joining me today, I have two incredible folks. I have helping me co-host Ben Lloyd Pearson. Ben, welcome in. Yeah, thank you. Absolutely. So you may have heard Ben on previous episodes, including our recent Labs episode. He is Linear B's Director of Developer Relations. And together, we're talking with Nick Leblah, VP of Engineering at DevCycle. Nick, welcome to the show. Thank you very much. And I heard a rumor this might be your first podcast, Nick. Is that correct? Yeah, I'm terrified. No, you're going to be great.

1:55I hope everyone here who's listening will kind of root Nick on a bit. That's cyclically positive probably for him. Because today's episode is going to be another great Labs episode. And in Labs, as you know, we explore the data, research, and insights that are most impactful to engineering organizations. We won't be doing a data deep dive this week. If you want one of those, check out our recent episode on engineering benchmarks. But we will be exploring engineering team composition and knowledge distribution. Specifically, how they relate to Dora metrics and a concept that Linear B is calling continuous merge and the tool that we built to help push this forward called GitStream.

2:32Ben is our resident expert on continuous merge best practices and GitStream, and Nick has adopted some of that tooling with his team at DevCycle. So we're going to ask him about his experience and how he thinks about some of those concepts as a VP of engineering. But first, we are going to start off by talking about team composition and that knowledge distribution piece we mentioned. So, Nick, let's start with you. You implemented a practice which you admit is a bit controversial on your team and I think maybe speaks to your approach. As I understand it, you are breaking up engineering teams and recombining them to help distribute knowledge and rebalance teams.

3:05Can you elaborate on that? The history of DevCycle, we're also a company called TapLytics that focuses on A-B testing. And before DevCycle came around a couple of years ago, we ran into issues with like, how do we maintain our SDKs? How do we make sure that if there's bugs coming in with our SDKs, and we had many, how do we stay on top of those? And the problem that we had is we had basically one Android developer who was now a product person. He no longer did Android. We had one iOS developer, and then we had our CTO. And our CTO happened to cut his teeth on Objective-C. So that was our team for dealing with bugs on our mobile SDKs.

3:48So there's a big bus problem there, because basically if we were to lose our iOS developer or Android developer, we'd be screwed. We wanted to get away from that problem with DevCycle, so we wanted everyone to be contributing to the SDKs. So that speaks to the cross-functional composition of the teams, and how we wanted to make sure that any team could take on any type of work at any time. The idea of kind of cutting them in half, traditionally teams have been led by like what's known as a team lead. And that's kind of like my background. So I started as a team lead at another company and then came here as a senior and then was a team lead, then director, then VP.

4:32Team leads are kind of hard to find. And there's not a lot of people in my experience that want that responsibility because it's ultimately, you're responsible for the code, you're responsible for the happiness of your team, you're responsible for everything. But you need some kind of presence that's pushing the team forward and making sure that everything's on track. So instead of trying to find new team leads, what we did is we just kind of invested in developers that we already had, gave them an opportunity to try the position, and then split the responsibilities of team lead into two positions.

5:07So we had basically one that is a project lead and one that is a tech lead for each team. So what that means is the project lead is responsible for basically making sure that the project stays on track, that Jira is appropriately updated and reflects the current state, that people on the team are happy. The technical lead is responsible for making sure that the code coming out of that team meets a certain standard. And that worked fairly well. and continues to work fairly well. But the fact remains that these are all people that are new to the position. So they're learning how to operate these teams as they go.

5:47They're learning their own skills, learning their own strengths and weaknesses. And each team is kind of developing their own process for how they operate. We have been running like that for about a year now, and each team had learned a lot. So one team is particularly good at Area A, another team particularly good at Area B, and relationships were forming in these teams that didn't have the opportunity to form across the teams as easily. So we decided to just kind of break it up. So we kind of cut each team in half, and then we split those halves together to form new teams. The point of that was basically to make sure that the leads had an opportunity to work with different leads.

6:30and they had an opportunity to blend what they had learned about what works best for their teams into kind of like a cohesive hold for like how any team can work at this department at this company sorry now the the controversy of this is like it's pretty bad to break up a team when the team is operating well and obviously you're never going to find an ideal time when basically a team's work is over. So it's hard to find that ideal cutoff point where you can say, okay, team A has done their work, team B has done their work, we're going to cut them in half, we're going to make new teams now. So there's always going to be an interruption, there's always going to be chaos, and there was, but it wasn't that bad.

7:12We basically pulled the trigger on a Tuesday, and by Friday everyone was operating as though nothing had happened, which was fantastic to see. And then I I give so much credit to the members of the team for their willingness to do this and their enthusiasm for it. And it just kind of showed how well the members of the department operate together and what they're willing to try to basically ensure that we're operating effectively and that we're learning as we go. I mean, the amount of experimentation that you're doing is actually really fascinating. And it kind of makes me think about, like, you know, there's this meme out there that, like, everyone's becoming a full stack developer these days.

7:56And in some senses, you're almost taking that to an extreme. But it seems to be working in many ways. So, you know, as you sort of experimented with this over time, what are the results that you've seen? Like, how have you adjusted based on, like, you know, I really love the example of, like, deciding you need to actually break up your teams. Like, you know, what have you experimented with on this and how have those results manifested? Yeah, well, one thing that we've certainly noticed is that, let's say, junior developers that might be leaning more front end or more back end, they're gaining a lot more confidence a lot more quickly outside of the stack that they're comfortable with.

8:36There's a couple examples within our company of like junior members that feel comfortable in the front end, but very uncomfortable outside of it. And that comfort level has increased dramatically. And through that, they have more confidence in themselves. So they're being exposed to more technology, essentially. There is kind of a counterpoint that it's hard to develop particular expertise in one part of the stack or the other. So that is certainly a compromise that this structure accepts. But especially for junior developers, I think that breadth is better than a particular focus at this point.

9:12That's a great example. So I'm kind of curious then, have you found any sort of ways to address the lack of expertise? Are you starting to build that internally or maybe hire specifically for it? Let me maybe expand on Ben's question here. How are you leveraging tooling to enable these changes you're making in team structure and composition? Yeah, okay, so that's a good question. We've done some crazy stuff with JIRA. And I know everyone loves to hate JIRA. I'm kind of a fan of it. I've learned to love it. Basically, each team has a board. They call it a focused board. And at any given moment, a team is working on one particular Epic, and that Epic is a feature.

9:56So Epics equal iterations of features around here. And what they do is they basically, on their focus board, they're able to see all of the tickets of the Epic in question, or they're able to just see the Epic in question. and they're also able to see any particular bugs unrelated to epics that have been assigned to their teams. We also have guilds, which is kind of another thing that's been historically difficult to make work well. Guilds can either be an opportunity for discussion about a particular part of the platform or technology, or they can be an opportunity for like-minded people to focus on a particular part of the stack, build up backlogs that are less product focused and more, let's say, technical debt-focused or investigation-focused, and they can try to slot that work into their team's roadmap.

10:45So basically, we have teams established with JIRA, and any project work goes to a team through that. And then we have labels that get associated to guild tickets, and those automatically get assigned to, those appear on the team's boards as well. So we've gone through a lot of experimentation with the boards and how to best represent the work at hand for a team and how to basically prioritize what killed tickets the team wants to pick up and what tickets the team doesn't. And my understanding is you're leveraging continuous merge tooling to enable that more frequent deployment. Can you share a bit about how that is impacting this team structure you've developed?

11:27Yeah. So one thing that we haven't done yet with continuous merge or with GitStream that I'd love to is figure out how to assign PRs to people based on their teams. And I know there's a lot of examples in your docs about how to assign them based on familiarity with the code that's changing or lack of familiarity with the code that's changing. So that's something that we're going to lean into heavily in the very near future. But what we use it for now is essentially to estimate the amount of time that it would take to review the PR and drop those labels on the PRs, merge any depend-a-bot PRs automatically or any PRs that just deal with tests or docs.

12:05I think that's just a prime example in your docs, and it's worked well for us. A lot of our Dora lead time metrics are being affected by dependent bot PRs just sitting around and not being looked at. So it just kind of forced us to act on them. So what do we want to do with these? Do we actually want to merge them, or do we just not want to merge them? So now that kind of took that question away from us, and now it just goes in if it passes tests, which is fantastic. That's pretty much the extent of GitStream at this point. But it was largely like the reason we adopted it is because of door metrics.

12:38We saw blockages in our pipeline and we wanted to smooth them out. And now I want to use it to basically give people opportunity to explore areas of code that they otherwise have not yet. Yeah, that's actually something I've heard from quite a few people that have checked out GitStream in that, you know, they don't really want to bias their processes too much to relying on experts. but they also don't want to bias it too much on trying to push random reviews onto people in an attempt to share knowledge. So the fact that we are able to give you these knobs and switches that let you fine-tune it for your own process, it kind of gives you the best of both worlds, right?

13:17You leverage your experts when you need them, but then share knowledge in all other situations. So yeah, I really love how you mentioned that Dora kind of led you down that path. So, you know, beyond like pickup time and review time, like, is there any other sort of thing that has helped you make that connection between like the value of tracking Dora metrics versus actually like implementing these processes? One thing that I've actually gotten a lot out of Dora is basically something to celebrate with the team. Like, hey, check it out. We're doing great. And it's often hard to pull yourself back and see the big picture and just appreciate your accomplishments.

14:00So by being able to review them daily and say, yeah, we deploy like 10 times a day this week, that's really impressive compared to other companies. And so I just like to make sure that the team is aware of that, appreciates what it means and how our process differs from other companies and allows us to ship this quickly. And obviously gives us insight into anything that's affecting our ability to do so. Yeah, and I think you probably also get, you know, if something isn't going well, you at least get some insight into why so you're not just wondering, like, you know, why does it feel like we're not getting code shipped as often or something like that?

14:38you actually have the real insight you need to understand it. So, I mean, what other issues, improvements, do you think you've seen with your developers more interested in being proactive about trying to find those inefficiencies and improve them? Yeah, yeah, definitely. There's a lot of attention being paid to basically just PRs, how long they sit. It's become an important part of the team's working agreements to discuss how long they're willing to let a PR sit before it gets reviewed. And they push themselves, and they find new ways to be made aware of PRs that do need action. So generally, we would use the GitHub Slack extension.

15:22And then there's always the process of, if you're between tickets, go check out some PRs. But what the teams are doing now, so for one, some of us are using Graphite. Graphite has a really good GitHub integration for Slack that I personally find to be better than GitHub's. So it's really good at informing you of PRs that require your attention and kind of like review cycles on those PRs. What teams are doing now to make sure that PRs don't get missed is within their team Slack channels, whenever a PR is ready, they will post it to the channel and say, this PR is ready. And then if someone is going to take a look at it, they drop the eye emoji on it.

16:01And now everyone knows that this is being looked at. And then if it's approved, then they will drop like a green check mark on it. There's no automations set up that this hooks into at all. It's really just like a visual indicator that the team can use within their channel. And this is one of the processes that kind of bled from one team to another with this, with like the crazy team stuff that we did when we merged the teams or split the teams and made new teams out of them. Because one team was using this really well and another team wasn't. And so now they both are. And it's just really helping just making sure that everyone's aware of the things that they're able to do to help the team.

16:38I'm curious to ask a more conceptual question about where you see these kind of tools, whether it's continuous merge tooling, stuff more focused on incident response moving in the future. Do you see these new concepts reshaping how dev teams are working? Or where do you see opportunities to grow out automation tooling for workflow in the development process? One thing that we're thinking about lately is like Dora measures your basically how quickly you can ship and the level of quality. So like, is it buggy or not? Are you going to break your systems with your code? Obviously, we're a feature flag company.

17:16So we lean on feature flags quite a bit within our own development process so that we can test things out safely and we can resolve any issues very quickly by like disabling a flag, for example. Also, our deployment process is fast, so if anything does go wrong that we can fix quickly, we can deploy it quickly. But what we're focused on lately is it's great if you can push, it's great if you can ship a lot of code, and it's great if you're not shipping bugs. But there's no real, there's no signal there about the value to the user. So you could be shipping high-quality code at a very high pace that users just don't care about.

17:54And so you look like an elite engineering team, but you're not picking up users. You're not giving them a great experience. So that's something that we're trying to heavily focus on now, which is basically like considering developer touchpoints. So any particular feature that we develop, you can imagine that it will export an interface or like, yeah, it'll expose an interface to basically like the API, the dashboard and CLI, for example. And so we consider those to be like developer touchpoints of features. So the features provide value. and then the experience of using the touch points also provide value.

18:29So we don't want a bad CLI experience for people. We don't want a bad API experience for people and we don't want a bad dashboard experience for people. So how do we measure that? How do we make sure that we can still ship quickly, still experiment, but focus on ensuring a good developer experience? The idea of we want people to be going on Twitter or going on threads and saying, holy cow, this CLI is great. or like, holy cow, this platform's amazing. So just unprompted celebrations, basically, of what we're doing. And we see that as a metric that we're looking for. We're also focusing on things like kind of more product-leading metrics, but like how long does it take people to activate?

19:08And so activate is just, it's a metric that we're determining to mean sign up for an account, get an SDK installed, serve a feature. Like how long does that take? How many people actually do it? How short can we make the time between sign up and activation? So these are all the metrics that we're trying to consider now to determine how good a job we're doing at actually serving our users and delivering value to them. Yeah, I'm wondering if maybe you can dive just a bit into the tactical side of it. Do you think this is something that a feature flag type tooling should solve for you? Or is it a gap in the tooling ecosystem out there that is preventing you from tracking that today?

19:51Or have you just not found the right tool yet? What do you think it is? So we know the tools, and we're setting up the tools. So we're using Mixpanel, for example. We're tracking particular points in the user funnels. It's just our focus on that that's changing. So if we truly believe that the CLI needs to be a wonderful experience and the API needs to be a wonderful experience, then we need to make sure that someone's accountable for that And that someone is actually overseeing what it means for that to be a great experience. So who are leaders in that area that we can model ourselves after? How do we compare to them?

20:32We've had a CLI for a while, and until we started measuring the usage of it, we realized that no one was using it even internally. So we put some stats on that, and we started tracking them, and then we've made some changes. and now the uptake has increased dramatically. So basically just trying to pay attention to the usage of these things from not just a product perspective, but engineering too. So they're determining the metrics that they want to be pursuing on their teams. They are establishing the tracking and setting up their own dashboards and going from there. Well, Nick, really appreciate you diving into the unique state of your team, how you're leveraging continuous merge and GitStream to redefine and improve on your Dora metrics and the tooling approach you're taking.

21:18I think it's been a really interesting conversation to dive into some of these pieces and how it's all coming together. I'd love to let our listeners know where they can learn more about you and about DevCycle. Where can they stay in touch? Yeah, devcycle.com. We are on all of the social media stuff. So you can find us on there. Just search for DevCycle. I don't have a lot of interesting stuff online, but you can find me at Nicholas LeBlanc on Twitter. Nothing too exciting and very clever about my handle. threads too or just twitter for threads as well yeah i signed up i think within 30 minutes or something slack wow okay you're gonna have a low number nice yeah and i'm a big chicago bears fan and i just kept i was doing like a bears watch just checking to see when they would set up their account and by the next morning they still hadn't so i wondered if there was like an nfl embargo but like so many other teams had already signed up but the bears took a long time it's kind of embarrassing embarrassing no no I will cut that cut that anyways you can learn more about what DevCycle is doing with continuous merge in their blog which we'll link in the show notes and thank you again for jumping on Nick hey thank you for having me this is a lot of fun after the break Ben and I discussed Nick's thoughts on tooling how to apply continuous merge principles to your team and what the future of GitStream may look like Want to reduce your team's code review time by up to 40 % without touching your budget?

22:45GitString is the new, free dev tool from LinearB that eliminates a key bottleneck in your team's workflow. Pull requests and code reviews. After reviewing the work of over 2 ,000 dev teams, LinearB's engineers and data scientists found that pick-up times for code reviews were lasting 4 to 5 days longer than they should be. The good news is that they found these delays could be eliminated in four key steps. First, by adding context to every pull request, such as estimated time to review. Second, automatically assigning the right reviewer and number of reviewers to pull requests. Third, having co-review automation that auto-request changes.

23:23And finally, by automating PR approvals and merges. To learn more about how GitStream works and to try it out free for your team, please visit gitstream.cm or search for Gitstream in the GitHub marketplace. Ben, I'd love to dive a bit deeper with you on some of the concepts that we heard Nick talk about in our conversation. It was really interesting to hear about how he's using Gitstream. He clearly saw he had a problem and in leveraging Dora metrics to measure it. He realized that Gitstream's programmable workflows and continuous merge capabilities could help us to improve and solve his problem.

23:57What did you think about how he's leveraging this tooling? Yeah, I really love how he described the connection between evaluating Dora metrics and actually taking action on it with tools like GitStream. Because that was really kind of what led up to us creating the tool in the first place. Once we show you the numbers, we want you to have what you need to actually improve those numbers as well. So the fact that their team is so able to just go into the dashboard, get all the metrics that they need about how things went this week or the last month, because it sounds like he doesn't really work with set sprints.

24:36And so they're kind of doing more of a rolling window look at their performance. And then translating what they see or what they surface from their Dora tools into things that they can actually change about how they write code and review code. So talking about building more expertise across his company or unblocking depend-a-bot reviews because they just sit too long when there's really no reason ever for a depend-a-bot PR or very rarely for them to just sit there. So the fact that they were able to go from understanding the metrics to actually taking action on them is something that just really validates everything that we're trying to do here at Linear B.

25:16and I also really appreciate how he's taken a more holistic approach to it. It comes down to how they structure their teams, how they dish out work to each individual, all the way up to how they view the entire process from the initial writing of code and submitting PRs to responding to incidents and making sure that they aren't introducing too many breaking changes. So, yeah, just overall, it's just really great to hear firsthand from somebody who's actually able to be more effective at their job and communicate with their leadership, you know, how their team is performing because of tools like what we're building.

25:57It was, I completely agree, really fascinating to hear from him. it definitely resonated with me and i hear this often with other engineering leaders that our approach is the right one of okay benchmark figure out where your team is get your metrics understand that you use a free metrics tool like like linear bees free or something else to to get those tools compared to industry standard benchmarks like the dora research or our benchmarks report building upon that and then say okay like how can we add in automation, how can we improve workflows and then drive that improvement? And so this idea of a holistic software delivery management approach that says, all right, we're going to understand the problem.

Read the full transcript

26:37And now we're going to apply both tooling and process improvements to actually solve the problem. Clearly is successful at orgs like DevCycle and elsewhere, you know, FlowSports, other folks we've had on. And it makes me excited because it does feel like we are beginning to have a real playbook approach where we can say, okay, like go check out our benchmarks report, free data for the industry to kind of help define where, how successful you are. Look at the Dora report that, you know, we're partnering with Google on and really define how successful your team is and where you can be. Start to understand those metrics and then start to apply some of the free automation tooling, these merge guides that we've started to develop.

27:20and it's wonderful to hear that impact being made because I mean, I know this is what gets me all excited about coming to work every day, right? Is we're helping dev teams solve more problems by solving their internal problems. Yeah, you know, and we built Goodstream to solve problems like, you know, providing more context when you're going into the PR review process. So he explicitly mentioned that, you know, they're applying estimated time to review to all of their PRs now so that when, just like he said, his developers or their developers, they sometimes are in between tickets, maybe they're in between meetings and they got five minutes, maybe they had 10 minutes, 15 minutes, they can immediately know which PRs in the queue are available for them, like which ones can they actually tackle in the time that they have.

28:06But then there's also, he also mentioned unblocking reviews. That's been a big key benefit of GitStream is a lot of companies, They implement these one-size-fits-all review policies where everything requires one or two reviews from somebody. But there's a certain number of PRs within your organization that almost certainly don't need that level of scrutiny. And unblocking that alone can make big improvements on things like your pickup time, your review time. And then beyond that, getting reviews to the people that they need to be, whether you're trying to distribute that burden, much like Nick is trying to accomplish, or if you have an organization that is much more dependent on a smaller number of experts.

28:55Or maybe it even depends sometimes on the project. Sometimes you have certain projects that you really have to depend on some expert teams versus other ones that have more generalist, full-stack developers. So regardless of where an organization is, we built GitStream in a way that is going to solve all of those problems for them. Definitely. And it's exciting to hear organizations like DevCycle that have taken on this extension of CICD and said, okay, we're going to use a tool like GitStream. And we're now going to implement CM into our process to speed up our actual delivery of code and kind of extend what's happening with CICD, automate more workflows, apply that kind of machine learning type automation that you mentioned around estimated time to review and these other things that can be hugely impactful.

29:40because it really drives back to what is showing in our research. And if you listen to our labs episode from earlier in season three, about compound efficiencies, we see this massive efficiency jump, not just when teams benchmark and start understanding their metrics, but there's a second jump that happens when they start applying workflow automation, particularly in that PR process. And so it's super excited to hear people starting to use these free tools like GitStream and validating some of these key use cases around labeling PRs with context, sharing knowledge and building expertise and aligning reviewers, unblocking safe changes, and of course, things like estimated time to review, etc.

30:21And it seems like right now, one of the best ways we can help folks is with the kind of work that's coming out of your team and our internal product orgs. I've really enjoyed reading some of the continuous merge guides that are coming out of there, the documentation. maybe just let's close by saying like what's the best place for people to get started if they do want to start diving deeper yeah so if you're not ready to install something today you know we've got like you mentioned we've got a guide on implementing continuous merge for your organization it's a really great resource to learn about you know how to evaluate where you are today and the source of things that you need to implement to adopt that mindset but if you are ready to install GitStream and start taking advantage of this.

31:07It's a very easy process. It takes about two minutes to get it set up on your repo. And you can start building automations in just a couple of minutes, customize them however you need. So if you head over to gitstream.cm, we have a really great onboarding guide that will help you get up to speed super quickly. And you can have your estimated time to review or your dependent bot PRs unblocked in just a few moments. And we've got a few other integrations set up already as well, correct? Yeah, so we're, it's one of our big focuses right now is on integrating with more and more tools within the developer ecosystem, primarily around like your CI systems.

31:46So, you know, we recently released a Sonar cloud integration. We're integrating with some docs platforms like Swim, but we're also looking for plenty of other places that, you know, we can optimize your CI processes or, you know, any sort of thing that loops into your PR review process. So stay tuned because there's going to be quite a few more ways to extend and customize GitStream in the near future. And if you're an engineering team or leader that is working on docs, workflow, or anything else, and you're interested in integrating with GitStream, reach out. We'd love to hear from you. I think Ben would be really excited to spend some time with you and see if there's an opportunity for us to collaborate.

32:26I know we're really stoked on the impact that we're already seeing with engineering teams. will want to keep doing more. I'm curious also if this conversation with Nick gave you ideas about other things you want to see or build in the future for GitStream. Yeah, you know, future flags definitely seem like there's something that is becoming very common practice in the software world. And it makes me wonder if there are ways that we can sort of enable that a little better. You know, it's still early days, so we don't really have any direct integrations with stuff like that yet. But, you know, it's tools like that that we're looking at and trying to figure out if there are workflows within those spaces that just aren't optimized in the way that they should be and if there's a need for them to be.

33:10Because we really are designing GitStream to be as flexible as possible and as extensible as possible. So we don't want to leave anyone out just because they've chosen a certain tool. Yeah, and we're starting to hit that scale where we now have several thousand daily active users and we're starting to really see these major improvements at some orgs. Is there a key thing that you would want engineering leaders to understand about continuous merge if this is their first time hearing about it. Yeah, so one of the best, one of the features I love the most that we've built recently is in the front end for GitStream.

33:42We now, for some automations, were able to estimate how much time your organization has saved by implementing that automation. And it sometimes can be just a very simple automation, but seeing I've implemented this automation in the last week or month or whatever I've saved X number of hours of development time. Like it really doesn't get much better than that in terms of just being able to see that direct value of what you can get from something like GitStream. Yeah, that control plane with the direct ROI is really awesome to see. Ben, any other closing thoughts from our conversation with Nick that you want to share or ideas that are coming to mind?

34:22Nick had a unique perspective about building teams that I think was really fascinating. And, you know, to me, it's just it's great to see that we're building tools that solve for problems like him, like his team. Well, no, this is the great thing about GitStream, right, is programmable workflows enable you to have the unique workflows that your team wants. Yes, we have examples that any team can implement. We have a growing library of resources where people can just take a rule and apply it. But if your team has a unique construction, like Nix has a very unique construction, it's also flexible enough to apply continuous merge rules and tooling opportunities to your team.

35:02To your point about automation, yeah, like he really wants to automate some of those low risk code pieces. But more importantly, he wants to make sure he's saving dev times with estimated time to repeat these other pieces. So I think it speaks to the flexibility and the opportunity there to do so much more, whether it's helping automate CICD workflows, applying to other automations, more integrations, that kind of thing. Exactly. Great. Well, Ben, thanks for staying on for a few minutes. Really interesting to talk to you about the future of GitStream. We'll definitely have to have you back for another Labs episode sometime soon.

35:31Yeah, thank you. It's been great. And be sure to check out GitStream. Ben, where should people go to learn more about GitStream? GitStream.cm sweet nice and easy you heard him everybody we'll put links to all this in the show notes and thanks for listening we'll see everyone next week if you enjoyed this episode please remember to like and subscribe wherever you listen to your podcasts

From the publisher

On this week’s episode of Dev Interrupted, co-host Conor Bronsdon and Ben Lloyd Pearson, LinearB’s Director of Developer Relations, detail the evolution of Continuous Merge and the tool behind it, gitStream. Joining the conversation is Nik LeBlanc, VP of Engineering at DevCycle.

Nik shares the ways his team is using gitStream to streamline code reviews and offers practical advice for anyone looking to implement the tool on their own team. He also explores the somewhat controversial practice of splitting up and reshuffling engineering teams, a strategy that DevCycle has used to great effect. Nik finds that this practice helps balance teams, manage diverse knowledge bases, and de-risk the organization.

Conor and Ben wrap up the conversation by casting an eye on the future, focusing on the potential and direction of gitStream.

Show Notes:

About DevCycle

OFFERS

  • Start Free Trial: Get started with LinearB's AI productivity platform for free.
  • Book a Demo: Learn how you can ship faster, improve DevEx, and lead with confidence in the AI era.

LEARN ABOUT LINEARB

  • AI Code Reviews: Automate reviews to catch bugs, security risks, and performance issues before they hit production.
  • AI & Productivity Insights: Go beyond DORA with AI-powered recommendations and dashboards to measure and improve performance.
  • AI-Powered Workflow Automations: Use AI-generated PR descriptions, smart routing, and other automations to reduce developer toil.
  • MCP Server: Interact with your engineering data using natural language to build custom reports and get answers on the fly.

More from Dev Interrupted

All 208 episodes
Labs: The Evolution of Continuous MergeDev Interrupted · 36 min
Listen in VO