---
title: "Inside Lullabot's Support & Maintenance Department"
url: "/podcasts/lullabot-podcast/inside-lullabots-support-maintenance-department"
type: episode
date: 2021-04-01
updated: 2021-04-02
---

# Inside Lullabot's Support & Maintenance Department

#  Inside Lullabot's Support &amp; Maintenance Department 

  

*Podcast episode player*

Mike and Matt discuss various aspects of Lullabot's Support &amp; Maintenance Department, and how it differs from Client Services, with Director, David Burns, and Project Manager, Cathy Theys.

##  Episode Guests 

###  David Burns 

 ![David Burns - Lullabot VP of Extended Support](/sites/default/files/styles/square_120x120/public/2026-06/david-burns-lullabot-vp-extended-support.png?itok=7afczK13) 

 David's career in Drupal spans over 18 years. His passion for business and technology led him to build Lullabot's Support &amp; Maintenance department where he serves as the VP of Extended Support.

 [  More about David   ](/about/david-burns) 

###  Cathy Theys 

 ![Cathy Theys with orange hair wearing a black blouse with white flowers in front of a gray background.](/sites/default/files/styles/square_120x120/public/2023-06/cathy-theys.jpg?itok=7_HdKfZt) 

 Cathy is the Support Team Manager at Lullabot, a natural problem-solver, and a Drupal contributor.

 [  More about Cathy   ](/about/cathy-theys) 

##  Mentioned in this Episode 

- [  Lullabot Support &amp; Maintenance home   ](/topics/support-maintenance)
- [  Violinist.io   ](https://violinist.io/)
- [  Tugboat automated deployment previews   ](https://www.tugboat.qa/)
- [  Introducing Support &amp; Maintenance at Lullabot   ](/articles/introducing-support-maintenance-lullabot)

 <a class="transcript__anchor" id="transcript"> Transcript </a>##  Transcript 

 Matt KleveFor April 1, 2021, it's the Lullabot podcast. Hey everybody, it's the Lullabot podcast, episode 252. I'm Matt Kleve, a senior developer at Lullabot. With me as always, cohost of the show, senior front end dev, Mike Herchel. Hey Mike.Mike HerchelHey Matt, how are you doing?Matt KleveI'm pretty good. We're going to do this thing again, it's been a while.Mike HerchelIt's been too long.Matt KleveLet's get the band back together.Mike HerchelGood idea.Matt KleveGoogle tells me there are millions of Drupal websites on the Internet, and we at Lullabot know about a few of them.Mike HerchelWe do.Matt KleveYep. And Google also tells me that Drupal 9 was released on June 3, 2020.Mike HerchelSounds about right.Matt KleveI'm going to guess that all of those millions of websites are running Drupal 9 and the latest greatest hotness of Drupal leading edge code.Mike HerchelI would maybe step back from that one, Matt.Matt KleveWe're in a state where there are Drupal 7 sites that exist, there are Drupal 8 sites that exist, there are Drupal 9 sites that exist, and they're all different in their own special way, and they're all actually technically supported and up to date at this time, right?Mike HerchelYeah. So how do we handle this with so many different versions?Matt KleveWe have some friends in Lullabot that do that for us now. We've got people for that, right?Mike HerchelYes.Matt KleveWe do. On the podcast today, we have our Lullabot's director of support and maintenance, coming to us from Philadelphia, David Burns. Hey Dave.David BurnsHey Matt. Hey Mike.Mike HerchelHey, how are you doing?David BurnsI'm doing well. Very glad to be on the podcast with y'all today.Mike HerchelThanks for being on. Also with us is our support and maintenance project manager, Cathy Theys, coming from somewhere Virginia, Washington D.C.-ish, right?Cathy TheysYeah, I like to keep it vague.Mike HerchelYeah, you're a little bit of everywhere. How are you doing today?Cathy TheysI am doing super. I'm really happy to be talking about maintaining Drupal sites.Mike HerchelIt's an important topic.Matt KleveIt is an important topic. A lot of times everybody talks about people implementing the latest, greatest, the new APIs, the best way of building new things with all of the coolest new tools, but at some point all of that new stuff gets put into use and not everybody is undergoing a huge website build all the time, and that's why the Lullabot support and maintenance team exists, right? How long have you been doing that?David BurnsSo officially, Lullabot support and maintenance, I looked at the existing SOWs, began January 1, 2019, so really only two years ago.Matt KleveAnd what kinds of things do you do?David BurnsWell, before we get into that, I'll just give a little more background than just the start date. So the reason that we got into support and maintenance is because we had a few people that were working on projects and Lullabot tries to have one developer on a project for full-time, like that's the only thing you work on and it can be for three months, six months, however long it takes to build that project.Matt KleveFor example, Mike is a front end developer and Mike you're on one project, right? You're full-time committed to the build out of this one project.Mike HerchelAbsolutely.Matt KleveI'm on a project, I'm full-time committed to this build out of this one project. But that's harder when you were trying to do support, right? That's what you're trying to say?David BurnsYeah, it's much harder and that's kind of why the department came into existence. So we started getting inquiries that like hey, let's have you work on this site that you've already built, stick around, hang out with us and fix bugs and implement new features. And we started taking on some of that work, but it wasn't officially under a specific department. And I was brought in to assist the people that were doing that type of work at the time and it was working well. So Seth and Matt and people from the leadership team reached out, it was like hey, there's a need for this in Drupal and there's other Drupal shops doing this, so let's commit to doing it. And that officially gave the Lullabot support and maintenance brand.Matt KleveSo can you talk a little bit about the mindset that might be a little bit different to somebody's who's doing maintenance on a Drupal site?Cathy TheysI think one of the things that we think about is the scope of the request from the customers. And so we're like is this a maintenance type task, is this a security update, is this a regular kind of update, is this a bug fix, is this a feature request, how big is the feature request, what exactly are they asking for? And so I think the overall mindset is always wanting to do the little maintenance tasks to keep things running smoothly and nicely, but keeping your eye out for requests that are more than they seem to be.Mike HerchelAnd that never happens with web development, does it?Cathy TheysNever.Matt KleveA lot of times people talk about the metaphor of building a Drupal site with Lego, right? You have a bunch of Lego blocks and you're building this huge house or something. And I think a lot of times when you're maintaining a site or working with an active site, long term, swapping out that one blue block might be a little bit difficult too, because of all the other things that it's resting on it would seem, right?Cathy TheysYeah, you need to be careful. We have a lot of tools that we use to catch unintended changes. And helping our customers utilize those tools and bring those into the project is something that we do that might be like a big project, but its goal is to increase automation to make maintenance easier. So we do some automation to help catch unintended consequences.Mike HerchelLet's jump into ... This is one of the questions that I had for you right here is you have updates, you have dependencies, you have imports. What types of things can you automate, when does it go wrong? What type of things are still manual?David BurnsSo one of the things that is challenging about support is the context switching, the amount of context switching we do, right?Matt KleveWhich is kind of why developers who are on full-time projects, like Mike and I, don't end up changing projects. That's something that Lullabot has carved out in saying, "Context switching is hard, it's best if our people can stick to one thing," but that's not what you get to do, is it?David BurnsNot exactly.Cathy TheysNo, we get to specialize in context switching. That's like-Matt KleveWell, that's fair. That's fair and that's an important skill.David BurnsI like that. So one of the things that we do to help reduce or streamline context switching is we standardize on stuff, right? So there's DDev that allows you to have a config file and you run a command and it spins up in local site.Matt KleveIt sits in front of Docker, right, DDev?David BurnsYeah, DDev's built on top of Docker. So that's one system, but we started using Lando way early on, like one of the first-Matt KleveWhich is the same idea, right? I've used both in consecutive projects and I couldn't tell you the difference other than I used a different command to do stuff.David BurnsUnder the covers, under the code that's running, it's all Docker based. It's all the different layers that get added on top of it and the command you can use and the pre hooks that exist that let you do more advanced things. So as a department, we decided we're going to use Lando, and what we've done, we started out with Lullabot.com, which is our own site where we get to explore and test and figure out scripts-Matt KleveWhich Lullabot hires you as a maintainer for Lullabot.com, don't we?Cathy TheysWell-David BurnsI'm not sure if hire's the right word. It's like you do maintenance and we're sending you a paycheck, so take care of this thing that our whole company cares about.Matt KleveWell, we do, yeah.David BurnsAnd I'm totally on board with that.Matt KleveOkay. Okay, that's good. Sorry, Dave.Cathy TheysYeah, but it's a great guinea pig though and we're really empowered to try out things and it's a very safe environment for us, because we know that if we impact the customer, we're impacting us and we'll fix it right away. So it works out really well to let us test run things that we might want to maybe future standardize in support, we can try it out on Lullabot.com first.Matt KleveSo you were talking about putting everything into Lando. So if you were starting with a new client, do you end up then putting all of their stuff into a container, into Lando and going from there?David BurnsYeah-Matt KleveIs that step one for you because you need to specialize your process?David BurnsSo some of the projects come to us already having these type of tools implemented. Some of them may be using VirtualBox, the VM system, and we'll take a look at that and be like, is there enough reason to stick with doing that and what is the time it takes to just swap in all the fancy good stuff that we know works well with Lando? And I would say 9 times out 10, we wind up integrating Lando.David BurnsWe do some really neat stuff that when you do the start, it'll go ahead and fetch the latest database and not import it, but give you a command in the output and says, "Just paste this and you'll get a fresh copy of the site running locally." We do fun stuff for some clients where we actually compile themes when we run Lando start. We were noticing that some of the clients were coming to us and be like, "Hey, this page looks different than the live site, why is that?" And we would get up and say, "Hey, remember to build the theme."David BurnsWhen you start repeating things over and over again, you're just like let's script this, let's have somebody fresh to the project be able to come in, run one command, and basically have the whole site running, and that's what Lando's been able to provide for us.Cathy TheysYeah, it's a really good investment that we will look at, because sometimes like Dave said, we'll keep what automation the customer already has. But if it's compelling or if they don't have one and we set up Lando, that investment really pays off later, because we have people switching projects. Even if they stay on that project, they're still going to be switching in and out of it, because they're switching between three projects.David BurnsYeah, it's not uncommon for me to have a day where I'm running Lando Start on four different sites.Matt KleveI'm going to guess you need a decent sized hard drive for all that.David BurnsYes. We have some massive projects, Georgia.gov, GovHub is one of them.Matt KleveWhich was a Lullabot project that we then passed off into the support world, right?David BurnsYeah, and that's how we get a fair amount of the work within support, I think over 70% is passed over from client services. But we were noticing that when we were onboarding new people to the GovHub platform, we'd have to bump the default Docker setting from 80 gigabytes of space up to 120 gig, just because how massive the platform is, how many databases it's pulling in.Matt KleveAnd that's not a Docker issue, that's just the website is huge, right? It's a big multi-site website and yeah, there's just a lot going on there.David BurnsExactly.Mike HerchelSo outside of local environments, is there any other automation and, or standardization that you can do across the different projects?David BurnsThat's actually been a big push as of the last quarter of last year and a major focus of this year. We have a lot of clients that are on Pantheon, but we also work with some that are on Acquia, some that are self-hosted. And the thing that allows us to context switch quicker, reduce the amount of errors is to after you're committing code locally and pushing up to be able to build environments and see the work that a developer's doing, and a Lullabot built tool called Tugboat QA is perfect for that. That integrates with GitHub, GitLab, Bitbucket, even privately hosted repos.Matt KleveTugboat.qa is the website, and we'd done a previous podcast with the Tugboat folks, Mike.Mike HerchelYeah.David BurnsAnd what's great about Tugboat, it has integrated the Lighthouse integration for Google that gives you SEO scores, performance scores, accessibility scores, at a very general level, you still want experts to go in and do the fine detail stuff. But we're able to look at that, we're able to look at the visual diffs that come with Tugboat. We provide one of each content type, the major landing pages. We even have a workaround that allows it to screenshot and do visual diffs on node add, node edit, and editing pages, stuff like that.Mike HerchelThat's pretty cool. Can you just explain for our listeners what a visual diff is really quick?David BurnsSure. So we have this concept of base previews, basically what does your live site look like right now. And then you make some code changes, you commit it to Git, Tugboat spins up an environment. And then Tugboat goes hey, let me take a screenshot of this new PR that you've been working on and I'm going to overlay it with a screenshot of that base preview and it's going to do a pixel by pixel check looking for any variations.David BurnsAnd Tugboat's able to say this page is like 98% perfect, and sometimes these slight variations are a different image showed up or something shifted. Anything above 90, I wouldn't be too, too concerned about. But once we start seeing numbers in the 80s and 70s, we're like hold on, we definitely don't want to merge this in, in its current state, let's take a closer look at that specific page and figure out what's going on.Cathy TheysYeah, it's really useful.Matt KleveAs you know Mike, and I'm sure Dave and Cathy, CSS cascades and a small change here might affect elsewhere, right?Mike HerchelCSS-Matt KleveAnd so a visual diff would super be handy to do that, and that's what I was thinking about. I know that a lot of times when I come on to a new project, even if it's not a support one or they have an existing website, I get a ticket to change something and then I start working on it and I'm like I hope I'm not breaking the rest of the website with this change, but I think I'm doing the right thing. There's always that hesitation I guess, and so having these tools set up I'm sure help out a bunch, and not just you on the support and maintenance team, but the client as well who can leverage that too, right?David BurnsYeah. We could send a Tugboat link for that PR environment, they could click around as if it was the live environment, they could add content, remove content, anything they want to do and give the thumbs up, hey, this is ready to go. And then what's really neat is once they click the hey, this is ready go, usually a lot of tickets would stack up in the course of a sprint or a couple weeks and they'd tag a release and deploy it.David BurnsWe're starting to look at the GitHub Actions tool that basically says once you merge this into whatever you're main branch is, we're going to see GitHub or whatever send off a web hook and be like this is okay and approved and we're just going to push that out to the dev environment. So we always have an environment that's the latest and greatest code.Cathy TheysYeah, and usually that dev environment is usually then on the customers hosting infrastructure, not on Tugboat. So that goes through Tugboat and then moves into something that's closer to what will actually be deployed with the live site.Matt KleveDoes hosting matter? Are you hosting agnostic, or do you want to support these two things?David BurnsWe have preferences, which reduce context switching and it's good when we have a lot of clients using the same hosting, but right now we are okay and we accept any enterprise level hosting or anybody that's doing custom hosting.Matt KleveSure.Mike HerchelSo if I'm using, FTP you won't support me?David BurnsNope. We need version control, that's where we're at these days.Matt KleveFTP on a GoDaddy, right?David BurnsMm-hmm (affirmative).Matt KleveGoDaddy-David BurnsAnd I just want to be real clear, our primary purpose within support and maintenance is not to be system architects. We take care of the Drupal side, the application side. We will happily reach out to the support team of those hosting providers if there's performance issues that are not caused by the application and coordinate a fix with them if the support client doesn't feel comfortable doing those things.Cathy TheysYeah. So we work with all these different hosting companies, a lot of the common Drupal ones and custom things that customers have, but that gives a wide experience set. One of our customers can say, "Hey, I'm seeing this weird issue," we go through the catalog of all the other customers that we've had and the ones on all these things and we can quite often be familiar with that host and maybe that specific issue, because we've worked with the host on a different customer earlier. And so we can really help out smooth some of that over and make those resolutions come quicker for our customers.Mike HerchelMakes sense. So Dave, you mentioned automating things with GitHub Actions and tools like that. On the Lullabot.com repo, I see all these notifications come in for Dependabot, to the point where I actually set up a little filter, so I don't have to look at those. Can you talk about maybe your dependency automation and maybe other things that you might be doing?David BurnsYeah. So a lot of our support clients have limited hours that are available to us within a month, and early on we noticed that somebody that's with 30 hours a month, a majority of our time would be spent writing a Composer update for a specific module, going in, testing that change and things like that. And then I heard about Violinist IO through Twitter and I was like this is the greatest thing ever, one pull request per module update and you get to layer on-Matt KleveI don't know anything about it, Dave, can you explain that to me, Violinist?David BurnsI'm sorry, what's that?Matt KleveViolinist.io, I don't know anything about that.David BurnsYeah. So all it really does is look at your composer JSON file and it runs a Composer update dry run, looks for anything that is out of date or there's an update available. It also has some options around do you only want to create a pull request for modules that have security updates as opposed to minor point releases. And when it sees one of those, it'll go ahead and create a pull request for that. And included in that pull request is some of the change logs if the module maintainer has been good about that, and it'll print it right in a comment or the description of the pull request and be like, here's all the commits.David BurnsAnd with all things that we have layered on top in Tugboat, we automatically get the visual diffs, the Lighthouse scores and everything, and then we're also experimenting with automated tests. So if everything passes after Dependabot or Violinist IO creates that pull request, we're feeling pretty confident this is safe to merge in. We'll go in and look at the config sync page to make sure there's no overwritten config. We'll click around on the places we know that that module interacts with the site to just give us a lot more confidence.David BurnsBut in setting up tools like Violinist and Dependabot, we found that what used to take maybe 30 hours a month for our team to work on, we're really only spending five. That frees up 25 hours to get to know the client, their project, the things that they're struggling with their editorial system, or let's start talking about bugs or small feature enhancements. So we're providing a lot more service by layering in these automated tools.Matt KleveThose sound like really great tools for you, but they sound like really good tools for anybody who runs a Drupal site.David BurnsDefinitely recommend going and checking them out, see if they're a fit for your organization or your own personal sites.Mike HerchelWe're adding the link for Violinist.io to the show notes.Matt KleveWe're talking to David Burns and Cathy Theys of the Lullabot support and maintenance team. After this, we'll talk a little bit more about things that they find when they dig into Drupal, coming up right after this.Mike HerchelWelcome back. We're talking to the crew from Lullabot support and maintenance department. So as all Drupal developers know, there's a million ways to do anything in Drupal. Is there anything that really, really stands out where you looked at something and you're just like oh no, or you're like, I should charge these guys double, or something like that?Cathy TheysWhat have they done?Mike HerchelI know.Cathy TheysWhy?Mike HerchelAny SQL queries in the template files or anything like that, that you've seen, that you can think of? You don't have to name names.Matt KleveCan you still do that in Drupal 8?Mike HerchelNot in Drupal 8, but you can in Drupal 7.Matt KleveI'm doing all kinds of awesome Java script right now on a Twig file.Mike HerchelYou shouldn't admit to that.Matt KleveI only say that to make the front-ender's blood pressure go up. But Dave and Cathy, I can see by your 1000 yard stares that everybody's website is a little bit different.Cathy TheysYeah, I'm trying to think. Usually, things are a little different customer to customer, but it's more interesting than shocking, and so it might be ... I think we approach it as an opportunity to figure out how does it work and why did they pick it this way, because we need to know that in order for us to have confidence that when we change it, we're changing it in the way we intend.Cathy TheysAnd so, quite often we'll see things that we don't understand and we'll just be like what is this? But then we talk to our coworkers and we talk to people in support and we talk to people in client services, and sometimes I talk to Drupal people in Drupal.org Slack about things and I'm just like, hey, I'm working on this thing and I don't know anything about it, can you help me please figure it out?Matt KleveThe hive mind is pretty great working within Lullabot, and of course being a part of the Drupal community, there's always that place you could reach out and that's cool.Mike HerchelYeah, totally.David BurnsI would think that one of the things I say is we live in a world of riches when it comes to support and maintenance. We are given these projects that client services team has worked on, built from the ground up, and we see things like in a Lando file or the way they're compiling things and we're just like, this is totally useful, we're going to mark this down and try to reuse it as much as possible, again, working towards standardization to reduce context switching.David BurnsSo that's been really, really helpful and we'll even wind up in situations in support where they need somebody that had built the original site to do a specific larger task that's outside of the scope of support and maintenance. So working directly with Lullabot, we're able to say, "Hey, come in on this same support SOW and address this feature." It doesn't happen as often as I'd like, but when it does happen, it's so great to be able to see the cross sharing of people, between both teams.Mike HerchelI remember I came in and I did a small, what was it? Like a one week project where the goal was just to make this navigation menu for an EDU accessible. It was one of those situations where the drop downs were not keyboard accessible, and so I'm like, all right, I could do this. And it was fun because I was doing stuff like that and I got it working within two days and I was like well, I could do these other things, too and they were like yeah, and that was a lot of fun.Matt KleveThese-David BurnsYeah, that's ... Sorry, Matt.Matt KleveThese quick contracts aren't necessarily normal, but it's fun when it works out, Mike, right? You've got some availability-Mike HerchelYeah. I was in between client projects.David BurnsYeah, we've been reaching out frequently for accessibility audits, which has been really insightful, definitely something I'm wanting to learn more about, and menus keep coming up all the time. Menus and accessibility are like the number one thing that we're having to reach out to get some super-duper experts outside of support maintenance to help out with.Matt KleveSide bar, Mike. We've got a bunch of new accessibility experts. It seems to be there's been a really strong resurgence inside of Lullabot and I know we've done a ton of podcasts about it, but we should think about doing that again?Mike HerchelYeah, totally. I actually know who I want to invite. I'm not going to announce this person right now.Matt KleveIt's a secret.Mike HerchelYeah, but I am friends with them. Well, they wouldn't call me a friend, but I would call them a friend.David BurnsMike, you've got so many friends.Mike HerchelThey would be like, stay away.Cathy TheysI'm trying to think what unusual things do we see in support. And the other thing that I thought of was I see a lot of interesting things because some of the sites that we work on have been around for a very long time. So it could be like 8 years, 10 years. I don't know how long has Drupal 7 been around, right? It's just been ages, and so I can see the timeline of the way the popular things have changed in Drupal, because on one site, it might be like compiling SASS and be using Compass. And on another site it's like pure CSS and I can see different stages of things.Cathy TheysAnd so we do see a lot of wild differences, but they made sense for that project at the time under the constraints that they were on. They were just doing the best they could whenever they had the development budget and they were working on the site and they were like, well, we need to do this quick, or we need to do this rigorous. Whatever their constraint was, they did the best they could. And then their site's been round for ages and ages and it needs maintenance and they come to us, and we're just like, we understand.Matt KleveI like your attitude. I've come around to that in the last few years too. It's the not what the hell was this person thinking, but what caused this person to think that way, because there was something going on at that time and this was the right way. You give them a little more grace, right? It's like the person before me, they were in a situation and that might not make sense now, but yeah.David BurnsIt all boils down to time and cost, right? We'll see projects and we'll be talking with the customer and they're like, this thing we built two, three, four years ago is just so troublesome, and just talk-Matt KleveAnd it was a temporary solution two or three years ago.David BurnsYeah. So one of the things we'll come do initially is an audit and make sure the site's using best practices, making sure modules are in the right places, make sure there's a patch Makefile for D7, make sure you're using Composer for D8, and just get us to a baseline that we know when we bring anybody else into the project, they're seeing less and less of the surprises.David BurnsSo that is part of the standardization and cleanup thing we're focusing on, and sometimes the challenge there is we want to do these things that provide everybody a better quality of life, but the client is wanting these many features to be focused on. So it's a constant balancing act of we're going to deliver the thing that obviously you're paying for our services, but we also need to take care of these things to make everybody's life easier, not just the Lullabot team.Matt KleveYou were talking about how long it's been since Drupal 7 came out, but Dave, I know you and I both have built Drupal 6 websites for Lullabot, so yeah.David BurnsThere are no Drupal 6 sites right now that I can think of in support and maintenance and thank goodness for that, because-Mike HerchelWould you take a Drupal 6 site?Cathy TheysOh my gosh, I don't know.Matt Kleve6 to 7 is a whole lot quicker migration than 7 to 8, but I know that a lot of people are wanting to go 6 to 8, or 9 I guess at this point.David BurnsI think it would be hard for us to flat out say no, we wouldn't accept some at some point. We're always going to try to do an audit before we say yes, and if we're feeling good and we're on the same page with the direction the site owners want to go, like hey, it's on Drupal 6 now, but within a year we plan to migrate Drupal 8, Drupal 9, those things are taken into consideration.Mike HerchelYeah, that's makes sense.Matt KleveAfter that conversation, if it's something that you don't feel comfortable undertaking, do you have friends or enemies you refer them to?Cathy TheysThere are companies that were approved or advertised Drupal 6 long term support vendors, they're called something slightly different. Yeah, we might refer to a friendly competitor, because there's some people, they did that, they're good at that.David BurnsAnd they still do that.Cathy TheysThey should keep doing that, they're great at it, but it's different.Matt KleveI would think that newer versions of PHP would start to become the issue with running those older versions of Drupal, because you find a new host right now, they're going to run PHP 7 point something and Drupal 6 might laugh at that.David BurnsAnd that's one of the things we would look for, like where is this site hosted? Chances are Drupal 6 might be using SVN instead of Git. So I don't think we would want to add the overhead of having to have every person on our team remember all the SVN commands.Matt KleveThat wasn't that long ago, Dave. You and I have been on a Lullabot project together that used SVN.David BurnsAbsolutely.Matt KleveIt's something that is in recent history if we want to call it that, but shoot, that's been like nine years.Mike HerchelI wouldn't call that recent, Matt.David BurnsNot \[crosstalk 00:33:05\].Matt KleveI don't know, is Drupal in your recent history, Mike? It depends on I guess your perspective. But Cathy, go ahead.Cathy TheysOh no, I was just going to go back to the Drupal 6 question.Matt KleveOh go ahead, yeah.Cathy TheysI think we would raise our eyebrows at that, but we do have Drupal 7 customers and we are an official, approved Drupal 7 extended support vendor.Matt KleveMore to come on that later, right?Cathy TheysYes.Matt KleveWell, the end of life for Drupal 7 is in November '22, so we've got a little bit left that you can still use Drupal 7 and feel mostly okay with it. Drupal 8's end of life is 2021 though, right, this year in November?David BurnsYeah. So the reason for that is the version of Symfony that is shipped with Drupal 8 is going to go end of life, and Symfony is not in Drupal 7, so we have to follow where Symfony is going. I do think it's weird that a newer of version of Drupal is not being supported as long as an older one, but I understand how they got to that reasoning.Matt KleveSure. Well, so they'll upgrade.Cathy TheysYeah. It's a lot easier to migrate from Drupal 8 to Drupal 9.Matt KleveKind of like I was talking about 6 to 7, I think 8 to 9 is probably about the same as 6 to 7 was.Mike HerchelI would say easier than that. I mean, a lot-Matt KleveIt depends on what your custom code is, right? If you were doing bad things in your custom code in Drupal 8, then it's going to be harder, right?David BurnsI think 6 to 7 there was a bit more schema changes because we were starting to explore the concept-Matt KleveAnd I remember, didn't renderables became a bigger deal at that point, or am I wrong? I thought there was something in the theme layer that became trickier between 6 and 7, but it's been a while.David BurnsIt's so long ago.Mike HerchelYeah. We should do a podcast on that, Matt.Matt KleveOkay.Mike HerchelThe 6 to 7 upgrade.Cathy TheysWhat?Matt KleveI'm sure there's actually probably one out there, right?Mike HerchelI know, right?Matt KleveLike the old Jeff Robbins, Matt Westgate podcasts of 10 years ago.Cathy TheysI know we're laughing, but I'm trying to think in my head, would that ever being a thing somebody would want to do, migrate from Drupal 6 to Drupal 7. And the only reason I can think that somebody would want to do that is maybe if they wanted to migrate to Backdrop, because Backdrop is kind of like Drupal 7, and-Matt KleveA fork, right? It's a fork, it's a friendly fork. It's not a fork like the open source community's angry with them. They're providing-Cathy TheysRight. It was forked from Drupal while Drupal 8 was under very intense but prolonged development, and so it's kind of a snapshot of Drupal 7. It's got the best things of Drupal 7 in it, but it's got the features of Drupal 8, but the code underlying it is different. And so if it was too expensive to migrate from Drupal 6 to Drupal again, like to Drupal 9 would be where you would migrate now, and that's too expensive, somebody might want to migrate to quote "Drupal 7" except that Drupal 7 that they migrate to is really Backdrop.Matt KleveThat's interesting. I Googled something real quick, and so there was actually a Lullabot podcast, Drupal 7, Are You Ready? Episode 90.Mike HerchelNice.Matt KleveMentioning that in an article even more interesting. There was an upgrading from Drupal 5 to Drupal 6 that came out over 10 years, that's a really great article that's written by Mr. David Burns.David BurnsI have Lullabot.com articles? I need to start writing some more of those. But while we're talking about the upgrades, recently we have started focusing on the Drupal 8 to Drupal 9 upgrades within support. That's one thing that we do because the upgrade process is so much easier than it has been in the past. One of the things we do is drop in the Drupal Rector module and the upgrade status module, and we run an audit report to give us an overview of the level of effort. It's basically upgrade your modules to versions that support D9, that's fairly obvious.David BurnsDrupal Rector will scan your custom code and be like this is deprecated, go ahead and replace this with this. And it even ships with a command you could run that's like, we'll try to fix as much of that as we can automatically, and I found it works for about 80%, if not more, of the code that needs to be changed. Getting the D9's a much, much more enjoyable experience than going from Drupal 7 to Drupal 8.Cathy TheysYeah, and for some sites it might be a maintenance task, and for other sites it might be oh wait, we need a dedicated person for this. This is a little bit more customized and needs some more attention, in which case we would talk to the customer about that and maybe hand the project through our sales team back to client services.David BurnsEven right now with a project like GovHub, which is by far the biggest Drupal site I've worked on in terms of amount of code and sites that it's running, if the SOW has enough months and the client's willing to work with the support team in a long enough timeframe that we could do sprint models, where we do five modules here, until we get everything done, that can still land in support, it's just how quickly does the client need to be on Drupal 9. And if it exceeds our quote-unquote "support bucket" we would send that back over to client services.Cathy TheysYeah, that's a good point.Matt KleveWhat does your typical contract look like?David BurnsSo it breaks down into three tiers. The entry level, which is like 30 hours a month, and that really focuses on the initial security audits and recommendations, performance audit, module and security updates, integrating Dependabot, and then just critical bug fix, it's like this is affecting the user experience. And we find that 30 hours a month, 30 to 50 is a good place for those type of projects.David BurnsAnd then the next tier would basically be like a consultation and mentorship. It includes everything that was mentioned in the first tier, and then on top of that, we do implementation and architectural guidance. So they'll reach out to us and be like we're looking at these three modules, which one would you recommend if we're trying to do X, Y, Z and we'll give the pros and cons of each. We'll also be able to do pull request reviews, a little bit of project management and road mapping, and that's for clients that are like 50 to maybe 80, 90 hours a month.David BurnsAnd our third tier is basically dev augmentation. A lot of the clients we work for have small departments, like one or two people and they are hiring us just to do continued development to help augment their existing team. It includes everything from the first two tiers that I mentioned, but also includes maybe one developer part time, or two to three developers part time depending on how many hours are available. We'll also do ... We'll set up more robust automated tools, we'll probably do some Cypress IO testing or Nightwatch. Is that what it's called, Nightwatch JS that's in core?Matt KleveSounds good to me.Mike HerchelYeah.David BurnsSo those are the three tiers and our rates are similar to the hourly rates that any Lullabot project would have, just because the type of work we're doing is support, we still operate at the same cost for Lullabot.Cathy TheysYeah, I like it when our contracts are long and retainer-based and are big enough to have multiple people on it. Those are my favorite ones.David BurnsThose are the ones that allow us to really get to know the platform, really get to know the client and their team, and then really talk to them about what their experience is with the site that we've built, or the site that we're maintaining for them. And those feel much more like partnerships where we're bouncing ideas off each other trying to reach a common goal, where the other ones, while they're great, are just like we've got the feature set or this site's not going to change much, we just want to make sure there's no security flaws that people are going to take our site down.Cathy TheysYah, they're different. But they're also like it's whatever the customer needs at that point, right? When they need and want that collaboration and investment and exchange of learning and improvement of their infrastructure, we're going to be excited about that. But when they don't need it, and what they really need is just bare minimum, maybe because of the project lifespan or maybe because of the budget fluctuations, we're going just help them do whatever they need to do with whatever they got.Matt KleveAnd as a-Cathy TheysAnd it changes too. We might have customers that will keep renewing their SOWs with us, but their needs change over time and so maybe they become a smaller contract. Or maybe they've got a big initiative and so they're growing the contract and we can adjust with that. That changes too.Matt KleveAs a support team you're growing too, right?David BurnsWe are. We are doing interviews right now to bring on a front end developer. We have a very strong support team right now, but nobody that has ownership of that front end expertise. We're a lot of full stack. We're really, really strong site builders, really strong back end developers and we can hobble our way through a lot of these front end requests. We get it done, we run tests to make sure everything's passing accessibility and delivering what the client needs, but we don't have somebody that we can just say, "This client's asking us about accessibility, this client wants to refactor the whole menu system on their site, go do it." So this new position we're hiring for, we're hoping to have that person onboarded maybe by April.Matt KleveVery nice.Mike HerchelThat's exciting.Matt KleveThat is exciting. What makes a support developer special? Are they just gluttons for punishment?David BurnsYes.Matt KleveOkay.Cathy TheysI think it's like what we've been talking about, a little bit of it is attitude, like compassion and empathy, and understanding that decisions were made in the past. We're not building things from scratch, we're not making new decisions and we can consult and we can give advice if that's what's needed, but that's not the usual thing. And so I think you have to be okay with that. You have to be like I can't redesign this, I can't make this exactly follow my vision I have in my head. I'm working within the constraints of the system that it is. And it makes it easier, I don't know, mentally when you approach that from a place of wow, they're in a tough spot, they must have been in a tough spot before. It makes it easier to deal with that.David BurnsI would say there's also a really strong communication because of the context switching, knowing what project's somebody's talking about and being very clear as to the type of thing that you're working on, because just saying the name of a project, may not be enough to have the person you're talking to fully understand and grasp, because they've been working on this other site for a bit, documenting things a bit more.David BurnsAnd what Cathy said around the compassion. Clients are coming to us when something's broken and it'll sometimes feel like putting fires out all the time, but to understand that we're here to help them and we don't want to add any complexities to what they're already experiencing. So to take that, give solid estimates of how soon we could expect this thing to be fixed and always keeping the client up to date if our estimate is changing. I think client services does a good job of this, but they get to work in larger teams, with longer timelines, with bigger number of hours in a month. So being very cautious and aware of how we use the time and communicating that back to the client's like a skill set that our support team does very well.Cathy TheysYeah, and I think being patient too, because we do see a lot of opportunities for improvements, but because we don't want to add any stress onto our customers, we have to be able to make a note of that and come back to it later, when the time is right for that. So you want to be looking for improvements, but also be very patient in terms of waiting for the right time for them, because we don't want to ignore those opportunities either.Matt KleveVery good. David, anything else you'd like to add?David BurnsI'm sure there'll be a link to the support and maintenance page on Lullabot.com, that has a bit more info-Matt KleveMaybe.David BurnsWhat's that?Matt KleveMaybe.David BurnsMaybe. And that will give a breakdown of some of the services we do and how to contact us if you need help. I should probably mention how our SOWs are structured. We like to work with a client for at least a quarter and then as we build trust in that relationship, we'll consider expanding an SOW to six months or even a year if they know they're just going to be sticking with this version of Drupal.Matt KleveSo it sounds like you wouldn't generally want to be like hey, I want you to fix my photo gallery this week?David BurnsYeah, this isn't like a jump in, jump out, because there's so much overhead with setting up the Lando, getting familiar with code base after like hey, we've got 30 hours this whole engagement that 15 hours of that is going to just be involved in conversations, gathering requirements. We really need three months to build our understanding and that relationship.Matt KleveYou probably feel like you're more useful to them at that point too, so being able to commit some time and not just fix the Drupal. Cathy, anything more you'd like to add as you point towards wrapping this up here?Cathy TheysNo, I think support is great. We get to see so much variety of things and, I don't know, I feel like we really help our customers, and so it's interesting and rewarding.Matt KleveSo Mike-Mike HerchelYes, Matt.Matt Kleve... go support.Mike HerchelYeah, go support.Matt KleveAnd quite frankly, this may have come off as an infomercial, but I think there's a lot that could be gleaned by somebody who is a one person shop, say at a non-profit or something-Mike HerchelOh wait, there's more.Matt Kleve... maintaining a website, right?David BurnsOne more thing.Mike HerchelYeah. For the low, low price of ...Matt KleveBut I think somebody who's-Mike HerchelNo, I get it.Matt Kleve... running their own website, might be able to glean a few things and think maybe if I change my processes this becomes a little easier, and automated testing or visual diffs, those tools could be very useful to them in keeping things going.Mike HerchelAbsolutely. Yeah, absolutely. They're useful for everybody, not just folks in the support and maintenance department, but Drupal as a whole.Matt KleveThree easy payments. 877-Lullabot. Call 877-Lullabot. That's our real phone number, by the way.Mike HerchelYeah, I'm not surprised.David BurnsIt's funny, I have to always go to the website to actually see what the numbers are when somebody's like hold on, what number should I use, because I always go about it just typing the word Lullabot and have them figure it out on their own.Matt KleveWell, thank you both.David BurnsThanks for having us. See y'all.Matt KleveSee you.Mike HerchelAll right, thanks, bye.Cathy TheysThanks. 

  Show Full Transcript   

 Published in:

- [  Business   ](/topics/business)
- [  Drupal Development   ](/topics/drupal-development)
- [  Drupal Site Building   ](/topics/drupal-site-building)