System Design & Software Architecture

Follow My Lead: Why Web Development Should Take an Opinionated Approach

How to improve website development

Scott Massey

Software that stands the test of time is only as good as the process to build and maintain it. From ideation to maintenance, the processes should be understood and documented across your team, so that everyone works in the same way. The challenge here is how to define the process and ensure that people stick to it, through a team’s life cycles and change.

The traditional software development process follows a well established path. From getting initial requirements, through coding and development, and to testing, user acceptance and production deployment. The ideal result at the end should be clean, effective code that fulfils the original requirement. However, this does rely on a more formalised and ‘opinionated’ approach, which is more prescriptive to all those that use it. Yes – even a traditional waterfall development life cycle is an example of a primary architect’s ‘opinion’ of a workflow. This model puts a process in place and everyone involved has to work to that process.

In the rush to deliver, it can be tempting to skip steps in order to speed up delivery. For web development teams, this can be particularly prevalent and problematic. Especially when a website’s stakeholders are not developers or architects themselves. Websites also follow a very different life cycle than traditional software, in that they are living, evolving applications. Because this life cycle and responsibility chart is very unique to each team and codebase, many web teams do not have a template to follow of a formalised process.

For example, rather than being wholly owned by IT, responsibility for decisions around websites are often split across multiple stakeholders. In recent research by Pantheon and Hanover Research, both Marketing and IT thought that they were ultimately in charge – 84 percent of marketers claim decision-making responsibility but so do 87 percent of IT leaders.

This conflict over ownership can make it more difficult to get changes made. Both teams will have different sets of priorities – for Marketing, areas like improving SEO, getting better performance analytics and adding more content come first, while IT teams have to concentrate on security and uptime as well as analytics. This split in responsibilities makes it harder to manage over time – more than half of respondents said it would take them more than a month to make a simple change. For those working on major projects, this might encourage them to take short-cuts or create workarounds.

How to improve website development

While this might be tempting, it is not the right approach. Rather, taking that opinionated model and making sure that everyone follows the steps involved will lead to more efficiency over time. At the same time, it requires better collaboration across all the stakeholders involved to work.

In order to achieve this, start by understanding your current process and what steps developers have to work through. What does the process look like for them, and what is getting in the way of this in the real world? Are there issues that are preventing developers from working effectively, or leading to more complex web operations over time? As part of this, you should be able to determine any issues in your current workflow where more manual effort is needed, and where automation can help.

STAY TUNED

Learn more about DevOpsCon

For example, software developers are familiar with version control, which underpins a lot of best practices for modern development. For web environments, applying this same model for version control allows teams to prototype new site designs or debug new functionality using a mix of production site designs with new content or assets. Many web development teams find this difficult to implement effectively, thus hindering team collaboration and slowing down the development process as well as leading to more bugs or problems. By looking at website operations (WebOps) as a holistic approach, teams can improve their performance.

Similarly, implementing a full development pipeline can make it easier to go through development and test phases before release to production. Giving developers full access and control over the images that they can use with WebOps helps testing get carried out on images that will move through to production if they pass. This is more effective than developers trying to test on images that are not accurate representations of production instances.

This collaboration also helps developers work with other stakeholders like Marketing. By having the right workload images in place for work to be carried out, developers can remove unnecessary delays in pushing new content updates from Marketing, or allow Marketing to manage their own content. This also supports more continuous integration and safely testing multiple changes without breaking production.

In the heat of the moment and trying to hit deadlines from multiple stakeholders, implementing changes outside the normal development process might seem harmless. However, it does lead to more cost and less collaboration over time, leading to more technical debt and more problems over time. Following that opinionated development process should ensure that the whole team can follow best practices across development, test and deployment to production.

The challenge is how to foster and empower the effective ways to collaborate, taking out the roadblocks that would otherwise get in the way. By being opinionated, this process should allow teams to deliver the right WebOps approach for everyone involved, especially developers.

Top Articles About System Design & Software Architecture

Stay Tuned:

Behind the Tracks

 

Kubernetes Ecosystem

Docker, Kubernetes & Co

Microservices & Software Architecture

Maximize development productivity

Continuous Delivery & Automation

Build, test and deploy agile

Cloud Platforms & Serverless

Cloud-based & native apps

Observability & Monitoring

Monitor, analyze, and optimize

Security

DevSecOps for safer applications

Business & Company Culture

Radically optimize IT

GET DEVOPS NEWS AND UPDATES!