Developing a Craft CMS website maintenance plan
Posted by Garrett Winder on 15 January, 2019
Over the years we’ve developed and maintained dozens of Craft CMS websites. Sometimes we’re brought into the initial development phase and are able to create them from scratch, but more regularly we’re brought in post launch as a company outgrows their existing development partner or their needs change. This happens for a number of reasons, but the most common scenarios are:
- Your Craft CMS site was created by a smaller, sometimes 1-person shop and your growing online initiatives outgrow preferred working style or available capacity.
- The company that built your Craft CMS site specializes in start to finish website design projects and strategically chooses to stay away from support and maintenance work.
In both scenarios, it’s difficult to maintain websites after launch while juggling larger design and development projects if you don’t have an intentional plan in place. We’ve experienced this first hand and it wasn’t until we developed our maintenance plan a few years ago that we figured out how to successfully manage ongoing support and maintenance projects.
In this blog post I’ll explain the issues to solve in order to develop a website maintenance plan that scales and works for the long haul.
The first issue is the ability to fit small support projects and regular updates into your work schedule without derailing larger start-to-finish projects. At Good Work, at any given time each member of our development team could be on a 4, 6, 8 week development project while tackling a handful of support projects (typically 1 – 8 hours) in parallel. This works alright until you get to the end of a larger project and realize you’re quite a bit behind from the context switching required for the smaller projects. We tried a few things here: one person on website maintenance for a set hours per month, week, etc., neither of which seemed to fully solve the problem. In the summer of 2017 we made the decision to start building a full time maintenance team for the ability to handle support in parallel to larger projects without the issue of context switching and project derailment.
The second issue is that support and maintenance projects have the same overhead needs, just in smaller intervals, and should be treated the same as larger projects. They still need to be estimated, they still need kick-off calls and timelines, and so they should be split out into their own projects rather than all falling into a generic “Website X Support” in your project management and time tracking tools. This problem was easier to solve, and more of a mindset change than anything else. All projects, whether 30 minutes or 12 weeks, go through our project onboarding process to ensure they’re clearly defined, estimated, and have a set timeline.
Another requirement to creating a good plan is that whether you’re a team of one or a team of one-hundred, you should have a shared code and deployment convention so that anyone can hop in and understand how to setup and maintain the website with as little hassle as possible. At Good Work we have a starter system as our baseline Craft CMS installation that we use for all websites that we create. For the websites we take on in a maintenance capacity we transition what we can into our convention and document anything out of the ordinary to streamline future development.
Lastly, your maintenance plan requires a significant amount of ongoing communication with the client. There are always bug fixes, new features and CMS updates being prioritized and re-prioritized on a regular basis depending on volume of work. What’s worked well for us is a combination of quick weekly status calls (sometimes even daily depending on volume of work), monthly prioritization meetings and a shared Trello board for progress transparency and project management.
In summary, developing a good support and maintenance plan is an important part of the web as a whole and can be done successfully with a good process in place. For our team that means:
- A full-time team to manage all website maintenance services
- Treating maintenance projects the same as larger projects
- A shared code and deployment convention across all projects
- Regular communication and transparency of work-in-process
By creating an intentional process around your maintenance plan you can maintain existing Craft CMS projects with the same quality, efficiency and care as new builds in the long term.