Skip to content
All resources

template

Mobile Architecture RFC Template

A mobile architecture RFC template that forces the decision to show constraints, rejected options, rollout risk, ownership and rollback.

Use this in practice

Use this when a decision is too expensive to leave in Slack. The RFC should make future readers understand the problem, the tradeoff and the cost of being wrong.

Copy this structure

  • Title: name the decision, not the solution. Example: Image loading ownership and cache policy, not Use Library X.
  • Status: draft, reviewing, approved, superseded or rejected. Include date and decision owner.
  • Problem: what is broken now, who feels the pain, how often it happens and why the current approach cannot continue.
  • Goals: the measurable things this decision must improve, such as launch time, crash rate, build time, feature delivery or correctness.
  • Non-goals: what the RFC will deliberately not solve, so the review does not expand forever.
  • Constraints: app version support, release calendar, team ownership, privacy, migration cost, dependency policy and platform limitations.
  • Options considered: at least three, including do nothing. Describe each option fairly enough that opponents recognize their argument.
  • Recommendation: the chosen option, the tradeoff you accept and the reason it fits the constraints better than the alternatives.
  • Rollout: phases, owners, feature flags, migration path, QA focus and rollback criteria.
  • Risks: what can go wrong, how you will detect it and what you will do if it happens.

Review questions

  • Could a new engineer understand why this decision was made six months later without asking the original author?
  • Does the RFC explain the cost of doing nothing, or does it only sell the preferred option?
  • Are rejected options described with enough respect that the review feels honest?
  • Is the owner after approval clear, including who maintains docs, migrations and follow-up work?
  • Can the decision be rolled out gradually, measured, paused and reversed?
  • Does the RFC describe user risk, release risk and team risk separately?
  • Is there a smallest valuable version, or does the plan require a risky all-at-once migration?

Bad RFC smells

  • The RFC starts with a tool instead of a problem.
  • Every alternative is made to look obviously worse.
  • There is no explicit owner after approval.
  • The rollout plan says migrate gradually but does not name phases, flags or success checks.
  • The risks section contains only generic phrases like complexity, maintenance or performance.
  • The decision cannot be evaluated after shipping because no metrics or checkpoints were defined.

Use this resource inside a path.

The free tools are designed to plug into the larger Salari career system.