#095 - DevOps in Civil and Structural Engineering: What Can We Learn from Software Development?
A practical framework for integrating Git, CI/CD, and automation into design workflows.
“Absorb what is useful. Discard what is not. Add what is uniquely your own.”
- Bruce Lee
There are always so many things we can learn from other professions. But figuring out what is most useful is challenging. This article is an exploration into some of the topics and ideas in modern software development practices that are transferrable to professional engineering design flows. Some massaging is often required, it’s not a perfect fit. As you know, our industry is full of pits of doom and chasms of despair. We need to span them in the most practical way possible.
This article is a deep dive into a big topic so take your time. There is a lot to digest.
The Challenges of Standardization in Engineering Projects
In civil and structural engineering, project standardization presents a significant challenge. Unlike software development, where a unified team often works on a project from start to finish, engineering projects typically involve diverse stakeholders. These stakeholders include private clients, government agencies, contractors, sub-contractors and various engineering teams, each with its own workflows, standards, idiosyncrasies and expectations.
This diversity leads to inconsistencies across projects. One project might follow a client's preferred workflow, while another might be driven by the contractor's systems. The lack of a universal standard complicates collaboration and increases the risk of errors. Each participant must adapt to the tools and practices dictated by the lead entity, which can vary widely from project to project.
This is life. I get it. But I’m just throwing it out there for now. There are ways to progress.
In contrast, the software development industry has made significant strides in standardizing workflows through DevOps (Development and Operations) practices.
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to automate and streamline the processes of building, testing, and deploying software, with the goal of improving efficiency, reducing errors, and enabling faster delivery of updates and new features.
Tools like GitHub, GitLab, and Bitbucket, along with CI/CD pipelines, provide a consistent framework for version control, collaboration, and automation. These tools help ensure that all team members, regardless of their specific roles or locations, follow the same procedures.
The challenge for us is to adapt these standardized practices to a field where the project environment is inherently more fragmented.




