ما الذي يجب أن يتضمنه تسليم مشروع برمجي؟
النظام الذي يفتقد بناءً قابلًا للتكرار أو مسؤول تشغيل أو تعليمات استعادة يصعب صيانته بعد رحيل المطور. التسليم يجب أن يثبت قدرة فريق جديد مصرح له على تشغيله.
Read in English
محتويات هذا الدليل
التسليم ينقل القدرة على التشغيل
استلام أرشيف الكود لا يعني قدرة المؤسسة على صيانة التطبيق. التسليم المفيد يمكّن فريقًا مخولًا من بناء النسخة المقصودة وفهم اعتمادياتها وتشغيل الرحلات الأساسية والتعافي عند العطل. قيمة المستند في الأفعال التي يدعمها، وليست في عدد صفحاته.
حدد القبول بمهام يمكن إثبات تنفيذها. إذا ظل كل موقف غير مألوف يحتاج المطور السابق، فلم تتحقق بعد القدرة التشغيلية المستقلة التي يحتاجها صاحب النظام والفريق المستلم.
ابدأ بهوية النظام وحدوده
احصر المستودع والفرع المعتمد والمراجعة المنشورة وبيئة التشغيل وملف قفل الاعتماديات والخدمات والمهام المجدولة. وثق مراجع قاعدة البيانات والتخزين وإدارة النطاق والبريد المعاملاتي والتكاملات. لا توزع بيانات الدخول داخل هذه القائمة.
حدد مالك كل حساب ومن يمنح الوصول. انقل السلطة عبر إجراءات الهوية وإدارة الأسرار المعتمدة، وليس بإرسال كلمة مرور شخصية. لا تُزل الوصول القديم قبل التحقق من استمرارية الفريق الجديد وترتيب إجراء الطوارئ اللازم.
قد يحتاج نظام بسيط إلى دليل مختصر وتمرين ناجح، بينما تحتاج المكونات المستقلة إلى حدود ومسؤولين أوضح. لا تضف تعقيدًا إداريًا لمجرد جعل التسليم يبدو أكبر.
اجعل البناء والإصدار قابلين للتكرار
يجب أن يستطيع مهندس جديد الحصول على المصدر المحدد وتثبيت الاعتماديات المقصودة وإنشاء حزمة الإنتاج في بيئة نظيفة. سجل نسخ التشغيل وأوامر البناء والاعتماديات الأصلية اللازمة. اشرح أسماء متغيرات البيئة وأغراضها دون قيمها السرية.
يفصل مرجع Twelve-Factor بين البناء والإصدار والتشغيل. يفيد هذا في شرح الحزمة المبنية والإعداد الذي يجعلها إصدارًا والعمليات التي تشغلها، دون فرض تغيير بنية نشر قائمة وملائمة.
قارن المصدر بالحالة المنشورة. تعديلات الإنتاج غير المعروفة تجعل الفريق يصون نظامًا لا يفسره المستودع. عالج الاختلاف بتغيير قابل للمراجعة، مع الاحتفاظ بالنسخة السليمة حتى التحقق من بديلها.
وثق ما لا يراه المستخدم
لنفترض منصة حجوزات تبدو واجهتها سليمة، بينما ترسل مهمة خلفية التأكيدات وتنهي الحجوزات غير المكتملة. يحتاج الفريق إلى الجدول وسلوك الإعادة ومؤشرات الفشل وطريقة الإيقاف والاستئناف. نجاح الصفحة الرئيسية لا يثبت عمل هذه الرحلات.
اشرح السجلات الأساسية وانتقال الحالات بما يدعم الصيانة. وثق الترحيلات وصلاحيات التشغيل وإنشاء النسخ الاحتياطية واستعادتها ومسؤولية الاحتفاظ بها. حدد البيانات السرية وحدود استخدامها في الاختبار. تبقى تفاصيل البنية الداخلية في وثائق تشغيل مقيدة الوصول.
حوّل معرفة الأعطال إلى خطوات مفيدة
لكل تنبيه مهم، اذكر أثره والفحوص الأولى والإجراءات الآمنة وصاحب التصعيد. وضح الفرق بين عطل التطبيق وتوقف مزود خارجي. وأضف علامات نجاح التعافي حتى يعرف المشغل متى يتوقف عن التدخل.
تناقش إرشادات Google SRE تأهيل المناوبين وصيانة أدلة الاستجابة. طبّق مبدأ التجربة والتحديث، ولا تنقل إجراءات مؤسسة أخرى دون مواءمتها مع الصلاحيات والأعطال الفعلية.
أثبت التسليم بتمرين منضبط
- ابنِ الإصدار من المصدر وملف القفل المحددين.
- انشره في بيئة معزولة وفق الإجراء المكتوب.
- أكمل رحلة مستخدم مع المهام الخلفية التابعة لها.
- شخّص فشلًا محاكى عبر السجلات المسموح بها.
- استعد نسخة احتياطية في وجهة معزولة وطابق سجلات مختارة.
- جرّب الرجوع إلى إصدار سابق متوافق.
في مثال الحجز، يمكن تعطيل مزود بريد محاكى. على المشغل اكتشاف التأخير ثم استئناف المعالجة دون تكرار الحجز. لا يمتد التمرين إلى عملاء حقيقيين دون إجراء مصرح به.
أغلق التسليم بسجل لما ثبت وما بقي ومسؤول كل فجوة وترتيبات الدعم. فرّق بين نقص التوثيق وعيب المنتج والعمل خارج النطاق. وحدّث الدليل عند تغير النشر والتكامل والاستعادة ضمن تخطيط صيانة البرمجيات.
مراجع أساسية وتوسع في القراءة
اربط الفكرة باحتياج شركتك.
وضح أهدافك والأنظمة الحالية والقيود المهمة قبل اختيار الحل.
الحلول البرمجية
