Now, you might be wondering why specialised teams are needed for this, as opposed to just using the team that built the website to carry on any further work needed on the site.
The work involved with new development, extensions and maintenance are fundamentally different; new development needs a lot of time and focus, but planning is more foreseeable. New development also requires a defined structure. This keeps the team on track, ensuring that the project timeline and its resources are being used properly and its milestones are being met. If that same team handled maintenance as well; being interrupted by an urgent task would not be efficient or cost-effective.
Great open source web maintenance starts with new development because you should always build a site with maintenance in mind. Maintenance reduces bugs and keeps the site secure. Building for maintenance ensures that the upkeep of the website is significantly easier and cheaper to maintain over time.
Maintaining a website has become even more important now that Drupal has changed its approach of providing upgrade paths between major versions of core — as opposed to needing a full rebuild. Before they established the upgrade path, module updates were primarily focused on security updates or if a newer version provided functionality that had been requested. To take advantage of the upgrade path, all modules and core should be as close to the latest version as possible. This makes for a smooth transition and reduces the risk of things breaking, prevents the need to seek out alternative software, and safeguards against increasing the website cost of ownership.
Maintenance tasks can pop up at any moment and they’re usually urgent because something is probably not working on the live website where end-users, editors and important business processes are being impacted by the issue.
Given this often unpredictable nature of maintenance tasks, they need to be prioritized without affecting extension timelines.
Maintenance makes building extensions simpler because an up-to-date system is less likely to create obstacles during development (e.g. a module can only provide a certain level of functionality in a higher version. Custom code is needed because a module can’t be installed if it requires a higher core version).
Extensions as a separate team
Okay, now that it’s clear why we believe having a dedicated maintenance team is best — what’s the need for an extensions team as well?
Extensions need similar processes as new builds, however, the turn around from briefing to implementation is much faster and more flexible with extensions. It's still necessary and important to plan extensions though. This ensures the required resources are available and the timeline can be met.
Extensions are implemented on websites that are already live, so planning and implementing extensions actually runs in parallel with maintenance — separate, but parallel, as maintenance mainly focuses on the backend. And, since most of the time extensions tend to be more frontend and site-building related, it shares new development’s mix of backend and frontend work, too. That’s why our extensions team coordinates between multiple team members with different skill sets. Close communication between maintenance and extensions teams is essential, especially when they’re working concurrently on the same site.
Think of it this way. The focus of maintenance is to ensure longevity and security, while the focus of extensions is to improve a website's functionality or appearance. Both add value — for your business and your users alike.
In today’s digital world, it can be tempting to follow trends that lead to underinvestment in maintenance. Our global maintenance team believes that a strategic maintenance plan that includes engineering for maintenance will keep your website relevant and innovative.
Learn how you can get more out of what you already have built — talk to one of our maintenance and extensions experts today!