تسليم السورس كود هو اللحظة التي ينتقل فيها مشروع البرمجيات من يد إلى أخرى. إذا تم بشكل صحيح، يستطيع فريقك تشغيل النظام وتعديله وتوظيف مطورين له دون الاعتماد على الشركة التي بنته. وإذا تم بشكل سيئ، ستحصل على مجلد من الملفات دون صلاحية الوصول إلى الخادم الفعلي ودون أي شخص يعرف كيف ينشر تعديلاً. توضح هذه القائمة ما يجب طلبه والتحقق منه قبل أن تدفع المبلغ النهائي.
ماذا يشمل تسليم السورس كود فعلياً؟
يعتقد كثير من أصحاب الأعمال أن التسليم هو الكود فقط. لكن الكود جزء واحد فقط. التسليم الكامل يمنحك القدرة على بناء النظام ونشره وتشغيله وتعديله بعد رحيل المورد. وعادةً ما يتكون من خمس مجموعات: مستودع الكود، والصلاحيات وبيانات الدخول، والتوثيق، والبيئات والنشر، والحقوق القانونية لاستخدام العمل.
إذا غاب أي عنصر من هذه العناصر، فقد تملك البرنامج على الورق، لكنك لن تتمكن من استخدامه عملياً. لهذا ننصح بالتعامل مع التسليم كمخرج مستقل له خطوات قبول خاصة به، وليس مجرد نقل ملفات عابر في نهاية المشروع.
قائمة التحقق قبل الدفعة النهائية
- سجل النسخ الكامل. يجب أن يحتوي المستودع على سجل Git كامل، وليس نسخة واحدة مُصدَّرة. يتيح السجل لمطوريك معرفة سبب القرارات والتراجع عن إصدار سيئ.
- صلاحيات مدير المستودع باسم شركتك. يجب أن يكون المستودع مملوكاً لحساب شركتك، مع إضافة فريقك كمديرين. ويجب إزالة فريق المورد من ملكية المستودع بعد تأكيد التسليم.
- بناء يعمل على جهاز نظيف. اطلب من مطور لم يشارك في المشروع أن يستنسخ المستودع ويشغّل النظام باتباع ملف README. إذا فشل ذلك، فالتسليم غير مكتمل.
- قوالب إعدادات البيئة. أرفق ملفات بيئة نموذجية تسرد كل متغير وتشرحه، ولا تضع أبداً أسراراً حقيقية داخل المستودع.
- مخطط قاعدة البيانات وعمليات الترحيل. يجب أن يكون كل تغيير في المخطط عملية ترحيل مسجلة في المستودع، بحيث يمكن إعادة بناء قاعدة البيانات من الصفر.
- نقل الحسابات الخارجية. يجب تسجيل خدمات الاستضافة والنطاق والبريد الإلكتروني وبوابة الدفع وخدمة الرسائل القصيرة وأدوات تتبع الأخطاء باسم شركتك، وليس باسم الوكالة.
- مجموعة اختبارات تنجح. يجب أن تعمل الاختبارات الآلية وتنجح على فرع التسليم. وإذا لم توجد اختبارات، فسجّل هذا النقص كتابةً حتى تخطط لمعالجته.
- قبول موقّع. أكّد التسليم كتابةً، مع ذكر المستودع والبيئات والحسابات التي استلمتها.
الوصول وبيانات الدخول: من يحتفظ بماذا؟
هنا تفشل أغلب عمليات التسليم. تُشارك كلمات المرور عبر المحادثات، أو يبقى حساب المدير مرتبطاً ببريد شخصي لمطور سابق، أو يوجد مفتاح الخادم على حاسوب محمول واحد فقط. استخدم الجدول التالي لتتبع كل بيان دخول ومالكه قبل إغلاق المشروع.
| العنصر | ما يجب أن تستلمه | من يجب أن يملكه |
|---|---|---|
| مستودع الكود المصدري | السجل الكامل، وصلاحيات المدير، وقواعد حماية الفروع | حساب شركتك |
| خادم الإنتاج | وصول SSH للمهندسين المحددين، وتوثيق عملية النشر | شركتك، مع مستخدمين محددين بالاسم |
| النطاق و DNS | بيانات دخول جهة تسجيل النطاق وقائمة سجلات DNS | شركتك |
| بوابة الدفع | حساب التاجر ومفاتيح API، مع تغييرها بعد التسليم | شركتك |
| خدمات البريد الإلكتروني والرسائل القصيرة | إعداد نطاق الإرسال وحسابات مزودي الخدمة | شركتك |
| النسخ الاحتياطية | جدول النسخ، وموقع التخزين، وإجراء استعادة تم اختباره | شركتك، مع مسؤول موثّق |
بعد التسليم، غيّر جميع الأسرار المشتركة، بما في ذلك كلمات مرور قاعدة البيانات ومفاتيح API وبيانات دخول المدير. ينبغي ألا يتمكن المورد من الوصول إلى بيئة الإنتاج مرة أخرى إلا إذا منحته صلاحية صريحة ضمن عقد دعم. لمزيد من المعلومات حول إدارة الوصول بأمان، اطلع على دليلنا حول تأمين تطبيق الويب.
التوثيق الذي لا ينبغي قبول التسليم بدونه
الكود بلا توثيق مكلف في التعديل. على الأقل، اطلب كتابةً ما يلي:
- ملف README يشرح طريقة تثبيت النظام وتشغيله واختباره محلياً.
- نظرة عامة على البنية توضح الوحدات الرئيسية والخدمات الخارجية وكيفية تدفق البيانات بينها.
- قائمة بأدوار المستخدمين وصلاحياتهم، وأين يتم تعريفها في الكود.
- خطوات النشر، بما في ذلك خطوات التراجع ومن يعتمد الإصدار.
- قائمة مختصرة بالمشكلات المعروفة والديون التقنية، حتى لا يكتشفها فريقك أثناء انقطاع الخدمة.
لا يحتاج التوثيق إلى أن يكون دليلاً طويلاً. مجموعة واضحة من الملاحظات يستطيع مطور جديد اتباعها خلال يوم واحد أنفع بكثير من وثيقة من مئة صفحة لا يقرأها أحد.
علامات تحذيرية أثناء التسليم
- يقول المورد إن المستودع "لدينا" وسيتم مشاركته لاحقاً.
- الإنتاج مستضاف على حساب شخصي أو مشترك للمورد.
- فشل البناء على جهاز نظيف، ويُوصف الحل بعبارة "فقط اسألنا".
- تُرسل الأسرار عبر المحادثة أو البريد الإلكتروني كنص غير مشفّر.
- ينص العقد على أنك تملك الكود، لكنه لا يذكر ترخيص المكونات أو الأطر المدفوعة.
يجب حل أي من هذه النقاط قبل سداد الدفعة النهائية. فبعد تسديد آخر فاتورة، لا يكون لدى المورد سبب يُذكر للإسراع.
كيف ننفذ التسليم في نرمر
نتعامل مع التسليم كمرحلة مجدولة لها قائمة تحقق خاصة بها، وعادةً ما تكون في الأسابيع الأخيرة من المشروع. ننقل المستودع والحسابات الخارجية إلى شركتك، ونرشد المسؤول التقني لديك خلال عملية النشر، ونقدم سجلاً مكتوباً لكل عنصر وصول. إذا كنت تخطط لمشروع أكبر، فإن خدمات البرمجيات لدينا تتضمن خطوة التسليم هذه افتراضياً، ويمكنك الاطلاع على مشاريعنا المنجزة لترى أنواع الأنظمة التي نسلّمها.
إذا كان لديك نظام بُني لدى جهة أخرى ولست متأكداً مما تملكه فعلياً، فتواصل معنا ويمكننا مراجعة قائمة الوصول معك قبل إجراء أي تغييرات. وبالنسبة لمنصات تخطيط موارد المؤسسات والعمليات، يمكنك الاطلاع أيضاً على خدمة نظام تخطيط موارد المؤسسة لدينا.
الأسئلة الشائعة
هل امتلاك السورس كود يعني أنني أملك كل شيء في النظام؟
عادةً تملك الكود المخصص المكتوب لمشروعك، لكن ليس دائماً المكتبات الخارجية أو الأطر أو المكونات المدفوعة التي يستخدمها. هذه تخضع لتراخيصها الخاصة. اطلب من المورد أن يدرج أي مكونات مقيّدة في وثائق التسليم.
ماذا أفعل إذا كان المورد قد ترك المشروع بالفعل؟
ابدأ بإعداد قائمة بكل حساب وخادم تحتاجه، ثم اطلب نقلها كتابةً. وإذا لم يستجب المورد، فراجع سجلات النطاق والاستضافة والمستودع لترى أي الحسابات يمكنك الوصول إليها بالفعل. يمكن بعد ذلك لمختص أن يدقق قاعدة الكود ويستعيد السيطرة عليها.
كم يستغرق تسليم السورس كود؟
في المشروع النموذجي، يستغرق التسليم من بضعة أيام إلى أسبوعين، حسب عدد الخدمات الخارجية والبيئات المعنية. ويؤدي بدء قائمة التحقق مبكراً في المرحلة الأخيرة إلى تجنب التأخير في النهاية.
هل ينبغي أن يراجع مطوري الخاص الكود قبل الدفعة النهائية؟
نعم، إذا كان لديك مطور. فمراجعة مستقلة قصيرة تؤكد أن الكود يُبنى بنجاح، وأن الاختبارات تعمل، وأن التوثيق دقيق. وإصلاح الثغرات قبل الدفعة النهائية أقل تكلفة بكثير من إصلاحها بعد أن ينتقل فريق المورد إلى مشروع آخر.



