RFC Süreci
RFC (Request for Comments), büyük teknik kararlar için kullandığımız yapılandırılmış öneri ve geri bildirim sürecidir. Karmaşık değişiklikleri şeffaf şekilde tartışmayı ve daha iyi kararlar almayı sağlar.
Ne Zaman RFC Yazılır?
- Birden fazla takımı etkileyen değişiklikler
- Geri dönüşü zor mimari kararlar
- Yeni teknoloji veya framework adoption
- Major API değişiklikleri
- Güvenlik veya compliance etkisi olan değişiklikler
Her şey RFC gerektirmez. Küçük, geri alınabilir, tek takımı etkileyen değişiklikler için RFC overkill.
RFC Şablonu
- Başlık: Kısa ve açıklayıcı
- Yazar: RFC sahibi
- Tarih: Oluşturulma tarihi
- Durum: Draft / Open for Comments / Accepted / Rejected / Superseded
- TL;DR: 2-3 cümle özet
- Problem: Çözmek istediğimiz sorun
- Önerilen çözüm: Detaylı açıklama
- Alternatifler: Değerlendirilen diğer seçenekler ve neden seçilmedi
- Riskler: Potansiyel sorunlar ve mitigasyon
- Uygulama planı: Nasıl hayata geçirilecek
- Open questions: Yanıt bekleyen sorular
Süreç Adımları
| Adım | Süre | Açıklama |
|---|---|---|
| Draft | - | Yazar RFC taslağını oluşturur |
| Early feedback | 1-2 gün | Birkaç kişiden informal geri bildirim al |
| Open for comments | Min 5 iş günü | Tüm ilgililere açık, resmi yorum süresi |
| Revision | 1-3 gün | Geri bildirimlere göre revize et |
| Decision | 1 gün | Approve veya reject kararı (DRI tarafından) |
| Implementation | - | Kabul edilirse uygula |
Geri Bildirim Verme
- Yapıcı ol: 'Bu işe yaramaz' değil, 'Şu durumu düşündün mü?'
- Spesifik ol: Hangi kısımla ilgili, ne öneriyorsun
- Zamanında ver: Deadline'ı kaçırma
- Blocker vs nice-to-have: Önceliği belirt
Karar Alma
RFC'nin kaderi DRI (genellikle Tech Lead veya Engineering Manager) tarafından belirlenir:
- Accepted: Uygulama başlayabilir
- Rejected: Nedenler açıkça belirtilir
- Needs revision: Belirli değişiklikler sonrası tekrar değerlendirilir
- Superseded: Başka bir RFC ile değiştirildi
RFC Arşivi
Tüm RFC'ler (kabul edilen ve reddedilen) kalıcı olarak arşivlenir ve şirket içinden aranabilir kalır. Bu, geçmiş kararları anlamak ve aynı tartışmaları tekrarlamamak için değerlidir.
