Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Kararları Yaşatmak: Decision Log, Architecture Review ve Advice Process
Bir decision log ancak keşfedilebilir kaldığı ve düzenli olarak gözden geçirildiği sürece işe yarar: üretilen bir index, CI'da kontrol edilen supersede zinciri, takvim ve koşul tetikleyicileri ve ayda bir 30 dakikalık review. Bookstore'un 15 ADR'lık log'unu denetleyen bir C# tool'u, advice process ve architecture advisory forum, ADR araçlarının yazım anındaki bakım durumu ve altı kişilik ekip için minimum süreç.
ADR Yazmak: Nygard Şablonu, MADR 4.0 ve Y-Statement ile Karar Kaydı
İyi bir ADR yalnız kararı değil, hangi soruya cevap verdiğini, hangi seçeneklere karşı verildiğini, kabul edilen bedeli ve ne zaman yeniden açılacağını yazar ve karar verildikten sonra değiştirilmez. Nygard'ın beş bölümlü şablonu, MADR 4.0.0'ın bölümleri ve front matter'ı, reddedilmiş bir karar kaydı, Y-statement, status yaşam döngüsü ve immutability kuralını PR'da zorlayan gerçek bir script.
Architecture Decision Nedir? Architecturally Significant Kararları Tanımak
Bir karar geri alması pahalıysa, birden fazla module'ü ya da sistem sınırını etkiliyorsa veya öncelikli bir quality attribute senaryosunu oynatıyorsa mimaridir ve kaydı hak eder. Bookstore'un ilk aylarındaki on kararı bu üç ölçütle C#'ta sınıflandırıyor; hangisinin ADR, hangisinin design doc, hangisinin PR açıklaması hak ettiğini, kararın sahibini ve kayıtsız kararların bedelini konuşuyoruz.