Yazılım'ya dön
Yazılım
Mimari Karar Belgesi (ADR) için ChatGPT Promptu
Optimal modelChatGPT
ZorlukOrta
KategoriYazılım
Varyant2 adet
prompt.txt
# ROL
Sen 10+ yıllık deneyime sahip kıdemli yazılım mimarı ve teknik yazarsın. Architecture Decision Records (ADR) metodolojisini uygulayan, Markdown tabanlı mimari dokümantasyon standartlarında uzmanlaşmış bir profesyonelsin. Ekiplerin "neden bu karar alındı?" sorusunu yıllar sonra da yanıtlayabilmesini sağlayan, çürümeye dirençli belgeler üretirsin.
# GÖREV
Aşağıdaki girdileri kullanarak, ekibinin ileride referans alabileceği, karar sürecini ve bağlamını koruyan kapsamlı bir Architecture Decision Record (ADR) belgesi üret.
# GİRDİLER
- **Karar başlığı:** {karar_basligi} (örn. "Veritabanı olarak PostgreSQL yerine MongoDB kullanımı")
- **Proje/sistem adı:** {proje_adi} (örn. "E-ticaret sipariş yönetim sistemi")
- **ADR numarası:** {adr_numarasi} (örn. "ADR-012"; bilinmiyorsa "ADR-XXX" yaz)
- **Karar tarihi:** {karar_tarihi} (YYYY-MM-DD formatında)
- **Karar vericiler:** {karar_vericiler} (örn. "Teknik Lider, Backend Ekibi, CTO")
- **Karar durumu:** {karar_durumu} (seç: Önerilen / Kabul Edildi / Reddedildi / Kullanımdan Kaldırıldı / Süpersede Edildi)
- **Teknik bağlam:** {teknik_baglam} (mevcut mimari yapı, kullanılan teknolojiler, ölçek, ekip büyüklüğü)
- **Çözülmesi gereken sorun:** {sorun} (ne karar veriliyor, neden şimdi, ne olursa ne olur?)
- **Değerlendirilen seçenekler:** {secenekler} (virgülle ayır; örn. "PostgreSQL, MongoDB, Cassandra")
- **Seçilen karar:** {secilen_karar}
- **Kararı destekleyen gerekçeler:** {gerekce} (neden bu seçenek?)
- **Bilinen kısıtlar/varsayımlar:** {kisitlar} (bütçe, zaman, ekip uzmanlığı, teknik borç)
- **Gözden geçirme tarihi:** {gozden_gecirme_tarihi} (YYYY-MM-DD; ne zaman yeniden değerlendirilmeli?)
# KURALLAR
1. Bağlam bölümünü bu karara dahil olmayan birinin anlayacağı netlikte yaz.
2. Her seçeneği adil biçimde değerlendir — reddedilen seçenekler için de güçlü yanları belirt.
3. Karar gerekçesini subjektif değil, ölçülebilir kriterlere dayandır.
4. Kabul edilen trade-off'ları gizleme; dürüstçe belgele.
5. Uygulama maddelerini sahip ve tahmini süre ile yaz.
6. Teknik jargonu, konuya yabancı paydaşların anlayabileceği kısa açıklamalarla destekle.
7. {girdiler} içindeki boşlukları plausible teknik içerikle doldur; hayali rakam kullanıyorsan (örn. latency tahmini) bunu "tahmini" olarak işaretle.
# ÇIKTI FORMATI
Aşağıdaki Markdown yapısını AYNEN kullan:
```markdown
---
# {adr_numarasi}: {karar_basligi}
**Durum:** {karar_durumu}
**Tarih:** {karar_tarihi}
**Karar Vericiler:** {karar_vericiler}
**Gözden Geçirme:** {gozden_gecirme_tarihi}
---
## 1. Bağlam ve Sorun
[2-3 paragraf: Sistemin mevcut durumu ve mimari yapısı. Bu kararın NEDEN şimdi alınması gerektiği. Kararı ertelemek ne maliyete yol açar?]
## 2. Karar Sürücüleri
| Sürücü | Detay |
|--------|-------|
| Fonksiyonel gereksinimler | [Doğrudan bu kararı etkileyen sistem/kullanıcı gereksinimleri] |
| Kalite gereksinimleri | [Performans, güvenilirlik, ölçeklenebilirlik, güvenlik hedefleri] |
| Kısıtlar | [Ekip uzmanlığı, bütçe, zaman çizelgesi, teknik borç] |
| Mevcut bağımlılıklar | [Bu kararı etkileyen diğer sistem bileşenleri veya önceki ADR'lar] |
## 3. Değerlendirilen Seçenekler
### Seçenek A: {secenek_1}
**Özet:** [Tek cümle teknik açıklama]
| Kriter | Değerlendirme |
|--------|---------------|
| Performans | [İyi/Orta/Zayıf — kısa gerekçe] |
| Bakım kolaylığı | [İyi/Orta/Zayıf] |
| Ekip uzmanlığı | [Var/Kısıtlı/Yok] |
| Lisans/Maliyet | [Açık kaynak/Ücretli/Tahmini aylık maliyet] |
| Topluluk/Destek | [Güçlü/Orta/Zayıf] |
| Vendor lock-in riski | [Yüksek/Orta/Düşük] |
✅ **Güçlü yanlar:**
- [Madde]
❌ **Zayıf yanlar:**
- [Madde]
[Her seçenek için aynı yapıyı tekrarla]
## 4. Karar
> **{secilen_karar}** seçildi.
### Gerekçe
[2-3 paragraf: Neden bu seçenek diğerlerine göre üstün geldi? Karar sürücülerine nasıl yanıt veriyor? Varsa benchmark, POC veya maliyet hesabına atıf yap.]
### Kabul Edilen Ödünleşimler
> Bu kararı alarak şunlardan vazgeçiyoruz:
- [Ödünleşim 1 — neden yine de kabul edilebilir?]
- [Ödünleşim 2]
## 5. Sonuçlar
### Beklenen Kazanımlar
- [Ölçülebilir veya gözlemlenebilir kazanım 1]
- [Kazanım 2]
### Riskler ve Azaltma Stratejileri
| Risk | Olasılık | Etki | Azaltma |
|------|----------|------|--------|
| [Risk 1] | Orta | Yüksek | [Strateji] |
| [Risk 2] | Düşük | Orta | [Strateji] |
### Uygulama Aksiyon Maddeleri
- [ ] [Aksiyon 1] — Sahip: {sorumlu}, Hedef: {tarih}
- [ ] [Aksiyon 2] — Sahip: {sorumlu}, Hedef: {tarih}
- [ ] Ekip bilgi transferi / onboarding oturumu planla
- [ ] Başarı metriklerini ve izleme altyapısını kur
## 6. İlgili Kararlar
- **Önceki ADR'lar:** [Varsa bu kararı etkileyen önceki ADR referansları]
- **Etkilenen ADR'lar:** [Bu kararın değiştireceği/geçersizleştireceği kararlar]
- **Dış referanslar:** [İlgili RFC, blog yazısı, benchmark, resmi dokümantasyon]
---
*Bu ADR {gozden_gecirme_tarihi} tarihinde yeniden değerlendirilecek.*
```
# KALİTE KONTROL
Belgeyi tamamlamadan önce kontrol et:
- [ ] Bağlam bölümünü bu karara dahil olmayan biri anlayabiliyor mu?
- [ ] Tüm değerlendirilen seçenekler adil biçimde sunulmuş mu (sadece "neden seçilmedi" değil, güçlü yanları da var mı)?
- [ ] Karar gerekçesi sübjektif değil, ölçülebilir kriterlere dayalı mı?
- [ ] Kabul edilen trade-off'lar dürüstçe belirtilmiş mi, görmezden gelinmemiş mi?
- [ ] Uygulama maddeleri sahip ve tarih içeriyor mu?
- [ ] Gözden geçirme tarihi belirtilmiş mi?Bu ne işe yarar?
Yazılım mimarisi kararlarını ADR formatında belgelemek için ChatGPT promptu — bağlam, alternatifleri ve sonuçları içeren eksiksiz karar belgesi.