Web development strategy in a Drupal 9 world Part I

Estrategia de desarrollo web en un mundo Drupal 9 Parte I

The upgrade path from Drupal 8 to Drupal 9 represents a big change for the Drupal world. The big change is that your organization's website won't require a huge change. The first iteration of Drupal 9 is just Drupal 8 with all the deprecated code removed, mimicking Symfony's model of major version upgrades.

This are good news. Keeping your platform up to date with the next version is no longer an “all hands on deck” situation.

However, as with all changes, this new model comes with its own challenges and problems. You will need to change your own thoughts and habits. When it comes to your Drupal website, your organization will need to start running a years-long marathon. Your relationship with external suppliers will take on a new cadence.

In this brave new world where upgrading to the next version of Drupal  doesn't represent  a huge replatforming effort, what does web development strategy look like?

Establish a cadence for web development work

One good thing about big replatforming efforts is that they need to be planned in advance. Budget and time have to be allocated. It acts like a huge celestial star, and everything else gradually falls into orbit around the big initiative. It attracts intent, direction, and sometimes enthusiasm, and none of these things are bad. 

Having this big, common goal that everyone sees clearly can make a lot of these things easier, but now, you have to figure out how to create and leverage it without relying on the existence of one monolithic goal that dominates the landscape. And you need to maintain what you have at a sensible pace.

Planning the release cycle

Like Drupal 8, Drupal 9 requires frequent updates. To get the latest security updates, you must stay on the latest minor version (9.1, 9.2, etc.). With this, you also have the chance to get new features that have been included, and you should be aware of them. Our article on planning the release of Drupal 8 is still relevant for Drupal 9. In summary:

  1. Create a release schedule and support windows for your software. Not just for Drupal 9, but also for any contributed modules and other software that is part of your hosting stack.
  2. Schedule updates in advance and don't let the desire for new features cannibalise these dates. These should be scheduled from the top down by project managers. This could mean a sprint every month or so dedicated 100% to updates. These should be as visible as other initiatives being developed and treated as equally important.
  3. Promote the new features that were implemented with these updates.

Planning new initiatives and features

Ideally, with a more iterative approach to development, stakeholders are kept more involved and informed and therefore better discussions can be had around the website. With the old Drupal update model, there was a risk of the dreaded stakeholder raid: someone comes in, lists a bunch of requirements without considering overall goals and priorities, and backs away. Sometimes they are not seen again until close to launch.

That risk still exists, but is mitigated by the additional number of touchpoints required from a longer-term, iterative approach. There are more hints and mini-releases. If a typical swooping stakeholder wants to do something, they will have to do a lot more swooping, which might start to look more like informed participation.

Regardless, you need to be more intentional when planning and prioritizing new features. You can't let every idea, frustration, or new design accumulate in a bucket over the course of two years, only to implement it on the new platform. With iterative development, your organization will need to communicate more, not less  .

Establish regular touchpoints with stakeholders and domain experts. This will look different for each organization. The marketing department can be the main driver. In that case, you'll need to meet regularly with the person who has the authority to make requests and set priorities, as well as domain experts who can answer questions and provide deeper insight. In smaller organizations, all of this could be invested in one person.

If your website represents the needs of many different sites, such as a company selling multiple products, then you will need regular meetings for each team. The same standards will apply and you will need someone with authority  and  domain knowledge.

These meetings should match your project management philosophy. For example, are you running sprints in an agile fashion? Invite these people to sprint planning. Requirements with high uncertainties may trigger the creation of a targeted discovery phase with stakeholders, which becomes part of a sprint, just like all other tickets.

Periodic usability testing is another way to find potential improvements. These don't have to take a lot of time and money. The book  Don't Make Me Think  outlines a simple framework that anyone can implement, and running it once a month is usually enough to fill any gaps in your process.

By: Matt Robinson

Taken and translated from:  https://www.lullabot.com/articles/web-development-strategy-drupal-9-world?utm_source=drupal-newsletter&utm_medium=email&utm_campaign=drupal-newsletter-20201029