Shipyard engine is a recently coined term used to describe a management process for businesses that rely on a CD/CI model. In CD/CI business models, a piece of software experiences continuous delivery (CD) and continuous integration (CI). In other words, a CD/CI application receives multiple software updates every day. These updates are typically small, adding new features, polishing existing ones, adding integrations, or removing bugs.
Keeping track of software changes in this type of environment is extremely difficult and requires more than a typical VCS workflow. Otherwise, the different teams of developers can easily lose track of what's being worked on, who's working on what, and how their project(s) fit into the bigger (and changing) picture.
A shipyard engine is a format that allows teams to continuously update a product while notifying the rest of the team of these updates every step of the way. And, ideally, it does this without overwhelming the team with notifications.
The term "shipyard engine" was coined by the team at Drift, a SaaS company that updates its app up to fifteen times in any given day. For them, the shipyard engine is a Slack channel, used by teams to send structured messages regarding new updates to the Drift app.
These updates typically follow a three-point format: What the team shipped, why they shipped it, and which users will have access to the shipped item. The developer shipping the update should send this message immediately after updating the app, with each of these points answered in the message.
There are several benefits to using the shipyard engine method, but above all, it better connects your teams. Keeping a CD/CI product feeling cohesive and tight is a Herculean task at times. But by using this tool, you can greatly simplify the process and ensure that every team member knows where the app stands.
The shipyard engine is also helpful for ensuring that every update is justified. Whenever an update is shared, a reason or rationale for the update must follow. This adds accountability on all updates being shipped and may help avoid feature bloat.