Recently we undertook a small project with a partner agency to set up their website clients with a maintenance program. It was satisfying work, and the general process could be applied to other projects that implement simple workflows. At a high level, the structure consists of setting a goal, designing a plan to achieve that goal, execute the plan, then reviewing and refining the plan for future use. It sounds so simple, but I’ve seen lots of projects proceed willy nilly, and even if they eventually succeed, excessive effort is expended.
We had already defined a tiered maintenance product to ensure client websites continue delivering value after launch. In particular, the site software needs to be kept up to date to protect against infection by malware. For our project, the partner agency had a couple dozen clients sign up for the product, and we were to efficiently set the sites up to be maintained. To simplify this post, we’ll limit discussion to our mid-range (Value) product, as described in the link above.
Set goals and objectives
Before starting a project, it is important to understand the project’s goals and objectives. Of course we had a rough idea of what the efforts are to achieve, but even with our small project, clearly stating measurable objectives will help ensure success.
We stated the primary outcome for the project as: Virtually all clients will say they feel confident their websites are being properly maintained over the long term.
Supporting objectives are:
- The implementation process is efficient and sustainable. Therefore, we need to make some money, and it must be cost-effective for the client. We must be able to onboard new clients as the agency grows. The objective is to be able to set up a client website for maintenance in less than one hour, and perform the maintenance tasks in less than a half hour per month.
- In order for the client to feel confident their site is being properly maintained, they need regular updates. The client will receive a monthly report including the state of their site and the tasks undertaken.
- If issues are encountered, we will respond appropriately. We need to be positioned for proactive action, as well as to keep in close communication with the client to obtain approval for extraordinary actions. We will inform client the same day issues arise, and take action by next business day. We’ll provide a follow up message upon issue resolution.
Design a process
When first considering maintenance, we developed a business case to justify the offering, including an analysis of the implementation costs. Now it is time to prove the analysis. Before we undertook setting up this group of websites, we had already tested the various components with a few individual sites, but when setting up a couple dozen sites, efficiency begins to matter.
To set up a site, we need to register the client for maintenance in our CRM and submit an invoice, enable remote access to their site, set up site backups, monitoring and reporting. A related task for this project was to move the sites to a new server environment, provided by the agency partner.
In designing the process, we focussed on sequencing and grouping. For an example of sequencing, we set up the site with backups and remote access at the same time as moving it. For an example of grouping, we added all the sites to our uptime and malware monitors at one time.
We set a recurring task near the end of the month to update all sites at one time, and established a reporting task to send client reports on the first of the month. When addressing issues – such as a server failure or malware infection – we decided it is appropriate to resort to manual action, given the small expected frequency of such issues.
Execute the tasks
Once the process has been designed, the ongoing tasks must be reliably and efficiently executed. We don’t yet have enough maintenance clients to require a full time dedicated resource to service them, but to be sustainable, the tasks need to be separated from our primary design and development work.
Of course, automation is very attractive, but only if the implementation and ongoing costs make sense. We have automated the monthly reporting to clients, which streamlines the ongoing work. Unfortunately we can’t justify the costs of automated malware monitoring for what we are charging our clients, so we have a simple daily manual task of verifying the sites are clear of malware. It takes less than a minute to run a script to check all sites, so it is worth not having to pass on any costs from the malware service providers.
As mentioned above, we could not justify automating or setting up a well-designed process for extraordinary issues. We will handle those manually until the overall maintenance program warrants it. The issues are expected to be infrequent, and we hope the clients will gain some comfort receiving personalized attention.
Measure and refine
Now that we’ve got the program up and running, we are poised to review and measure, so we can look for opportunities to refine it. In fact, that’s the impetus to write this post. During the implementation, we were able to complete tasks in less time than allocated – for example, we can set a site up in about a half hour – so we feel we’ve got a sustainable offering. A real win is to find a way to efficiently incorporate basic Google Analytics data with the monthly client reporting. We were willing to spend time each month to distribute website analytics data alongside our maintenance activities, as it an indication of site health that clients ought to care about. Now that our refinement allows us to automatically include that data, we can spend more time addressing individual issues as needed.
It is valuable to review a project to verify its success and identify areas of improvement. By reinforcing the simple structure of setting a goal, designing a plan, executing the plan, and reviewing, we are more likely to approach future projects with an appropriate amount of rigour.