Urgent.News

What's breaking now, across thousands of outlets.

Tech

Ceremony proportional to irreversibility: Type 1 vs Type 2 engineering decisions

By Decision Desk Every engineering team eventually has the same argument. One group says "we need more design review, we keep shipping things we regret." Another says "we need less process, it takes three weeks to change a config value." Both are usually right, about different decisions. The fix isn't more process or less. It's matching the process to how hard the decision is to undo. That idea…

Engineering teams often debate whether to use more or less process for software decisions. The key to resolving this debate lies in understanding the irreversibility of each decision. Amazon's 2015 shareholder letter introduced the concept of Type 1 "one-way doors" – consequential and nearly irreversible decisions requiring careful deliberation – and Type 2 "two-way doors" – quicker decisions that can be undone if needed.

Both approaches have merit, but the type of decision dictates the appropriate level of process and review. Operations rollback is a quick way to undo operational changes, but architectural reversal – the true cost of undoing a decision – can be significant. Type 1 decisions involve irreversible data, contracts, or ecosystem changes, and require more rigorous review.

Type 2 decisions are reversible, such as toggling feature flags or using temporary contracts. By assessing the potential for irreversible consequences, engineering teams can determine the appropriate amount of ceremony required for each decision, ensuring efficient yet responsible decision-making.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Why a VEX document should be diffed claim by claim

Nobody reads your VEX document twice. A customer reads the first one you publish, and after that they read the difference between the new one and the copy they already hold: which advisories you have…

  • Diff VEX documents claim by claim for customer readability
  • VEX document is JSON, straightforward diff reports byte-level changes
  • Keyed comparison promotes unmatched items to top of report

Webhook Signing Is Not Optional: How to Verify a Callback Without Breaking Your Integration

Every integration eventually gets the same 2 a.m. page: "The webhooks stopped working after the deploy." Nine times out of ten, nothing about the sender changed.

  • Webhook signing crucial for verifying callbacks without breaking integration
  • Common mistakes include hashing parsed object, string equality comparison, ignoring timestamp
  • Follow steps: capture raw body, compute HMAC, constant-time comparison, enforce timestamp tolerance

More from Friday 2 October →