Learning · Software Engineering Manifesto

Ship small, reversible change

Prefer incremental, roll-backable delivery — expand/contract, flags, and progressive exposure over big-bang releases.

Principle

Change is safer when it is small, observable, and reversible. Distributed systems punish coordinated leaps.

Therefore we practice

  • Prefer incremental PRs and releases over multi-week branches
  • Use expand/contract for schema and contract changes
  • Decouple deploy from release with flags when needed — and clean flags up
  • Roll out progressively; define abort criteria before you start
  • Always know how to revert to the previous artifact quickly

Smells

  • “Big rewrite” with no rollback
  • Breaking schema migrate that requires stopping the world
  • Feature flags that live forever without owners
  • Pushing straight to 100% traffic on Friday afternoon

← Software Engineering Manifesto