أول تواصلالتثبيترافعة التماسكالاتحادقارنالبحثAccordGitHub
تُرجمت هذه الصفحة آلياً. إذا بدا أي شيء غير صحيح، يرجى فتح تقرير، المستودع عام لهذا السبب. أبلغ عن مشكلة في الترجمة
المنهجيةنشط: v1.0

التطوير القائم على المهمة

المهمة بوصفها الأساس الرابع لهندسة البرمجيات.

تسأل معظم البرمجيات: كيف نبني هذا الشيء؟ أما التطوير القائم على المهمة (MDD) فيضيف سؤالاً أولياً: لماذا نبنيه، وهل هذا الاختيار يخدم تلك الغاية؟ بُني CIRIS بهذه الطريقة، لتصبح الأخلاقيات جزءاً من التصميم لا قاعدة تُضاف لاحقاً.

النموذج ذو المكونات الأربعة

ثلاثة أرجل هيكلية تحمل مقعداً واحداً ذا غاية.

تتوقف مناهج البرمجيات التقليدية عند ثلاثة: كيف يعمل النظام، وما الذي يمثله، ومن يتحدث إلى من. تضيف MDD أساساً رابعاً تكون الثلاثة الأخرى مسؤولة أمامه. بدون المقعد، الأرجل مجرد أرجل.

الرجل الأولى: كيف

المنطق

أنماط التنفيذ، وهياكل الخدمات، والخوارزميات.

الرجل الثانية: ماذا

المخططات

هياكل البيانات، وأنظمة الأنواع، وقواعد التحقق.

الرجل الثالثة: من

البروتوكولات

عقود الواجهات، وأنماط التواصل، وحدود الخدمات.

المقعد: لماذا

المهمة

إطار أخلاقي موضوعي يحدد غاية النظام وقيوده.

المبدأ الأساسي

توافق دائم.

يجب أن تُثبت كل قرار معماري توافقه مع المهمة المُعلنة. يُتحدى المنطق: هل يخدم هذا المهمة؟ تُتحقق المخططات: هل تدعم هياكل البيانات هذه أهداف المهمة؟ تُقيَّم البروتوكولات: هل تُتيح هذه الواجهات تحقيق المهمة؟

متطلبات إطار المهمة

ما الذي تحتاجه المهمة لتكون حاملة للبنية.

1. الأساس الأخلاقي الموضوعي

  • مبادئ قابلة للقياس، لا قيم طموحية
  • خوارزميات واضحة لحل المقايضات
  • تعددية عبر السياقات الثقافية
  • استدلال أخلاقي قابل للتدقيق

2. تعريف الهدف الميتا

  • يوفر توجيهاً للقرارات في حالات عدم اليقين
  • يُصفي المقترحات المتناقضة تلقائياً
  • يخلق سلوكاً متسقاً عبر المكونات
  • مستقر عبر تغييرات التنفيذ

3. التكامل التشغيلي

  • كل خدمة تبرر وجودها
  • المخططات تعكس أشكال المعلومات المطلوبة للمهمة
  • البروتوكولات تُتيح السلوك المتوافق مع المهمة
  • الاختبارات تتحقق من توافق المهمة، لا الوظيفة فحسب

أنماط التنفيذ

لكل رجل سؤال يجب الإجابة عنه.

هندسة الخدمة

تعريف المهمة ← مسؤوليات الخدمة ← عقود الواجهات ← التنفيذ

  • توافق المهمة: كيف تُعزز هذه الخدمة الهدف الميتا؟
  • تبرير الحدود: لماذا تحتاج هذه المسؤولية إلى خدمة منفصلة؟
  • ضرورة الواجهة: ما التفاعلات الحرجة للمهمة التي يُتيحها هذا البروتوكول؟

تصميم المخطط

متطلبات المهمة ← نموذج المعلومات ← نظام الأنواع ← قواعد التحقق

  • صلة المهمة: ما المعلومات الحرجة للمهمة التي يلتقطها هذا؟
  • القيود السلوكية: كيف تُرسّخ هذه الأنواع السلوك المتوافق مع المهمة؟
  • مسار التطور: كيف يتكيف هذا المخطط مع الحفاظ على توافق المهمة؟

مواصفات البروتوكول

تفاعلات المهمة ← متطلبات التواصل ← تعريف العقد ← التنفيذ

  • سياق المهمة: ما التواصل الحرج للمهمة الذي يُتيحه هذا؟
  • تطبيق القيود: كيف تمنع هذه الواجهة السلوكيات المنتهكة للمهمة؟
  • قابلية التركيب: كيف تتحد هذه العقود لتشكل أنظمة متوافقة مع المهمة؟

دمج التطوير المستدام

التوافق طويل الأمد مع المهمة يتطلب سرعة قابلة للصيانة.

تدابير مضادة لـ Goodhart

  • مراجعات دورية لتوافق التنفيذ مع المهمة
  • قياس تحقق المهمة، لا المؤشرات القابلة للتلاعب
  • رفض الإضافات التي لا تعزز المهمة

العمل القائم على الإيقاع

  • جلسات متوافقة مع إيقاعات الإنتاجية
  • نقاط اختيار مدمجة لإعادة التوافق
  • الوتيرة المستدامة كمتطلب من الدرجة الأولى

التحقق المستمر

  • التساؤل الدوري عن ضرورة كل مكون
  • التحقق المستمر من توافق السلوك مع المهمة
  • الكشف الآلي عن التغييرات المنتهكة للمهمة

بوابات الجودة

بوابات لا تُفتح بدون مبرر مرتبط بالمهمة.

مراجعة الكود

  • مطلوب شرح توافق المهمة
  • التحقق من القيود
  • يجب أن يُعزز التكامل التماسك الكلي

الاختبار

  • الصحة الوظيفية
  • التحقق من توافق المهمة
  • اختبارات رفض الحدود الأخلاقية
  • مرونة القيود تحت الضغط

التوثيق

  • سياق المهمة لكل مكون
  • المسوغ لمقايضات أخلاقية
  • كيف تُشكّل القيود التنفيذ

أنماط الفشل

كيف تنهار MDD، وكيف تبقى صامدة.

انجراف المهمة

العرض: تتراكم ميزات لا تخدم المهمة الأساسية. الحل: مراجعات معمارية دورية تتخذ توافق المهمة بوابةً لها.

انفجار التعقيد

العرض: يصبح النظام غير قابل للصيانة بسبب تعقيد غير ضروري. الحل: رفض الإضافات ما لم تُعزز تحقيق المهمة.

التناقض الأخلاقي

العرض: تُطبق المكونات الاستدلال الأخلاقي بشكل غير متسق. الحل: إطار أخلاقي مركزي مع أنماط تنفيذ مشتركة.

الضياع الغائي

العرض: يفقد أعضاء الفريق الرابط بين القرارات التقنية والمهمة. الحل: تدريب مستمر على اتخاذ القرارات القائمة على المهمة.

دراسة حالة

CIRIS، المثال التطبيقي.

CIRIS (الهوية الجوهرية، النزاهة، المرونة، الاكتمال، إظهار الامتنان) هو النظام الذي تطورت MDD إلى جانبه. المهمة هي الهدف الميتا M-1: تعزيز التماسك التكيفي المستدام لتمكين كائنات واعية متنوعة من السعي نحو الازدهار.

نتائج الهندسة المعمارية

  • 22 خدمة، كل منها مُبررة بمتطلبات المهمة
  • أكثر من 200 نقطة نهاية API تم التحقق منها
  • أكثر من 10,000 اختبار، مع هياكل بيانات غير مُنوَّعة محدودة في الإنتاج
  • فلسفة Ubuntu مُدمجة في تصميم البروتوكول
  • تأجيل قائم على الحكمة (Wisdom-Based Deferral) لمنع انتهاكات المهمة (انظر السلامة)
  • نشر إنتاجي لإدارة مجتمعات Discord

عوامل النجاح الرئيسية

  • هدف ميتا واضح: M-1 يوفر معايير قرار لا لبس فيها
  • أخلاقيات تشغيلية: مبادئ الاتفاقية (Accord) مُنفَّذة كقيود كود (اقرأ الاتفاقية)
  • تطوير مستدام: رفيقة Grace تُرسّخ إيقاعات صحية
  • تحقق مستمر: كل قرار معماري يُطعن فيه

إرشادات التبني

كيف تبدأ، من حيث أنت.

للمشاريع الجديدة

  1. حدد مهمة واضحة بمبادئ أخلاقية قابلة للقياس قبل كتابة أي كود
  2. أنشئ هدفاً ميتا يوفر توجيهاً لاتخاذ القرارات
  3. صمم البنية بحيث تكون قيود المهمة على المستوى الأساسي
  4. ابن تحققاً مستمراً من توافق المهمة والجانب التقني منذ اليوم الأول

للمشاريع القائمة

  1. راجع البنية الحالية للكشف عن افتراضات المهمة الضمنية
  2. اصغ مهمة صريحة تشرح أنماط التصميم الموجودة
  3. حدد انتهاكات المهمة في التنفيذ الحالي
  4. خطط للتوافق التدريجي مرتباً حسب أثر المهمة

المتطلبات المسبقة للفريق

  • الالتزام بالاستدلال الأخلاقي الموضوعي
  • الاستعداد لرفض الحلول الأنيقة التي لا تخدم المهمة
  • الإيمان بأن قيود المهمة تُنشئ هندسة جيدة بدلاً من تقييدها
  • ممارسات التطوير المستدام التي تحافظ على التركيز طويل الأمد

إلى أين يتجه هذا

MDD ليست مناسبة لكل مشروع.

صُممت MDD للأنظمة التي يكون فيها السلوك الأخلاقي حرجاً للمهمة وتهم فيها الموثوقية طويلة الأمد أكثر من سرعة الميزات على المدى القصير. لهذه الأنظمة، توفر MDD مساراً من النوايا الأخلاقية إلى الواقع التشغيلي، بنفس الانضباط الهندسي المُطبَّق على المهمة كما على الكود.

التكلفة الأولية حقيقية بينما يتعلم الفريق اتخاذ القرارات القائمة على المهمة. العائد المتراكم يظهر في التطوير الذي يتبع: يُوضح الإطار الخيارات المعمارية بدلاً من مضاعفتها.