ما الذي يجب أن يحققه التسليم
يحدث التسليم في لحظات عدة من عمر النظام: حين ينتهي البناء وينتقل النظام إلى فريق الدعم، أو حين تنقل شركة التطوير إلى فريقها الداخلي، أو حين يحل مورّد محل آخر، أو حين يغادر الشخص الذي كتب أداة داخلية. تختلف الظروف، والخطر واحد: المعرفة التي لم تُدوَّن قط ترحل مع أصحابها.
فالغرض من التسليم إذن نقل القدرة على تشغيل النظام وتعديله، لا نقل الملفات. والحكم عليه بهذا المعيار يغيّر ما تطلبه، ويمنحك اختباراً واضحاً تعرف به هل نجح أم لا.
ستة أشياء يجب أن تنتقل من يد إلى يد
| ماذا | يشمل | ما يُغفل عادةً |
|---|---|---|
| الشيفرة المصدرية | كل المستودعات، بسجلها الكامل وفروعها | النصوص البرمجية وتعريفات البنية التحتية والأدوات الصغيرة المحفوظة في أماكن أخرى |
| الحسابات وصلاحيات الوصول | الاستضافة، والنطاقات، ومتاجر التطبيقات، والبريد الإلكتروني، والمدفوعات، والتحليلات، والخدمات الخارجية | حسابات مسجلة باسم المطوّر الشخصي |
| البيئات | بيئة التشغيل الفعلي، وبيئة ما قبل الإطلاق، وطريقة إنشاء بيئة جديدة | قيم الإعدادات والأسرار الموجودة على الخادم وحده |
| التوثيق | البنية التقنية، والتجهيز، والنشر، والتشغيل، والمشكلات المعروفة | أسباب القرارات، لا القرارات وحدها |
| البيانات | قواعد البيانات، والملفات، والنسخ الاحتياطية، وطريقة استعادتها | استعادة جُرّبت فعلاً |
| المعرفة | كيف يتصرف النظام في الواقع، وأين مواضع هشاشته | الحلول الالتفافية التي يعرفها كل من في الفريق القديم دون أن تُكتب |
اسأل مبكراً: باسم من كل حساب؟ فنقل نطاق، أو صفحة تطبيق في المتجر، أو حساب دفع، من مالك قانوني إلى آخر قد يستغرق وقتاً وأوراقاً، وهو أسهل بكثير ما دام الجميع متعاونين.
اختبر التسليم بتعديل حقيقي
قد يكون مستند التسليم مكتملاً ويفشل رغم ذلك، لأن أحداً لا يكتشف الخطوة الناقصة حتى يحتاج إليها. والاختبار الذي يُعتمد عليه عملي: قبل رحيل الفريق السابق، يجب أن ينجز الفريق المستلم ثلاثة أمور بنفسه، مستخدماً ما سُلّم إليه فقط.
- 01
جهّز نسخة عاملة من الصفر
على جهاز نظيف، اتبع تعليمات التجهيز حتى يعمل النظام. وكل سؤال تضطر إلى طرحه ثغرة في التوثيق، ومكان إجابته هو التوثيق نفسه.
- 02
أجرِ تعديلاً صغيراً وانشره
غيّر شيئاً ظاهراً لا ضرر منه، ومرّره بالاختبار، ثم انشره في بيئة التشغيل الفعلي. فهذا يثبت صلاحيات الوصول والأدوات وعملية النشر في تمرين واحد.
- 03
استعد البيانات من نسخة احتياطية
استعد قاعدة البيانات في بيئة اختبار، وتأكد أن التطبيق يعمل معها. فالنسخة الاحتياطية التي لم تُستعد قط مجرد أمل، لا ضمانة.
مثال تطبيقي
منصة حجوزات تنتقل من وكالة إلى فريق داخلي
هذا مثال افتراضي. شركة تدير منصة للحجوزات توظف مطوّرَين اثنين، وتتسلم المنصة من الوكالة التي بنتها. والطرفان متعاونان، ومع ذلك يكشف التسليم مفاجآت.
- الشيفرةيُنقل المستودع الرئيسي بسجل تعديلاته. ويكشف التجهيز من الصفر مستودعاً ثانياً لأداة الإدارة، ومجموعة من النصوص البرمجية المجدولة على الخادم لم تدخل نظام إدارة الإصدارات قط.
- الحساباتالاستضافة والنطاق باسم الشركة أصلاً. أما خدمة الرسائل النصية وخدمة الخرائط فعلى حسابات الوكالة نفسها، مشتركة مع مشاريع أخرى، وتحتاجان إلى حسابات جديدة ومفاتيح جديدة.
- النشريفشل أول إصدار ينشره الفريق الجديد، لأن قيمة إعداد واحدة موجودة على خادم التشغيل الفعلي وحده. فتُضاف إلى قائمة الإعدادات الموثقة.
- المعرفةفي جلسة شرح مسجّلة، يوضح كبير مطوّري الوكالة لماذا تُقفل الحجوزات لفترة قصيرة أثناء الدفع. ولم يكن في الشيفرة ولا في المستندات ما يذكر ذلك.
تمتد فترة التداخل ثلاثة أسابيع بدلاً من الأسبوع المخطط له، وتنتهي حين ينشر الفريق الداخلي إصدارين ويستعيد نسخة احتياطية دون مساعدة. وتصبح قائمة الثغرات التي اكتُشفت على الطريق القسم الأول من التوثيق الخاص بالفريق الجديد.
ما يجب أن يقوله التوثيق
التوثيق المفيد عند التسليم قصير ومحدد. فلا أحد يقرأ مئة صفحة، والمستند الطويل يكون في الغالب قديماً. اجعل هدفك مجموعة من الصفحات البسيطة تجيب عن الأسئلة التي يطرحها المطوّر الجديد في أيامه الأولى.
- 01
ماذا يفعل هذا النظام، ولمن؟
ما تغطيه الصفحة المفيدةالغرض منه، ومستخدموه الرئيسيون، وإجراءات العمل التي تعتمد عليه، في صفحة واحدة.
- 02
كيف تترابط أجزاؤه؟
ما تغطيه الصفحة المفيدةمخطط للمكونات والخدمات الخارجية التي تستدعيها، مع ما يحدث إن تعذّر الوصول إلى كل منها.
- 03
كيف أشغّله وأنشر إصداراته؟
ما تغطيه الصفحة المفيدةالتجهيز من جهاز فارغ، وأوامر الاختبار، وخطوات الإصدار، وطريقة التراجع.
- 04
ما الذي يحتاج إلى متابعة منتظمة؟
ما تغطيه الصفحة المفيدةالمهام المجدولة، والشهادات والاشتراكات التي تنتهي صلاحيتها، وما يجب فحصه كل أسبوع.
- 05
أين مواضع هشاشته؟
ما تغطيه الصفحة المفيدةالمشكلات المعروفة، والأجزاء التي لا يحب أحد الاقتراب منها، وأسباب القرارات التي تبدو غريبة.
قائمة التحقق من التسليم
قائمة التحقق من تسليم البرمجيات
0 من 11 منجزةحين لا يجري التسليم بروح ودية
أحياناً يحدث التسليم لأن العلاقة انهارت، أو لأن المطوّر السابق لم يعد ممكناً الوصول إليه. وتبقى القائمة صالحة، لكن بترتيب مختلف. أمّن الوصول أولاً: النطاقات، والاستضافة، والمستودعات، والمتاجر. ثم خذ نسخة كاملة من الشيفرة والبيانات. وبعد ذلك فقط ابدأ بمحاولة فهمها.
وضعك يمكن التعامل معه
- النطاق والاستضافة باسم شركتك
- تستطيع الوصول إلى المستودع وخوادم التشغيل الفعلي
- توجد نسخة احتياطية حديثة يمكن فتحها
تصرّف قبل أي شيء آخر
- حسابات أساسية يملكها شخص أو مورّد لا تستطيع الوصول إليه
- النسخة الوحيدة من الشيفرة موجودة على خادم قيد التشغيل
- لا أحد يعرف أين تُحفظ النسخ الاحتياطية، أو هل توجد أصلاً
ما يحق لك تسلّمه يتوقف على عقدك، فاقرأه، واطلب استشارة قانونية إن حُجبت عنك صلاحيات الوصول. وتغطي خدمتنا في إنقاذ المشاريع البرمجية الجانب التقني من تسلّم نظام في هذه الحال.
ماذا تفعل الآن
إن كان التسليم قريباً، فانسخ القائمة وابدأ بملء قائمة الحسابات. فهي البند الأكثر احتمالاً للمفاجآت، والأطول وقتاً في الإصلاح.
وإن كنت تتسلم نظاماً وتريد نظرة ثانية، فإن التدقيق التقني للشيفرة يخبرك بحقيقة ما سُلّم إليك. حدّثنا عن النظام، وسنقترح عليك من أين تبدأ.
أسئلة شائعة
كم يستغرق تسليم مشروع برمجي؟
يتوقف ذلك على حجم النظام ومستوى توثيقه، فلا جواب واحداً. المهم أن يبقى الفريق المغادر متاحاً حتى ينجح الفريق المستلم وحده في تجهيز النظام، ونشر تعديل، واستعادة نسخة احتياطية. فخطط لفترة التداخل حول هذه المحطات الثلاث بدلاً من تاريخ ثابت، وتوقع أن تطول أكثر من التقدير الأول.
ماذا لو رفض المطوّر السابق التعاون؟
أمّن ما تستطيع الوصول إليه، بدءاً بالنطاقات والاستضافة والمستودعات، وخذ نسخاً من الشيفرة والبيانات. وراجع عقدك لتعرف ما يحق لك، واطلب استشارة قانونية إن رُفض منحك الوصول. ومن الناحية التقنية، يمكن في الغالب فهم النظام من شيفرته وبيئة تشغيله، وإن استغرق ذلك وقتاً أطول. والتدقيق المستقل خطوة أولى معقولة.
من يجب أن يملك الحسابات والخدمات؟
الشركة التي تعتمد على النظام هي التي يجب أن تحتفظ بالحسابات باسمها، وتمنح صلاحيات الوصول لمن يبنيه ويصونه. ويشمل ذلك النطاقات، والاستضافة، وصفحات التطبيقات في المتاجر، ومزوّدي الدفع، وغيرها من الخدمات المدفوعة. والحسابات التي يحتفظ بها مورّد أو فرد هي أكثر أسباب التسليم المؤلم شيوعاً. أما الشروط فيحددها اتفاقك مع المورّد.
هل نحتاج إلى التوثيق إن كانت الشيفرة نظيفة؟
نعم. فالشيفرة النظيفة تُظهر ما يفعله النظام، لكنها نادراً ما تُظهر سبب اتخاذ قرار ما، أو طريقة الإصدار، أو الخدمات الخارجية المعنية، أو ما يجب فحصه كل أسبوع. وبضع صفحات قصيرة في هذه الموضوعات توفّر على الفريق الجديد أياماً، وتبلغ قيمتها ذروتها حين يغيب من كانوا قادرين على الإجابة.
هل يجب تغيير بيانات الدخول بعد التسليم؟
نعم، بعد أن يتأكد الفريق المستلم أن كل شيء يعمل. فكلمات المرور والمفاتيح والرموز التي كانت لدى الفريق المغادر يجب استبدالها، وحذف حسابات مستخدميه أو تقليص صلاحياتها. وهذه ممارسة سليمة معتادة، لا تشكيك في نزاهة أحد. فاجعلها خطوة صريحة في الخطة، لأنها تُنسى بسهولة حين يعمل النظام بسلاسة.


