Mission Driven Development
Mission हा सॉफ्टवेअर आर्किटेक्चरचा चौथा पाया.
बहुतेक सॉफ्टवेअर विचारते, एखादी गोष्ट कशी बनवायची. Mission Driven Development (MDD) आधी एक प्रश्न जोडते: आपण ते का बनवत आहोत, आणि हा निर्णय त्या उद्देशाची सेवा करतो का? CIRIS या पद्धतीने बनवले आहे, त्यामुळे नैतिकता नंतर जोडलेल्या नियमाऐवजी डिझाइनचाच भाग आहे.
चार-घटक मॉडेल
एका उद्देशपूर्ण आसनाला आधार देणारे तीन रचनात्मक पाय.
पारंपरिक सॉफ्टवेअर पद्धती तीनवर थांबतात: सिस्टम कशी चालते, ती काय दर्शवते, आणि कोण कोणाशी बोलते. MDD एक चौथा पाया जोडतो ज्याला इतर तिघे उत्तरदायी असतात. आसनाशिवाय, पाय फक्त पायच असतात.
पाय १: HOW
Logic
अंमलबजावणी नमुने, सेवा आर्किटेक्चर, अल्गोरिदम.
पाय २: WHAT
Schemas
डेटा संरचना, प्रकार प्रणाली, सत्यापन नियम.
पाय ३: WHO
Protocols
इंटरफेस करार, संवाद नमुने, सेवा सीमा.
आसन: WHY
Mission
सिस्टमचा उद्देश आणि मर्यादा परिभाषित करणारी वस्तुनिष्ठ नैतिक चौकट.
मूळ तत्त्व
सतत जुळवाजुळव.
प्रत्येक आर्किटेक्चरल निर्णयाने stated mission शी जुळवाजुळव दाखवणे आवश्यक आहे. Logic ला प्रश्न विचारला जातो: हे mission ची सेवा करते का? Schemas ची पडताळणी होते: या डेटा संरचना mission उद्दिष्टांना आधार देतात का? Protocols चे मूल्यांकन होते: हे interfaces mission पूर्ततेला सक्षम करतात का?
Mission चौकट आवश्यकता
एखाद्या mission ला भार-सहन करण्यासाठी काय असणे आवश्यक आहे.
१. वस्तुनिष्ठ नैतिक पाया
- आकांक्षी मूल्यांऐवजी मोजता येणारी तत्त्वे
- तडजोड सोडवण्यासाठी स्पष्ट अल्गोरिदम
- सांस्कृतिक संदर्भांमध्ये बहुलवादी
- लेखापरीक्षणयोग्य नैतिक तर्क
२. Meta-goal व्याख्या
- अनिश्चिततेत निर्णय मार्गदर्शन पुरवते
- विरोधाभासी प्रस्ताव आपोआप फिल्टर करते
- घटकांमध्ये सुसंगत वर्तन निर्माण करते
- अंमलबजावणी बदलांमध्ये स्थिर
३. परिचालन एकीकरण
- प्रत्येक सेवा आपले अस्तित्व न्याय्य ठरवते
- Schemas mission माहिती आकार प्रतिबिंबित करतात
- Protocols mission-aligned वर्तन सक्षम करतात
- चाचण्या फक्त कार्यच नाही तर mission जुळवाजुळवही सत्यापित करतात
अंमलबजावणी नमुने
प्रत्येक पायाला एक प्रश्नाचे उत्तर द्यायचे आहे.
सेवा आर्किटेक्चर
mission व्याख्या → सेवा जबाबदाऱ्या → interface करार → अंमलबजावणी
- Mission जुळवाजुळव: ही सेवा meta-goal कसे पुढे नेते?
- सीमा न्याय्यीकरण: या जबाबदारीला स्वतंत्र सेवेची का गरज आहे?
- Interface आवश्यकता: हा protocol कोणते mission-critical संवाद सक्षम करतो?
Schema डिझाइन
mission आवश्यकता → माहिती मॉडेल → प्रकार प्रणाली → सत्यापन नियम
- Mission प्रासंगिकता: हे कोणती mission-critical माहिती कॅप्चर करते?
- वर्तनात्मक मर्यादा: हे types mission-aligned वर्तन कसे लागू करतात?
- उत्क्रांती मार्ग: हे schema mission जुळवाजुळव जपत कसे बदलू शकते?
Protocol तपशील
mission संवाद → संपर्क आवश्यकता → करार व्याख्या → अंमलबजावणी
- Mission संदर्भ: हे कोणते mission-critical संपर्क सक्षम करते?
- मर्यादा लागू करणे: हे interface mission-विरोधी वर्तन कसे रोखते?
- संयोजनक्षमता: हे करार mission-aligned प्रणालींमध्ये कसे एकत्र येतात?
शाश्वत विकास एकीकरण
दीर्घकालीन mission जुळवाजुळवसाठी टिकाऊ वेग आवश्यक आहे.
Anti-Goodhart उपाय
- अंमलबजावणी-mission जुळवाजुळवाचे नियमित लेखापरीक्षण
- खेळता येणाऱ्या प्रॉक्सींऐवजी mission पूर्तता मोजा
- mission मजबूत न करणाऱ्या जोडण्या नाकारा
लय-आधारित काम
- उत्पादकता लयींशी जुळलेले सत्र
- पुन्हा-जुळवाजुळवसाठी अंगभूत निवडबिंदू
- प्रथम श्रेणीची आवश्यकता म्हणून शाश्वत गती
सतत सत्यापन
- घटकाच्या आवश्यकतेवर नियमित प्रश्नचिन्ह
- वर्तन mission शी जुळते याची चालू सत्यापना
- mission-विरोधी बदलांची स्वयंचलित शोध
गुणवत्ता द्वारे
mission न्याय्यीकरणाशिवाय न उघडणारे द्वारे.
कोड पुनरावलोकन
- Mission-जुळवाजुळव स्पष्टीकरण आवश्यक
- मर्यादा सत्यापन
- एकीकरणाने एकूण सुसंगतता मजबूत करणे आवश्यक
चाचणी
- कार्यात्मक अचूकता
- Mission-जुळवाजुळव सत्यापन
- नैतिक-सीमा नकार चाचण्या
- ताणाखाली मर्यादा लवचिकता
दस्तऐवजीकरण
- प्रत्येक घटकासाठी mission संदर्भ
- नैतिक तडजोडींसाठी तर्क
- मर्यादा अंमलबजावणी कसे घडवतात
अपयशाचे प्रकार
MDD कसे मोडते, आणि ते कसे अखंड राहते.
Mission विचलन
लक्षण: असे features जमा होतात जे मूळ mission ची सेवा करत नाहीत. उपाय: mission-जुळवाजुळव द्वार म्हणून नियमित आर्किटेक्चरल आढावे.
जटिलता विस्फोट
लक्षण: अनावश्यक गुंतागुंतीमुळे सिस्टम देखभालयोग्य राहत नाही. उपाय: mission पूर्तता मजबूत न करणाऱ्या जोडण्या नाकारा.
नैतिक असंगतता
लक्षण: घटक नैतिक तर्क असंगतपणे लागू करतात. उपाय: सामायिक अंमलबजावणी नमुन्यांसह केंद्रीकृत नैतिक चौकट.
उद्देश गोंधळ
लक्षण: टीमचे सदस्य तांत्रिक निर्णय आणि mission यांच्यातील दुवा गमावतात. उपाय: mission-driven निर्णय घेण्यावर सतत प्रशिक्षण.
केस अभ्यास
CIRIS, काम केलेले उदाहरण.
CIRIS (Core Identity, Integrity, Resilience, Incompleteness, Signalling Gratitude) ही सिस्टम आहे ज्याच्या सोबत MDD विकसित केले गेले. Mission आहे Meta-Goal M-1: विविध संवेदनशील प्राण्यांना समृद्धीचा पाठपुरावा करता येईल असे शाश्वत अनुकूली सुसंगतता प्रोत्साहित करणे.
आर्किटेक्चर परिणाम
- 22 सेवा, प्रत्येक mission आवश्यकतांनी न्याय्य
- 200+ API endpoints सत्यापित
- 10,000+ चाचण्या, उत्पादनात किमान untyped डेटा संरचनांसह
- Ubuntu तत्त्वज्ञान protocol डिझाइनमध्ये समाविष्ट
- Wisdom-Based Deferral mission उल्लंघने रोखत आहे (Safety पहा)
- Discord समुदाय नियंत्रित करणारे उत्पादन तैनाती
मुख्य यश घटक
- स्पष्ट meta-goal: M-1 अस्पष्ट निर्णय निकष पुरवतो
- परिचालन नैतिकता: Accord तत्त्वे कोड मर्यादा म्हणून अंमलात आणलेली (Accord वाचा)
- शाश्वत विकास: निरोगी लय लागू करणारी Grace सहकारी
- सतत सत्यापन: प्रत्येक आर्किटेक्चरल निर्णयाला आव्हान
स्वीकारण्याच्या मार्गदर्शक सूचना
तुम्ही जिथे आहात तिथून कसे सुरू करावे.
नव्या प्रकल्पांसाठी
- कोड लिहिण्यापूर्वी मोजता येणाऱ्या नैतिक तत्त्वांसह स्पष्ट mission परिभाषित करा
- निर्णय-मार्गदर्शन पुरवणारे meta-goal स्थापित करा
- mission मर्यादा पायाभूत स्तरावर बसतील असे आर्किटेक्चर डिझाइन करा
- पहिल्या दिवसापासून mission-तांत्रिक जुळवाजुळवाची सतत सत्यापना बांधा
विद्यमान प्रकल्पांसाठी
- अंतर्निहित mission गृहीतकांसाठी सध्याच्या आर्किटेक्चरचे लेखापरीक्षण करा
- विद्यमान डिझाइन नमुने स्पष्ट करणारी स्पष्ट mission तयार करा
- सध्याच्या अंमलबजावणीत mission उल्लंघने ओळखा
- mission प्रभावाने प्राधान्य देऊन हळूहळू जुळवाजुळव करण्याची योजना करा
टीम पूर्वअटी
- वस्तुनिष्ठ नैतिक तर्कासाठी वचनबद्धता
- mission ची सेवा न करणारे सुंदर उपाय नाकारण्याची तयारी
- विश्वास की mission मर्यादा चांगले आर्किटेक्चर मर्यादित करत नाहीत तर निर्माण करतात
- दीर्घकालीन लक्ष जपणाऱ्या शाश्वत विकास पद्धती
हे कुठे जाते
MDD प्रत्येक प्रकल्पासाठी योग्य नाही.
MDD अशा सिस्टम्ससाठी डिझाइन केलेले आहे जिथे नैतिक वर्तन mission-critical आहे आणि दीर्घकालीन विश्वासार्हता अल्पकालीन feature वेगापेक्षा जास्त महत्त्वाची आहे. त्या सिस्टम्ससाठी, MDD नैतिक इरादांपासून परिचालन वास्तविकतेपर्यंत एक मार्ग पुरवते, mission ला code इतकेच अभियांत्रिकी शिस्त लागू करून.
टीम mission-driven निर्णय घेणे शिकत असताना सुरुवातीचा ओव्हरहेड खरा आहे. त्यानंतरच्या विकासात चक्रवाढ परतावा मिळतो: चौकट आर्किटेक्चरल निवडी गुणाकार करण्याऐवजी स्पष्ट करते.