DEV Community

Discussion on: 🚢 When do you ship? (Technical or Business/Product reasons acceptable)

Collapse
 
waylonwalker profile image
Waylon Walker

That is amazing!!

When you do you ship new features? As soon as they are ready? When stakeholder approve? When they pass certain tests?

Collapse
 
kallmanation profile image
Nathan Kallman • Edited

Everything needs to pass automated unit/integration/system tests and be approved by 2 engineers before it can merge into the main branch. Everything on the main branch will be shipped at the next deploy (all engineers have the capability to deploy outside of the regularly scheduled deploys; the schedule is the minimum cadence).

For things that need to be timed (like to coordinate with a third-party or announced launch-time), we'll often use a feature flag controlled by an environment variable (so we can enable it at any time independent of a deploy).

Everything is real-time monitored for health. Rolling a deploy back to a previous "good" state is even easier than deploying. Stakeholders should be included through the development process (as possible); but if they end up not liking something after seeing it live, a git revert and a few hours will take them back to their previous system (and everything going in front of the general public is A/B tested with control over how much of the population gets an experience)

Thread Thread
 
waylonwalker profile image
Waylon Walker

That sounds like a dream setup!

Thread Thread
 
kallmanation profile image
Nathan Kallman

Well, we're hiring at a 120% rate ;) and fully remote until the end of the year at least.

root.engineering/