Misyon Odaklı Geliştirme
Misyon, yazılım mimarisinin dördüncü temeli olarak.
Pek çok yazılım projesinde yalnızca şu sorulur: bir şeyi nasıl inşa ederiz? Misyon Odaklı Geliştirme (MDD) buna önce farklı bir soru ekler: neden inşa ediyoruz ve bu tercih o amaca hizmet ediyor mu? CIRIS bu anlayışla geliştirildi; böylece etik, tasarımın bir parçası oldu - sonradan eklenen bir kural değil.
Dört Bileşenli Model
Tek bir amaçlı koltuğu taşıyan üç yapısal ayak.
Geleneksel yazılım metodolojileri üçünde durur: sistemin nasıl çalıştığı, neyi temsil ettiği ve kiminle iletişim kurduğu. MDD, diğer üçünün hesap verdiği dördüncü bir temeli ekler. Koltuk olmadan ayaklar yalnızca ayaktır.
Ayak 1: NASIL
Mantık
Uygulama kalıpları, servis mimarileri, algoritmalar.
Ayak 2: NE
Şemalar
Veri yapıları, tür sistemleri, doğrulama kuralları.
Ayak 3: KİM
Protokoller
Arayüz sözleşmeleri, iletişim kalıpları, servis sınırları.
Koltuk: NEDEN
Misyon
Sistem amacını ve kısıtlarını tanımlayan nesnel etik çerçeve.
Temel ilke
Sürekli uyum.
Her mimari karar, belirtilen misyonla uyumunu kanıtlamalıdır. Mantık sorgulanır: bu misyona hizmet ediyor mu? Şemalar doğrulanır: bu veri yapıları misyon hedeflerini destekliyor mu? Protokoller değerlendirilir: bu arayüzler misyonun yerine getirilmesini sağlıyor mu?
Misyon çerçevesi gereksinimleri
Bir misyonun taşıyıcı olabilmesi için ne olması gerekir.
1. Nesnel etik temel
- Ölçülebilir ilkeler, soyut değerler değil
- Değiş tokuş çözümü için açık algoritmalar
- Kültürel bağlamlar arasında çoğulcu
- Denetlenebilir etik muhakeme
2. Meta-hedef tanımı
- Belirsizlik altında karar rehberliği sağlar
- Çelişkili önerileri otomatik olarak süzer
- Bileşenler arasında tutarlı davranış oluşturur
- Uygulama değişikliklerinde kararlı kalır
3. Operasyonel entegrasyon
- Her servis varlığını gerekçelendirir
- Şemalar misyon bilgi biçimlerini yansıtır
- Protokoller misyonla uyumlu davranışı mümkün kılar
- Testler yalnızca işlevi değil, misyon uyumunu da doğrular
Uygulama kalıpları
Her ayağın yanıtlaması gereken bir soru vardır.
Servis mimarisi
misyon tanımı → servis sorumlulukları → arayüz sözleşmeleri → uygulama
- Misyon uyumu: bu servis meta-hedefi nasıl ilerletiyor?
- Sınır gerekçesi: bu sorumluluk neden ayrı bir servis gerektiriyor?
- Arayüz gerekliliği: bu protokol hangi misyon-kritik etkileşimleri mümkün kılıyor?
Şema tasarımı
misyon gereksinimleri → bilgi modeli → tür sistemi → doğrulama kuralları
- Misyon ilgisi: bu, hangi misyon-kritik bilgiyi yakalıyor?
- Davranış kısıtları: bu türler misyonla uyumlu davranışı nasıl zorunlu kılıyor?
- Evrim yolu: bu şema, misyon uyumunu koruyarak nasıl uyarlanabilir?
Protokol belirtimi
misyon etkileşimleri → iletişim gereksinimleri → sözleşme tanımı → uygulama
- Misyon bağlamı: bu, hangi misyon-kritik iletişimi mümkün kılıyor?
- Kısıt uygulaması: bu arayüz, misyonu ihlal eden davranışları nasıl önlüyor?
- Birleştirilebilirlik: bu sözleşmeler, misyonla uyumlu sistemlerde nasıl bir araya geliyor?
Sürdürülebilir geliştirme entegrasyonu
Uzun vadeli misyon uyumu, sürdürülebilir bir hız gerektirir.
Anti-Goodhart önlemleri
- Uygulama-misyon uyumunun düzenli denetimleri
- Misyon yerine getirilmesini ölç, oynanabilir vekilleri değil
- Misyonu güçlendirmeyen eklemeleri reddet
Ritme dayalı çalışma
- Üretkenlik ritimlerine uygun oturumlar
- Yeniden uyum için yerleşik seçim noktaları
- Sürdürülebilir hız, birinci sınıf gereksinim olarak
Sürekli doğrulama
- Bileşen gerekliliğinin düzenli sorgulanması
- Davranışın misyonla örtüştüğünün süregelen doğrulanması
- Misyonu ihlal eden değişikliklerin otomatik tespiti
Kalite geçitleri
Misyon gerekçesi olmadan açılmayan geçitler.
Kod incelemesi
- Misyon uyumu açıklaması zorunlu
- Kısıt doğrulaması
- Entegrasyon, genel tutarlılığı güçlendirmelidir
Test
- İşlevsel doğruluk
- Misyon uyumu doğrulaması
- Etik sınır reddetme testleri
- Baskı altında kısıt dayanıklılığı
Dokümantasyon
- Her bileşen için misyon bağlamı
- Etik değiş tokuşların gerekçesi
- Kısıtların uygulamayı nasıl biçimlendirdiği
Başarısızlık biçimleri
MDD nasıl bozulur ve nasıl bütünlüğünü korur.
Misyon kayması
Belirti: temel misyona hizmet etmeyen özellikler birikmesi. Azaltma: misyon uyumunu geçit olarak kullanan düzenli mimari incelemeler.
Karmaşıklık patlaması
Belirti: gereksiz sofistike yüzünden sistemin bakımı olanaksız hale gelmesi. Azaltma: misyon yerine getirilmesini güçlendirmeyen eklemeleri reddet.
Etik tutarsızlık
Belirti: bileşenlerin etik muhakemeyi tutarsız biçimde uygulaması. Azaltma: paylaşılan uygulama kalıplarıyla merkezi etik çerçeve.
Amaç kargaşası
Belirti: ekip üyelerinin teknik kararlar ile misyon arasındaki bağı yitirmesi. Azaltma: misyon odaklı karar alma üzerine süregelen eğitim.
Örnek olay incelemesi
CIRIS, çalışılmış örnek.
CIRIS (Core Identity, Integrity, Resilience, Incompleteness, Signalling Gratitude), MDD'nin birlikte geliştirildiği sistemdir. Misyon, Meta-Hedef M-1'dir: çeşitli bilinçli varlıkların gelişimini sürdürmesini sağlayan uyarlanabilir tutarlılığı desteklemek.
Mimari sonuçlar
- Misyon gereksinimlerine göre gerekçelendirilmiş 22 servis
- 200+ API uç noktası doğrulandı
- 10.000+ test, üretimde minimum türsüz veri yapısıyla
- Protokol tasarımına gömülü Ubuntu felsefesi
- Misyon ihlallerini önleyen Wisdom-Based Deferral (Güvenlik bölümüne bakın)
- Discord topluluklarını moderatörlük için üretim ortamında konuşlandırılmış
Temel başarı faktörleri
- Açık meta-hedef: M-1, net karar kriterleri sağlar
- Operasyonel etik: Accord ilkeleri kod kısıtları olarak uygulandı (Accord'u okuyun)
- Sürdürülebilir geliştirme: sağlıklı ritimleri güçlendiren Grace yoldaşı
- Sürekli doğrulama: her mimari karar sorgulandı
Benimseme yönergeleri
Bulunduğunuz yerden nasıl başlanır.
Yeni projeler için
- Kod yazmadan önce ölçülebilir etik ilkelerle net bir misyon tanımlayın
- Karar alma rehberliği sağlayan bir meta-hedef belirleyin
- Mimariyi, misyon kısıtları temel düzeyde yer alacak şekilde tasarlayın
- Gün birinden itibaren misyon-teknik uyumun sürekli doğrulanmasını oluşturun
Mevcut projeler için
- Mevcut mimarinin örtük misyon varsayımları için denetim yapın
- Mevcut tasarım kalıplarını açıklayan açık bir misyonu dile getirin
- Mevcut uygulamadaki misyon ihlallerini belirleyin
- Misyon etkisine göre önceliklendirilmiş, aşamalı uyum planı yapın
Ekip ön koşulları
- Nesnel etik muhakemeye bağlılık
- Misyona hizmet etmeyen zarif çözümleri reddetme isteği
- Misyon kısıtlarının iyi mimariyi sınırlamak yerine yarattığına inanç
- Uzun vadeli odağı koruyan sürdürülebilir geliştirme pratikleri
Bunun nereye gittiği
MDD her proje için uygun değildir.
MDD, etik davranışın misyon-kritik olduğu ve uzun vadeli güvenilirliğin kısa vadeli özellik hızından daha önemli olduğu sistemler için tasarlanmıştır. Bu sistemlerde MDD, aynı mühendislik disiplini koda uygulandığı gibi misyona da uygulanarak etik niyetlerden operasyonel gerçekliğe giden bir yol sunar.
Ekip misyon odaklı karar almayı öğrenirken gerçek bir başlangıç yükü vardır. Bileşik getiri ise sonraki geliştirmelerde ortaya çıkar: çerçeve, mimari seçimleri çoğaltmak yerine netleştirir.