by David Snopek on May 6, 2016 - 2:16pm
We've been pretty busy in the 11 weeks since Drupal 6's End-of-Life on February 24th.
Really, CRAZY busy, in fact!
We're currently responsible for providing Drupal 6 Long-Term Support for 424 sites in total!
For some of our bigger clients with large numbers of sites on a single code-base or those subject to regulation (for example, governments and universities) we had to compromise on not providing "security updates only" service - but some protection is certainly better than no protection.
Going through the sales process (which includes performing an in-depth site audit), on-boarding process and subsequently supporting and maintaining 424 sites in only 11 weeks has been enormously challenging for a small company like ours - but also an amazing learning experience.
Things are finally slowing a bit with regard to Drupal 6 LTS, we're heading out to DrupalCon New Orleans next week, and starting to look at the next phase for our business.
This feels like a good time to stop and reflect on the things we've learned from our experience with providing Drupal 6 LTS: what worked, what didn't and what we can improve for the future!
This isn't a marketing post (unlike most of our posts recently - sorry!) but a look Behind the Veil at our growing startup, what we do and why we do it. And it's about time! The last one I did was back in June, explaining why we we're launching myDropWizard.
So, if you're still interested in my meandering reflections, please read on!
Automation for the win!
One of the core ideas behind myDropWizard is trying to create documentation, processes and, ideally, automation around the services we provide so that we can provide service to a very large number of sites with a relatively small number of staff.
So, we knew automation would be important. But the last 11 weeks have really, really proven that to be the case!
Every bit of automation we already have was a life saver during the rush. My only regret: not having enough time to automate more things. :-)
The biggest piece of automation we have is a tool called "sidom" (short for "site dominator") which allows us to generically pull down client sites, setup a staging site, run a series of tests and checks against it and push back changes - regardless of how each site is hosted.
I'm planning to do some articles (with demos!) dedicated to "sidom" in the future, because it's central to what we do, and (I think) really cool. :-)
But, yeah, we wouldn't have been able to deploy the Views security patch from a couple weeks ago the same day it was released without it!
Project work is a HUGE distraction
Another of the core ideas behind myDropWizard is that we provide a "productized service", ie. a specific set of services we can systematize and deliver at scale - not anything and everything we're capable of, like most Drupal shops and freelancers.
However, when a client was in dire need of a service within our wheel house (ie. security audit of a custom module, migration to Drupal 7/8, remediation for a site that was already hacked, etc) we really wanted to help them. So, we took on a limited number of these - and it has proven to be a HUGE distraction.
We've been able to deliver our core services at our current scale just fine (and are getting more and more efficient at it!) but that's a full time job as it is. The additional project work has been unpredictable in size and scope (as we should have known it would be) and led to us working crazy overtime to keep up and we're still behind on all our project deadlines - it's not worth the additional revenue.
We need to get better at saying "no" :-)
Everyone wants to have a call
Our initial e-mail to every new lead used to be an explanation that the first step to get started is a site audit, but if you want, we can have a call first. However, literally every single customer (except one) wanted to have a call before getting started!
As a consumer (and an introverted web developer), I don't think I'd ever choose to talk to a sales person if there was another option. :-) But not so with customers looking for Drupal 6 Long-Term Support!
We've changed our initial message to include an invitation to a conference call, with a note at the bottom saying you can simply send us the information to do the site audit right away if you want to skip the call. Everyone wants to have a call.
Site audits are powerful, but SLOW
During the wave of interest for Drupal 6 Long-Term support, we spent most of our time doing site audits. Waaay too many site audits. :-)
(At some point, I'd like to write an article about some of the surprising patterns we noticed when looking at that many Drupal 6 sites.)
It's not fast doing a high quality site audit - we've optimized the process to the point that it only takes 2-4 hours per site. We want to both deliver something valuable and actionable in each audit report, and get an idea of the maintenance burden of the site so we don't get in over our heads with a super high maintenance site on a lower tier plan.
We experimented with skipping the audit with a few customers - but decided it's too important.
Doing the site audit proves to potential customers that we know what we were doing: we got a couple of complements on how well we managed to understand their sites. And it allowed us to justify upselling a few clients with really complex needs, who didn't initially even know they had complex needs.
That said, it's a huge bottleneck in our process and we probably lost a number of clients at the height of the rush just by being too slow!
While the process is partially automated (taking advantage of a few contrib modules and some custom scripts), I think if we could automate everything that's possible to automate, we could probably get the process down to just 1-2 hours for the core things that only an expert Drupal developer can do.
Price-based promotions didn't work
When we announced that we'd offer Drupal 6 Long-Term support back in November, we did EVERYTHING we could think of to try and get people to sign up early. We knew there would be a huge rush in February, and we wanted to try and even it out.
We offered a series of price-based promotions that were all like "sign-up before X date, and get 20% off for the whole first year." We did a number of ads in different places each time. We got 3 clients on the promotional price total. :-)
Not only that, but we started talking to LOTS of clients during the last promotion (it ran January 21st-31st) but practically no one cared that the promotion was ending - they happily signed up days or weeks later at the full price.
We can't ever be sure why no one cared (maybe our prices are too low already?) but my theory is that the same inertia that kept people on Drupal 6 for this long also caused them to put off getting Long-Term Support until the last minute, and that inertia was more powerful than any cost advantage.
We need a CRM, like, now!
During the rush there were a lot of threads we had to keep pushing forward at once, driving each initial customer contact from the first conference call to the site audit, contract, payment and all the way through on-boarding. Keeping track of it all was super hard, and we definitely dropped the ball in a few cases.
We know we need some kind of CRM to manage this process, and we've tried a couple!
We started out with Highrise, but it didn't really add any value for us, and when we got to the end of the trial (they have a limit on number of contacts, not a time limit), it started sending e-mails to our clients saying that our trial was over. Not cool, Highrise (you don't get a link).
Then we evaluated Contactually, AgileCRM and OnePageCrm. All seemed cool, but not exactly what we wanted (and had time-based trials which is hard to manage if you're super busy - this is the one thing Highrise got right).
We're still looking. Any suggestions?
Thanks for reading!
I hope that was interesting to others. If so (or if not) please let me know!
I love writing these types of blog posts, because it's an excuse to reflect on our business at a high level, but it's also a little risky letting people in on our internal struggles. If it isn't interesting to others, maybe I'll just write them privately for myself instead?
Please let me know what you think in the comments below!