When estimating the cost of a Drupal 7 migration, there are a few things we know.
We know Drupal 7 reaches its end of life in November 2022 and sites running D7 need to migrate before then.
We also know that the move out of Drupal 7 will be a heavy lift and likely more resource intensive than previous migrations.
But estimating exactly how much time and money a Drupal 7 migration will take is difficult.
There’s a reason for this: there are a number of unknowns.
There are two types of unknowns (and forgive me for repeating this famous non-answer). There are known unknowns; we know something will likely arise but it is unclear how much time and money it’ll require.
For example, the number of changes to an existing site while moving it to the latest version of Drupal. That can at least be estimated before a project begins.
And then, there are other problems during a Drupal 7 migration that won’t be apparent until they are very apparent. These are unknown unknowns.
So, how do you know how to budget or estimate time on a project like this?
There’s no definitive answer but here are a few things to consider:
Time:
It takes time to understand the size and complexity of your project. It takes time to put together the justification for the use of funds, time to get approval from your finance department, time to put out a procurement plan, time to hire and onboard the contractors. A big migration takes a lot of time.
When thinking about time, there are known knowns, things like how large your site is, how much custom code you have – a bigger site with more custom code and functionality is going to take more time to migrate. On a smaller site, maybe something you just stood up out of the box with a few contrib modules, it probably won’t take as much time to migrate.
Then there are known unknowns. These are things that we know will cause problems but we don’t know how much of a problem they’ll be. For example, some contributed modules aren’t quite mature enough to migrate. Or you might want to make changes and improvements to a site as it’s being migrated. It’s hard to estimate exactly how many changes you’ll want, but you know it will happen.
Many website are not static during a migration. They change. And those changes could be critical to the mission of yout organization. But anything built in D7 will need to be built twice, once on the current site and then again in the new site — which takes more time. Known unknowns.
Then there are unknown unknowns – we don’t even know what these things are but they will pop up and they will take time.
So, there’s a lot of variables that effect the time it takes to do a migration – custom code, contrib modules, the number of updates you’ll need to make to your existing site while migrating. This all takes time.
Agile Methodologies Help a D7 Migration
If the client is in on the process of a migration, as developers are rapidly prototyping, then they’ll know more about timelines because they’re communicating with the developers.
Blockers will arise, but having transparency about those blockers allow for clear expectations around the time a project takes. If time runs out, at least the most important parts of a migration get done. That’s the advantage of agile.
“Communication, not only within the team, but with the product owner or the client becomes super important,” says Drupal developer Carlos Fernandez. “You need to be very clear with the product owner that, okay, you need this done. You need this new feature on your Drupal 7 site, that’s fine. We can manage to divide the team and make it happen and try to keep the migration going. But it’s going to impact your deadlines.”
Timelines are relative from migration to migration. It’s important to have trust and communication when estimating the time of a site migration.
Money:
Here’s a quick way to estimate the cost of a Drupal 7 migration:
Take the amount of money invested the last time a site was redesigned or redeveloped. Then add all the money invested changing and improving the site since it was last deployed. Then multiply that by 1.5 to adjust for inflation.
That would just be the starting price tag of a Drupal 7 migration.
For example, if you paid, say $500,000 to rebuild your site seven years ago, and then you spent $50,000 per year for the past seven years maintaining it. That’s $850,000. Multiply that by 1.5 and you get a starting price of $1.25 million.
Jen Lampton, a Drupal developer and co-creator of Backdrop CMS has her own calculation for estimating cost:
“It’s probably going to cost you one and a half times to two times as much as you’ve spent on [your site] to move it to Drupal 8,” says Lampton.
Of course, she adds, “in terms of moving it to Backdrop, I would say it’d probably costs 25 to 50% of what you spent on it.”
If you move from Drupal 7 to Backdrop, you’re saving a lot of money because all you really have to do is pay for the actual content migration, not rebuilding the theme or functionality. This is because Backdrop is a clone of Drupal 7.
If you’re going from Drupal 7 to D8 or D9 or perhaps WordPress you basically have to rebuild the entire site. That’s costly.
Estimating is a very difficult exercise because in order to estimate, you basically have to have past performance data. If you’ve never migrated a site from D7 to D8 before, then you’ve got no past performance data.
Even if you have done the D7 migration before, every website is different. Migrating the WhiteHouse.gov website is totally different from migrating the Health and Human Services website.
Also, if you rely on developers for your estimates, you may not be getting the complete picture because developers don’t always take into consideration the cost of project management, communication or quality assurance.
“A lot of agencies will just like double or triple the numbers the developers give them,” says Jen Lampton. “And that also is a little sticker shock for the clients. And it builds in protection, which is good for the agency. And if you can deliver under budget, that’s good for the client. They’re gonna be really happy, but getting them to agree to that first number, I think is a big pitfall.”
Realistic Cost Estimates for a Drupal 7 Migration
It’s extremely important to budget out enough money for the move out of Drupal 7. Nothing is worse than getting stuck in the middle of a big migration without the resources to finish the job.
In that case, you’d likely revert to the D7 site and cross your fingers that the site doesn’t crash or get hacked.
Drupal 8 and 9 are supposedly future-proof, since they’re built on Symfony. Future upgrades should be easier on the budget. It’s just that the initial move to D8 or D9 is going to take some time and be expensive.
Hopefully with wherever you move, it’ll better suit your organization’s needs. A migration is a good time for rebranding or changing things about your website. Both of those fall under the umbrella of making improvements that would already require an investment.