Aaron Rothschild & Paul Rothrock – Build incredible software products with a Remote DevOps culture
As many organisations scramble to adopt remote work, DevOps teams are turning to messaging and integrated workflows to collaborate effectively.
Usual office work practices are changing, and people are having to adapt to a remote-first approach. This demands a change to your company culture, a remote mindset and the tools to deliver it.
How can remote teams use collaboration platforms effectively to adapt the company culture whilst continuing to create their best work. Is your company ready?
We’ll share our experiences as a remote-first company and how our team moves quickly, stays in sync and delivering great software. We’ll show you how 1000’s of other Gitlab Omnibus users leverage Mattermost and popular DevOps tools to improve the workflow of their remote teams.
Transcript
I'm thrilled to welcome Paul and Erin from Mattermost. Paul is a Customer Community Manager and Erin is a Senior Product Manager. Their session is entitled to build incredible software products with a remote dev ops culture.
How can remote teams use collaboration platforms effectively to adapt to company culture while continuing to create their best work? You're about to find out. Paul and Erin, thanks for sharing your genius with us.
Take it away. Hi, I'm Paul Rothrock and I'm a Customer Engineer and Mattermost, I've been working remotely since I figured out how to tell that to the computer lab in college rather than walking across campus. So I've got a lot of experience about what it's like to work remotely.
And we're going to share that with you today. And I'm Aaron Rothschild I'm a Product Manager and I focus on integrations here at Mattermost. I've been working for about eight years and remote roles at various different technology companies, typically in the product range.
And so today we wanted to kind of talk about it. So obviously there's there's been a big change in the world in lots of different organizations are really scrambling to adopt and work lots that were previously on site. Companies are turning to different types of tools because they're being forced to.
And it really is kind of created a bit of a situation where, you know, that's difficult for some people. Working remote is not something that comes innately to everyone. And there's different ways to make it easier for people to adapt to your remote culture and to encourage them to be more productive when they are working on that as well.
So we're here to talk a bit about that. So the real question is like, how can remote teams use collaboration platforms to adapt the company culture so that you can continue to create your best work and just feel that you're not constrained by when you're not in the office, that you can't do your best work. So we're going to just quickly show you today, we're going to talk about some of the approaches that we have at Mattermost that we use internally.
We're going to talk about some of the tools that we use as well to help support those processes and also just talk about our personal experiences, about how we kind of keep everybody in sync and and. On the same page, so we're going to start with assurance and remote working experiences that we have had and that the Mattermost organization as a collective, we've kind of brought some we find that when we're onboarding and deploying new customers, there are some approaches and best practices that help make collaborating on the easier. And then we'll get just we'll talk a little bit about developing products and services remotely.
We'll talk about managing some incidents in code through GitLab and Mattermost. And then we'll just finish up with a DevOps release process. So with that, let's just go to some remote working experience before we start, I think an important part here is that this is a remote first organization and I often get asked, what does that mean?
And the most important part of being a remote first organization is really about courtesy and just being able to think about other people and having some empathy, you know, making sure you're following etiquette for discussions, calls, video calls, giving a receiving back openly and appropriately and figuring out how to work better together. And courtesy really means that we accommodate others who prefer to work in an office or remotely so. We're remote first organization, not a remote only organization.
We do actually have offices for some of our employees as well. Um, for myself, what I found my favorite experience when I first came to matter most, because I've previously been in an organization where I was the real guy, but lots of people were in a head office. And for me, the biggest change was actually a fast meeting started because there was no fighting over meeting rooms.
And there's no like I was reading the people and I was like, oh, we need that phone's broken in this meeting room or anything like that. I'm curious about what was your kind of a different experience of their experience? I mean, I think I worked at a part of working at Mattermost I was 80 percent remote at the company.
And I think it's really similar to yours in that we just sort of jump into meetings and get started. There's not that sort of buffer at the beginning where, you know, you just get the mic working or the back bench creatures aren't working. Like none of that happens here.
Everybody's already got a good like everybody's got a Web cam, everybody's got a good background. So it's it's been it's been really great moving to a fully remote company as someone who wanted to be remote since you started working for myself as a as a product manager, which is unusual, frankly, in the past. Yes.
Typically product managers, someone since being on site, kind of like in the company, is a very cross-functional, but with matter of us being the first the kind of groups sat around and for myself in the same place as my customers and not in their office. And really my job is to empathize with customers, understand that they need to understand what's important to them. And to me, the product product management is actually a really key part of the democratic process.
And getting customer feedback and input and making sure that we're bringing that into the product and solving those problems is really part of the cycle that we, I think we're all familiar with. One of the things I think about, you know, Mattermost is like what this means. And what I mean by that is, you know, sometimes we just think about it's a process we get to release and then it's all done.
But when you look at it holistically, you really feel like the entire organization is part of the divorce process. We have marketing that's involved, which way finance is even more involved in our various different product launches. So to us, it's really all encompassing in a tool like Mattermost, which basically is a collaboration platform that lets people chat.
It enables everyone to to get on the same page and really have a similar cadence in the divorce process as as things merged, words will be what we're going to switch to next is basically Paul is going to cover some different approaches as to how we can help to communicate smoothly at Mattermost and how we have to just get people's mental model of socializing and where to go for certain information. Paul. Yeah, so one challenge in not having an office is that there's not a place where all the mobile developers sit here, all the product managers sit here.
So one thing we've done to work around that is to have very clear channel names and also general naming conventions. So we have a couple channels on our community server called Ask R&D or Ask Anything, and they are very clearly labeled where you can go in and ask questions. And so we can you know, the whole company can then keep an eye on those channels because we get questions from customers, from community members, from our own support team.
And it's a great way to make sure that those questions get answered. The other thing we do is naming conventions. So if we have a channel, that's where the developers talk about X, we prefix it with developers colon.
So we have developers mobile, developers enterprise, developers desktop. And so this helps to give people an easy way to figure out, OK, I have a question about the mobile app. Who can I go where?
We're going to go to learn more about what the current status of these things. And so having is naming conventions, you know, helps to create some sort of categories inside of us where we know, you know. This is where we're allowed to post this here, because there's always that trepidation when you go into a community like is this the right place to ask?
And that helps to reduce that. Another thing we do is we celebrate our successes or in an office that's pretty easy. You know, you go you have it all hands and everybody says, yay, and they applaud.
And that's that's how you can do it when you're in person. But when you're remote, it you have to change your strategy. So we have an announcement channel that's read-only and it uses an automation that comes directly from Salesforce throughout that year to show close deals.
So it shows the dollar sized customer name the background, and this gets us excited about our interest and customers. We've got customers in the space industry, in the video game industry, and it's really great to see everybody excited about these, you know, these names that we're we're getting in as customers. It also is a way.
So we had an incident where someone was fishing for our CEO's password and would send emails to everybody pretending to be the CEO and we were able to do it. Another channel notified people that this was happening. Notify them, tell them what to do when they saw it.
And that gave us a way to be more secure and get this information out without having to rely on email. And even though it's read-only, we also allow emoji reactions. And that's a great way.
It sort of simulates that round of applause in a in a permanent way. So you can see who you know, who react to what the reactions were. And sometimes we hope it's a space customer.
We'll get a rocket ship reaction or if it's video game customer, we'll get a game controller. And that's a great way to sort of celebrate successes and spread it around the company. And then another way that we use this is customer service, so we want to prevent siloing of information.
We want to make sure it's it's the it's sort of the the concept of an open office. We don't want to have a lot of closed doors. So we take our support e-mails which are coming in through Zendesk, and we keep them to a Mattermost channel.
And what this means is that anybody in the company can search on a ticket number and find not just the discussion around it, but the actual original ticket. And so people in roles outside of support can see the tickets, get the purpose of the tickets. And not only does this increase visibility, it saves us on some desk seats because we don't have to provide an account for every Mattermost employee.
So I'll hand it off to Aaron and he's going to talk about collecting and distilling customer information to make better software into that. One of the things I think I'm just going to be talking a little bit about trying to process ridgeways, and it's really know, I think, of it as being mindful of how other people are part of your process and how that affects them in an agile it's people over process. And to me, with the process rituals, it really is about the people themselves.
So some examples of that now are just being conscious that when you tag other people's names, that they get mentioned about it. So it doesn't fall through the cracks. When you want something done or looked at by someone, make sure you mention their name in a message.
Don't just assume that they'll see it as part of the thread. I'm using established hashtags, common hashtag. I'll show you some in a minute here, just as examples.
But that makes it much easier to find information across all the different channels. And also doing things like this is a really great example where celebrating after a launch or this so that we're associating good feelings with releases rather than sometimes people. I've been in organizations where it's like and release is coming up and it's really nervous bad because there's often something going wrong.
So by making a process ritual with associates, good feelings, with a release process change, it can change how the team perceives things. And I think that's something that's important. It's a really good example when you're working remote that sometimes the little things that can make a big difference they want to start off with is just as the example.
So we often use a channel similar to this within bottommost, you know, our customer success support people. Really, anybody can provide different feedback here. What's nice what was just mentioned before is like when you have customer feedback, we use hashtags.
For example, I can find all the ones that have a customer according to it. For example, I could soon link is often what we see with it. So when I do that, what ends up happening now is I've got the three messages that actually have the common hashtag to it.
So it makes it easy for me to find information and contextualize it as well. So that's why it's important to process which will to hashtag things appropriately. But what I want to show off here is like, you know, a key part of any operation really triggering off with messages.
So just to start off here, as a product person, we actually it's always a challenge and ingesting lots of customer feedback from various different sources. So what I've done is basically we've made a quick way to capture info into our product board. And our board is basically a platform which keeps track of all of this, all our run notes, and then lets us attribute certain customers to certain different features that we want.
And so what that's done here is now anybody in this in this message, General, basically can see that there's been a message submitted and that they can see the product board for examples of it with an easy access to that if I logged in. So. That's one way that's just from distilling customer information, from having a tool like Mattermost that basically lets you quickly tap into the message and triggered something really let's develop systems often turn things around quickly.
Another part of process rituals as a PM and something I'm often thinking about. And for example, here, let's pop into one of my projects that are managing right now. And basically what I can do is I can be like, oh, you know what?
There's lots of things going on. I just have to call the customer and I want to queue up the fact that we need to think about and scalability. And what that means is basically now the agenda plugin that I just use there puts up an item using a hash tag that's for our next weekly meeting.
And basically now people can comment on this beforehand. But when we get to our weekly meeting, all I do is I click on this. And then if other people have submitted agenda items, those come up.
It's easy for us to collaborate and talk about meeting agenda items really quickly and decisively. And I have a record of them being here as well. We also have other tools like Stand Up Raven, that helps teams that are distributed so that you can have agile stand up type of thing where everybody puts in their stand up updates and then when everybody's contributing them in the channel, it actually posts like a summary across everybody's stand up updates for the day.
So there's also things like to do plug ins that let you have some project management. But in that regard, process can really be helped by having tools that are built into your collaboration, tool and platform. With that, let's I want to switch over big, because another key piece I think is collaborating with other folks.
And let me switch back to the slide here. So our next slide is actually about productive recognition of people. So this is another process ritual that I think is really important for remote organizations.
And a really good example, I think that we've got here is our monthly MVP for open source community members. So we as an organization, all of our developers will go and find out the best contributions one month and build up one of those contributors. We also have actually here I got some pictures from different folks, the tweets, every person who submits to the of project, the open source project.
Basically you got a mole and it has your name on it. So it's just a way of encouraging people and thanking them for contributing to our open source project. We also have a recognition for awesome staff and people to go above and beyond where they probably should be going.
It gives a central way for people to see, like who's really sticking their heads above and beyond their way else. And finally, like, I was surprised when you're involved with Barberi about this presentation. You had this really cool thing that he does and then you get a bit of a bubble.
Yeah. So like I said, we Zendesk for our support ticketing system, and that includes something like loose customer feedback. So the customer will get an email once the tickets resolved.
How was your help and how would you rate it? And so what I did is I wrote a web of integration from Zendesk that will post an animated gif in a specific channel that includes not only ticket number, but also an app applied to the person who got the recognition and the text of what the customer feedback was. So it's really great seeing you really like a celebratory gift and then seeing a customer say you guys were really fast, really great, knowledgeable.
And then it also gives recognition to that specific agent who went above and beyond. Going to get back to work for me here. We're going to talk about this.
I can run through a quick scenario here where we're going to see how distributed that organization with different channels can kind of coordinate across teams. And the scenario we've got here is basically customers reporting an issue, but we often do at Mattermost if we actually have specific channels that we built up for our customers. So I'm going to do right now is actually switching back and forth.
So with that, for every one of our customers, the customer has their own specific name and they log into Mattermost and they can message us. And our support team is basically notified when something comes in. But our support team has the capability within matter, most of directly creating a intuitive.
This is this let's a lesson take the context of this conversation, which may continue and go back and forth and have a lot of detail about it within. Let's take an issue out of that as an example. So we use a service desk, for example, with injera to keep track of different issues which are very common across the industry.
And so there's a key one issue, you know, slow down and we can set the priority. I notice that I haven't left Mattermost at all. This is all happening directly within Mattermost.
So we could create this all dynamic based on what I have access to within JIRA. So from a security perspective, we can see here as well that is created in this year in year out. There you go.
The other one issue is if it's slow down so you can see that. But most importantly, I think where it ends up happening as well is that the other support folks are notified about it. And then within what's now possible is that, you know, we can can get a developer on Project A that basically starts thinking about this problem is but that's a key one issue.
And I'm just going to ask you real quick, in the sense as an example here, so I investigate this as let's pretend I'm a developer here. I can basically go in and create a business for demo purposes. Here you can see I'm going to sign to myself and I'm going to look into this.
But basically what I'm going to need to do is probably so as a result of this, I'm probably going to need to actually do that, merge and choose something from the coding hearings. And now what we can do really quickly, just let's make a quick update here. Do we look at it, let's do something innocuous like even and change, and that was the configuration here is missing a dash in a name.
So now that we've got that so I can sit right there, then you need to change the branch. Look at that. So we'll just treat that as now is actually merged basically because of commitment, master.
Now what we do is we haven't switched over to the pipeline. And so we can do is we still got some other fights that are happening, Jenkins and or project. And it's really easy for me basically to trigger all we built.
So I have to make the master is pulling from from that particular repro that's happening right now. And then what happens is we can see that it's been started and it's probably going to finish off in just a second. But I'm going to go next to a loose change in this channel.
You can see here the project was just completed. I think this is actually going to be for some probably another nation. But what I wanted to point out is that in our channel right here, we have these checklists that I go back a bit.
This is the central place where our entire team keeps track of, like, what do I need to keep what I need to check off the list before eight days before I release candidate testing to do so. This really keeps all of us on the same page. You can see which items are completed already.
And the reason that we release these binaries into this release room, is there a way to becomes aware of it? You can actually pick this up and then do some testing before we pass it off back to the customer, for example. So I really just want to point out that, you know, we did a lot of stuff directly from here in Mattermost without necessarily even making sure things which switching contacts all the time.
This really goes to show the power of that. And using some of those process rituals makes this sort of workflow really easy and make sure that everyone's involved with the right times as part of the process. So I'm going to stop there, actually, that is about.
I'm going to switch back here. And just really put the ball back up the thing. I think that one of the things that's you know, I've been speaking of process rituals, but at the end here, you know, Paul, as part of that release wound, you know, I think that one of the ways we can make that fine is by having these parties is something that some companies I've seen you before call with something you've seen done before as well as.
Yeah, release parties, the ones the best one that I've seen is just a LAN party, and the best part about that is that you can you can have that with remote people. So I was working my previous position that they had a little land party in the office and I was able to log in and actually participate. So that's that's a good idea for a release party, I think, in a remote team.
Awesome. I think, you know, remote, being remote and being part of a DevOps team today is a real opportunity. It's an opportunity to make processes more efficient.
It's an opportunity to get people out of the way and work on things that are better use of their time and are doing the right here. And the devil's released process that matters most is basically a control and control thing. It's on top of this that really gives visibility.
All the different members of our organization, as we go through this DevOps release process on an ongoing basis, all of our organization is touched by that process. And Mattermost really helps bring us all together and work at a similar cadence and make sure that we're hitting the things that we need to do to ship things on time. And that's something that's been really impressive to me.
After joining Mattermost and just understanding how much of a company culture as part of our organization and how important that really is driving the effectiveness of the team. Paul, any final thoughts and you're in. Yeah, I think, you know, as a remote first company, it really helps to put everybody sort of on the same page.
We're all working from home. We all have, you know, kids screaming in the background and we all have Internet issues sometimes. So I think, you know, it being first is a great.
Fit for fit for me, and I think it's helps to keep everybody on the same page and like you said, we use Mattermost as sort of the single control plane. We. It helps us to know exactly who to go for with the question, it helps us to let everyone know with a minimum amount of friction about everything that's going on.
And so getting context around issues that are reported by customers can be very hard if you're relying on getting in a room with people to talk about it. But if you were, you know, just constantly communicating and it's all written down, not only are you being courteous to everyone else, you're being courteous to your future self, because tomorrow there will be another problem and you won't remember what what the context was around that. So having everything written down, I think is one of the best things about working remotely is I have a record.
I know exactly what I said when I said it and what I committed to instead of it being on the phone or in a meeting room. And it just is as ephemeral as all speeches. So that's that's only one advantage to being a person using Mattermost, just our main communication platform.
And with that, I'd like to thank everyone for your time today. And we look forward to hearing from you. Me and Paul are accessible in Mattermost and our community site or through Twitter are appropriate and shared.
And that's it, guys.