About three and a half years ago, we set out to update Marketpath CMS with a fresh look and some highly requested new features. Within a few months, however, we decided to rebuild the system from scratch with an entirely different architecture, in order to achieve our long-term vision.
We wanted to migrate all of our customers from our old system to our new system for several reasons. First, we didn’t want to maintain two separate systems because of the infrastructure and support costs. Second, we didn’t have the developer resources to continue work on both systems. Third, the old system was old and tired. We wanted it gone. Sure, it had its glory days in the sun but now the sun has set. And finally fourth, we talked up the new system, got customers excited about it, and told them we’d migrate them from the old to the new.
If I was a smart businessman, I would have kept these two systems separate, and required only new websites (or redesigns) go into the new system. But, alas, I am not a smart businessman. I threw logic and sound business decisions out the window a long time ago. At least it seems this way based on our last couple of major initiatives like auto dealer websites, crowd-sourced website design, and school crisis plan builder. Stop. Don’t even say it. The last one isn’t even in our wheelhouse. I know. Thanks.
Yet, we stayed the course and began the planning and extra development to move everyone over to the new system. This started as simple database scripts that updated the old databases to the new. But this method quickly became a major nuisance to progress. Every single database change in the new system (and there were many) required that we update the database migration scripts. All-in-all, we estimate that we spent about three full months of development creating and updating the migration scripts. That’s 480 hours of work, and we were nowhere near the finish line.
So we scrapped the migration script and decided to go with a simpler standalone app that used the legacy CMS object libraries and the new CMS object libraries to perform the migration. This was much easier and freed up our developers from worrying about the *bleeping* migration script.
With the move to the standalone migration app, I inherited the project because I was the only one who had any development experience with the old system. “It’ll be easy,” I said. And “you’re out of your mind,” they said. In fact, it was easy - the first time. But then our new system kept changing and, with every release, I had to update the migration app. This became my single most loathsome burden at Marketpath. I already told you I threw logic out the window, right? Case in point.
Fast forward to today. Out of a couple hundred sites, we have zero remaining to be migrated! I drew a line in the sand and made it my number one priority to get the last of the sites moved. The last thing I wanted to do was update the migration app again. So for the last four months I’ve been heavily focused on completing migrations with the help of several others.
All of this, my griping and sleep-inducing detail above, was because of promises.
We made a promise to our customers to provide a CMS with continual updates and improvements. The old system wasn’t being updated during this time, that’s true. But we were building something entirely different and working toward a faster, more flexible, and more feature-packed content management experience.
We made a promise to move customers over to the new system when it was ready. We’ve done that. We started migrations in August 2017, and although our quality wasn’t as great then, we improved with each site we migrated. Every customer is still better off in the new system. There were definitely some hiccups along the way and we wasted time and capital making it right. But we made it right.
We made a promise to be a supportive and reliable partner for as long as our customers allowed us. We could have said, “Sorry, we’re shutting the old system down and you’ll need to have us build a new site in the new system or find a new host”. But we didn’t. We stayed resolute in our promise and stuck with them through completion.
Marketpath made promises, and Marketpath kept its promises. This resulted in a huge expense to us but sometimes the logical business decision isn’t the right business decision. In a world where so many focus on the almighty dollar, we feel pretty good that we can focus on the almighty customer.
A promise is a promise.
Thank you to all of our customers who endured the ups and downs of our migration process (especially you early adopters). You are our lifeblood and mean the world to us!