Joomla vs. Drupal — A Comprehensive Comparison - Software Development Lifecycle Management

By Justin Kerr
March 15, 2014

Table of Contents

Software Development Lifecycle Management

Software Development Lifecycle Management (or SDLM) is the process whereby the overall scope of a software project is considered in light of the organizational requirements for that software, its specific outcomes and goals, the software development process, and how all these elements change over time. Although SDLM is traditionally associated with discrete software engineering projects, its principals can also be applied to platform-based solutions like Drupal and Joomla.

SDLM is valuable for adding longer-term perspective to running a CMS-powered site: It anticipates future work and costs and how these might best be managed. In the case of open-source projects like Drupal and Joomla, many SDLM concerns tie into the activities and advancement of the open source project itself, including updates to both core platform and third-party software, anticipated features under development, release of new major versions of the software, and abandonment of core code or third-party plug-in solutions. For the purposes of Drupal and Joomla, SDLM can also consider marketplace-based perspectives, as the popularity of a platform affects its longevity and the availability of third-party resources.

Drupal iconDrupal

Drupal’s build-out process and its resulting sites are complex by default and require expert knowledge in the Drupal platform and related technologies. A qualified support resource – probably the original developer of the site – will need to be available for any changes to site structure or capabilities, which will possibly require significant development time and come at a high cost.

Keeping Drupal’s core software and third-party contributed Modules up to date is an important ongoing task that requires specialized technical knowledge and understanding of the existing Drupal installation; again, something probably best accommodated by the original developer. Drupal and third-party Module contributors regularly release incremental updates to their software; the Drupal project maintains a loose schedule for major releases, with Drupal 8 anticipated to arrive at an undefined date.

Upgrading a site between major versions of Drupal – for example, upgrading to Drupal 7 from Drupal 6 – is a very complicated task that requires high Drupal expertise and intimate knowledge of the site being upgraded. In many cases, upgrading a Drupal site to its next major version is not possible, because a required Module has not been updated to support the new version of Drupal, a Module’s development has been abandoned, or the original site was built with Drupal-specific structures that are no longer supported in the new version of Drupal.

Another consideration in Drupal SDLM is the open-ended nature of its development style and looser standards for contributed Module development: This may require more discovery time for projects and updates, as well as cleaning up non-ideal code.

Drupal maintains a very strong position in the CMS market, supported to a great extent by the venture capital-backed Acquia corporation. Many existing Drupal installations at major institutions and for-profit businesses, as well as a thriving network of developers and vendors, ensure that Drupal will remain a popular CMS option for some time. Drupal’s development culture eschews ever charging money for software, with all third-party contributed Modules available at no cost.

Given Drupal’s heavy requirements for technical expertise and intimacy with any given Drupal installation, the original developer is a valuable asset for SDLM. Developers may know this and charge accordingly. As a practical matter, Drupal sites of any size or consequence do not get upgraded between major versions: The work required to conduct the upgrade, resolve any issues with Modules, and re-build site structures and code would take more time than rebuilding from scratch on the new version of Drupal. Because of this, Drupal sites tend to have a lifespan of a couple to several years before they need to be completely rebuilt. It’s still possible for a site to limp along on an older version of Drupal, but eventually, the underlying PHP and database technologies will need to be upgraded, quite possibly dropping support for a function required by the older Drupal version.

Joomla iconJoomla

The Joomla project has established a standard release schedule with new major versions appearing about every two years: Initially, a “dot zero” version (e.g. Joomla 3.0) for early adopters and testers, and later a “dot five” version (e.g. Joomla 3.5) that is fully validated for production use and that receives long-term support. On a regular basis, the Joomla project releases incremental updates to major versions, as well as offers overlapping support for older versions of the software.

Joomla makes site software updates easy to implement through a series of tools built into its control panels. Incremental updates are accommodated with a one-click process in the back-end administrator; third-party extensions can often be updated with a single click as well, or, failing that, through upload and installation of the new extension through Joomla’s Extensions Manager. The Joomla project has committed to providing an easy upgrade path between major software versions, which will ideally be a single-click process for core Joomla software. (Third-party software will still need to be updated independently, but these packages tend to follow the pattern of one-click upgrades.)

Joomla’s standardization of coding practices, its common structures, and platform maturity harbingers like the Joomla Framework all make it much easier for Joomla developers to work with each others’ code. Joomla sites are pretty easy to hand off between developers and site maintainers, and doing so should entail no extraordinary additional cost. Of course, adding site capabilities or features will inspire additional work and expense.

Joomla occupies a very strong CMS market position and is quickly expanding its base of installations from small business and organization sites into the enterprise and larger corporations. All Joomla project work is done on a volunteer basis, supported by the non-profit foundation Open Source Matters. A number of larger corporate players, in particular Ebay, have invested heavily in Joomla technology and talent. Many Joomla practitioners and service vendors are available worldwide, providing a huge choice of solution providers and driving down market costs. Joomla is also being adopted as a website solution for many marketing and communications agencies, because of its accessibility and value. Like Drupal, the Joomla project is going to be around for quite some time.

Looking at the longevity of a Joomla site yields the potential for ongoing site maturation through upcoming versions of Joomla, given the project’s emphasis on ease of upgrades and its planned release cycle. This means a Joomla site should be able to live on indefinitely as the Joomla software matures, without the need for complete site rebuilds.

Dollar sign iconCost Conclusions

Joomla sites are much easier to update and maintain than Drupal sites, given Joomla’s single-click update interfaces and the adoption of this standard by third- party extension developers. Joomla’s standardized code base and established structures in software and content make it easy to hand off a Joomla site to another developer or site manager; Drupal sites usually need to drag the original developer along in tow. Drupal’s higher requirements for site-specific knowledge and technical expertise also means more expense for ongoing maintenance and making structural or functional changes to the site.

In terms of upgrading between major versions of software, Joomla offers simple methods (or at minimum a documented process), whereas a Drupal site’s upgrade potential is tied to many different elements that can’t be directly accommodated by the Drupal project. For the most part, Drupal sites will eventually need to be completely rebuilt on a newer version of Drupal, whereas Joomla offers ongoing upgrades as the software matures. This represents one of the biggest differences between Drupal and Joomla SDLM, and Drupal website stakeholders should plan accordingly for these probable major expenses.