Production Readiness Checklist: bir SaaS'ı yayına almadan önce son kontrol
Bu yazı anlatıdan çok araç. Bir release öncesi hızlıca işaretlenebilecek production gate olarak tasarlandı. Her madde her projeye uygulanmayabilir; ama kritik bir madde 'bilmiyorum' cevabı veriyorsa release'i durdurmak çoğu zaman daha ucuzdur.
01 — Source & build
- [ ] Production commit belli
- [ ] Working tree temiz
- [ ] Typecheck geçti
- [ ] Lint kritik hata vermiyor
- [ ] Production build geçti
- [ ] Kullanılmayan kritik dependency yok
02 — Environment & secrets
- [ ] Production env değerleri doğrulandı
- [ ] Server secret client bundle'da değil
- [ ] Preview ve production ayrık
- [ ] API domain/redirect allowlist doğru
- [ ] Secret rotation yolu biliniyor
03 — Auth & authorization
- [ ] Login
- [ ] Refresh sonrası session
- [ ] Expired token
- [ ] Offline açılış
- [ ] Explicit logout
- [ ] Protected route
- [ ] RLS/server authorization
- [ ] Admin sınırı
04 — Data
- [ ] Migration review edildi
- [ ] Backup/recovery yaklaşımı biliniyor
- [ ] Unique ve FK constraint'ler var
- [ ] Kritik mutation idempotent
- [ ] Delete semantics belirli
- [ ] Timezone/timestamp semantiği belirli
05 — Network & performance
- [ ] Duplicate fetch kontrol edildi
- [ ] Polling gerekçeli
- [ ] Cache/stale policy var
- [ ] Timeout var
- [ ] Retry sınırlı
- [ ] Büyük asset'ler optimize
- [ ] Lazy import production'da doğrulandı
06 — UX failure states
- [ ] Initial loading
- [ ] Background refresh
- [ ] Empty state
- [ ] Partial data
- [ ] Error + retry
- [ ] Offline/poor network
- [ ] Destructive action confirmation
07 — Mobile
- [ ] Safe area
- [ ] Keyboard + modal
- [ ] Touch target
- [ ] Horizontal overflow
- [ ] Sticky controls
- [ ] Real device smoke test
08 — Public web surface
- [ ] Title/description
- [ ] Canonical
- [ ] OG image
- [ ] Favicon
- [ ] 404
- [ ] robots.txt
- [ ] sitemap.xml
- [ ] Public links broken değil
09 — Observability
- [ ] Production error görülebiliyor
- [ ] Release version/commit izlenebiliyor
- [ ] Kritik API failure görünür
- [ ] Temel ürün metriği izlenebilir
- [ ] Alert gerekiyorsa tanımlı
10 — Release & rollback
- [ ] Deploy adımı belli
- [ ] Migration sırası belli
- [ ] Cache purge gereksinimi belli
- [ ] Service worker etkisi kontrol edildi
- [ ] Önceki sürüme dönüş mümkün
- [ ] Production smoke test planı hazır
Release gate
const releaseDecision = criticalUnknowns.length === 0 ? 'SHIP' : 'STOP_AND_RESOLVE';Checklist'in amacı her şeyi bürokrasiye çevirmek değil. Özellikle AI ile hızlı geliştirilen projelerde görünmeyen riski release anından önce görünür hale getirmek.
Prototipten Production'a
Çalışan bir MVP'yi güvenilir ürüne dönüştürmek: production kontrolü, modüler refactor, veri migration'ı, audit, rewrite kararı ve release gate'leri.