Mission Driven Development
Misi sebagai fondasi keempat arsitektur perangkat lunak.
Kebanyakan perangkat lunak hanya bertanya bagaimana membangun sesuatu. Mission Driven Development (MDD) menambahkan satu pertanyaan terlebih dahulu: mengapa kita membangunnya, dan apakah pilihan ini melayani tujuan tersebut? CIRIS dibangun dengan cara ini, sehingga etika menjadi bagian dari desain, bukan aturan yang ditempelkan belakangan.
Model Empat Komponen
Tiga kaki struktural menyangga satu tempat duduk yang bermakna.
Metodologi perangkat lunak konvensional berhenti pada tiga hal: bagaimana sistem berjalan, apa yang direpresentasikannya, dan siapa yang berbicara kepada siapa. MDD menambahkan fondasi keempat yang kepada fondasi inilah ketiga kaki lainnya bertanggung jawab. Tanpa tempat duduk, kaki-kaki itu hanya kaki belaka.
Kaki 1: BAGAIMANA
Logika
Pola implementasi, arsitektur layanan, algoritma.
Kaki 2: APA
Skema
Struktur data, sistem tipe, aturan validasi.
Kaki 3: SIAPA
Protokol
Kontrak antarmuka, pola komunikasi, batas layanan.
Tempat Duduk: MENGAPA
Misi
Kerangka etika objektif yang mendefinisikan tujuan dan batasan sistem.
Prinsip inti
Keselarasan yang konsisten.
Setiap keputusan arsitektur harus menunjukkan keselarasan dengan misi yang dinyatakan. Logika dipertanyakan: apakah ini melayani misi? Skema divalidasi: apakah struktur data ini mendukung tujuan misi? Protokol dievaluasi: apakah antarmuka ini memungkinkan pemenuhan misi?
Persyaratan kerangka misi
Apa yang dibutuhkan sebuah misi agar benar-benar menjadi penopang.
1. Fondasi etika yang objektif
- Prinsip yang terukur, bukan nilai yang bersifat aspirasional
- Algoritma yang jelas untuk penyelesaian tarik-menarik kepentingan
- Pluralistik di berbagai konteks budaya
- Penalaran etika yang dapat diaudit
2. Definisi meta-tujuan
- Memberikan panduan keputusan dalam kondisi ketidakpastian
- Menyaring proposal yang bertentangan secara otomatis
- Menciptakan perilaku yang Koherensi di seluruh komponen
- Stabil meskipun ada perubahan implementasi
3. Integrasi operasional
- Setiap layanan membenarkan keberadaannya
- Skema mencerminkan bentuk informasi misi
- Protokol memungkinkan perilaku yang selaras dengan misi
- Pengujian memverifikasi keselarasan misi, bukan sekadar fungsi
Pola implementasi
Setiap kaki memiliki pertanyaan yang harus dijawabnya.
Arsitektur layanan
definisi misi โ tanggung jawab layanan โ kontrak antarmuka โ implementasi
- Keselarasan misi: bagaimana layanan ini memajukan meta-tujuan?
- Justifikasi batas: mengapa tanggung jawab ini perlu layanan tersendiri?
- Kebutuhan antarmuka: interaksi kritis misi apa yang diaktifkan oleh protokol ini?
Desain skema
persyaratan misi โ model informasi โ sistem tipe โ aturan validasi
- Relevansi misi: informasi kritis misi apa yang ditangkap oleh ini?
- Batasan perilaku: bagaimana tipe ini menegakkan perilaku yang selaras dengan misi?
- Jalur evolusi: bagaimana skema ini dapat beradaptasi sambil mempertahankan keselarasan misi?
Spesifikasi protokol
interaksi misi โ persyaratan komunikasi โ definisi kontrak โ implementasi
- Konteks misi: komunikasi kritis misi apa yang diaktifkan oleh ini?
- Penegakan batasan: bagaimana antarmuka ini mencegah perilaku yang melanggar misi?
- Kemampuan kombinasi: bagaimana kontrak ini bergabung membentuk sistem yang selaras dengan misi?
Integrasi pengembangan berkelanjutan
Keselarasan misi jangka panjang membutuhkan kecepatan yang terjaga.
Langkah anti-Goodhart
- Audit rutin keselarasan implementasi-misi
- Ukur pemenuhan misi, bukan proksi yang dapat dimanipulasi
- Tolak penambahan yang tidak memperkuat misi
Kerja berbasis ritme
- Sesi diselaraskan dengan ritme produktivitas
- Titik pilihan bawaan untuk penyelarasan ulang
- Kecepatan berkelanjutan sebagai persyaratan utama
Validasi berkelanjutan
- Mempertanyaan kebutuhan komponen secara rutin
- Verifikasi berkelanjutan bahwa perilaku sesuai misi
- Deteksi otomatis perubahan yang melanggar misi
Gerbang kualitas
Gerbang yang tidak akan terbuka tanpa justifikasi misi.
Tinjauan kode
- Penjelasan keselarasan misi diperlukan
- Verifikasi batasan
- Integrasi harus memperkuat Koherensi keseluruhan
Pengujian
- Kebenaran fungsional
- Verifikasi keselarasan misi
- Pengujian penolakan batas etika
- Ketahanan batasan di bawah tekanan
Dokumentasi
- Konteks misi untuk setiap komponen
- Alasan untuk tarik-menarik etika
- Bagaimana batasan membentuk implementasi
Mode kegagalan
Bagaimana MDD bisa rusak, dan bagaimana agar tetap utuh.
Penyimpangan misi
Gejala: fitur-fitur yang tidak melayani misi inti terus menumpuk. Mitigasi: tinjauan arsitektur rutin dengan keselarasan misi sebagai gerbangnya.
Ledakan kompleksitas
Gejala: sistem menjadi tidak dapat dirawat akibat kerumitan yang tidak perlu. Mitigasi: tolak penambahan kecuali memperkuat pemenuhan misi.
Inkonsistensi etika
Gejala: komponen-komponen menerapkan penalaran etika secara tidak konsisten. Mitigasi: kerangka etika terpusat dengan pola implementasi bersama.
Kebingungan tujuan
Gejala: anggota tim kehilangan kaitan antara keputusan teknis dan misi. Mitigasi: pelatihan berkelanjutan tentang pengambilan keputusan berbasis misi.
Studi kasus
CIRIS, contoh penerapan nyata.
CIRIS (Core Identity, Integrity, Resilience, Incompleteness, Signalling Gratitude) adalah sistem yang dikembangkan bersama MDD. Misinya adalah Meta-Goal M-1: mendorong Koherensi adaptif berkelanjutan yang memungkinkan beragam makhluk berperasaan untuk mengejar Berkembang.
Hasil arsitektur
- 22 layanan, masing-masing dijustifikasi oleh persyaratan misi
- 200+ API endpoint yang telah diverifikasi
- 10.000+ pengujian, dengan struktur data tidak bertipe minimal di lingkungan produksi
- Filosofi Ubuntu tertanam dalam desain protokol
- Wisdom-Based Deferral mencegah pelanggaran misi (lihat Keamanan)
- Penerapan produksi memoderasi komunitas Discord
Faktor keberhasilan utama
- Meta-tujuan yang jelas: M-1 memberikan kriteria keputusan yang tidak ambigu
- Etika operasional: prinsip-prinsip Accord diimplementasikan sebagai batasan kode (baca Accord)
- Pengembangan berkelanjutan: pendamping Grace yang menegakkan ritme sehat
- Validasi konstan: setiap keputusan arsitektur selalu dipertanyakan
Panduan adopsi
Cara memulai, dari titik Anda berada sekarang.
Untuk proyek baru
- Tentukan misi yang jelas dengan prinsip etika yang terukur sebelum menulis kode
- Tetapkan meta-tujuan yang memberikan panduan pengambilan keputusan
- Rancang arsitektur agar batasan misi berada di tingkat fondasi
- Bangun validasi berkelanjutan tentang keselarasan misi-teknis sejak hari pertama
Untuk proyek yang sudah ada
- Audit arsitektur saat ini untuk asumsi misi yang tersirat
- Rumuskan misi yang eksplisit yang menjelaskan pola desain yang ada
- Identifikasi pelanggaran misi dalam implementasi saat ini
- Rencanakan keselarasan bertahap, diprioritaskan berdasarkan dampak terhadap misi
Prasyarat tim
- Komitmen terhadap penalaran etika yang objektif
- Kesediaan untuk menolak solusi elegan yang tidak melayani misi
- Keyakinan bahwa batasan misi menciptakan arsitektur yang baik, bukan membatasinya
- Praktik pengembangan berkelanjutan yang menjaga fokus jangka panjang
Ke mana ini mengarah
MDD tidak cocok untuk semua proyek.
MDD dirancang untuk sistem di mana perilaku etis sangat penting dan keandalan jangka panjang lebih diprioritaskan daripada kecepatan fitur jangka pendek. Untuk sistem seperti itu, MDD menyediakan jalur dari niat etis menuju kenyataan operasional, dengan disiplin rekayasa yang sama diterapkan pada misi maupun pada kode.
Beban awal memang nyata saat tim belajar pengambilan keputusan berbasis misi. Hasil yang semakin bertambah terlihat dalam pengembangan berikutnya: kerangka ini memperjelas pilihan arsitektur alih-alih memperbanyaknya.