ما الذي يجب أن يغطيه عقد صيانة البرنامج ودعمه

يجب أن يحدد عقد صيانة البرنامج ودعمه: ما الذي يشمله، وكيف تُبلَّغ المشكلات وتُصنَّف حسب خطورتها، وبأي سرعة يجب أن يستجيب المورّد ويعيد الخدمة، وكيف تُدار التحديثات الأمنية والنسخ الاحتياطية والمراقبة، وكيف تُطلب التغييرات وتُسعَّر، وكيف تستطيع المغادرة مع شيفرتك وبياناتك ووثائقك. فدون هذه البنود، يعني «الدعم» ما يقرره المورّد يوم يتعطل شيء.
والإطلاق بداية الحياة العملية للنظام، لا نهاية المشروع؛ فمعظم كلفته ومعظم قيمته يأتيان بعد ذلك.
الجواب المختصر
- النطاق: التطبيق، والاستضافة، والتكاملات، ومكوّنات الأطراف الثالثة، كلٌّ باسمه.
- أربعة أنواع من العمل: إصلاح الأعطال، والتكيّف مع التغيير، والتحسين، والوقاية، ومنها الأمان.
- مستويات خطورة لكلٍّ منها زمن استجابة وزمن استعادة، مع الساعات التي تنطبق فيها.
- الأمان والنسخ الاحتياطية والمراقبة واجبات مسمّاة، مع استعادة مجرّبة.
- التغييرات تُطلب وتُقدَّر وتُعتمد عبر مسار واحد.
- المغادرة: تسليم الشيفرة والبيانات والوثائق والحسابات عند الطلب.
«الإطلاق بداية الحياة العملية للنظام، لا نهاية المشروع. وعقد الدعم هو المكان الذي تقرر فيه هل يبقى النظام سليمًا أم يتآكل بصمت.» — عبدالقادر وهيبة، مؤسس «ذوات» ورئيسها التنفيذي
لماذا يحتاج البرنامج إلى صيانة أصلًا
يعيش نظام الأعمال في عالم لا يتوقف عن الحركة: القواعد الضريبية تتغير، والمتصفحات والهواتف تتحدّث، والخدمات المتصلة تغيّر واجهاتها، وإجراءاتك أنت تتطور. وقد وصف عالم الحاسوب ماير ليمان ذلك عام 1980 بقانون «التغيّر المستمر»: النظام المستخدم في العالم الحقيقي يجب أن يُكيَّف باستمرار، وإلا صار أقل إرضاءً شيئًا فشيئًا.
وعمليًا، تنقسم الصيانة إلى أربعة أنواع من العمل:
- التصحيحية: إصلاح الأعطال التي يكتشفها المستخدمون.
- التكيّفية: إبقاء النظام عاملًا مع تغيّر محيطه، كإصدار جديد لنظام التشغيل، أو تحديث في بوابة الدفع، أو متطلب جديد في الفوترة الإلكترونية.
- التحسينية: تحسين ما هو قائم، كالسرعة أو سهولة الاستخدام أو تقارير جديدة.
- الوقائية: معالجة نقاط الضعف قبل أن تسبب أعطالًا، خصوصًا التحديثات الأمنية لأطر العمل والمكتبات التي بُني عليها النظام.
والعقد الجيد يقول أيّ هذه تغطيها الأتعاب، وكيف يُعامل الباقي.
1. حدّد النطاق
اسرد ما يغطيه العقد: التطبيق نفسه، وبيئة الاستضافة، وقاعدة البيانات، والتكاملات، وخدمات الأطراف الثالثة وتراخيصها التي يعتمد عليها النظام. ثم اسرد ما يستثنيه. ومن النزاعات الشائعة عطلٌ في نظام متصل، كالبرنامج المحاسبي أو بوابة الدفع: من يتحقق منه، ومن يدفع؟
2. مستويات الخطورة، وزمن الاستجابة والاستعادة
صنّف المشكلات حسب أثرها، واتفقا على زمنين لكل مستوى: سرعة استجابة المورّد، وسرعة استعادة الخدمة، ولو بحل مؤقت.
| الخطورة | المعنى المعتاد | ما يُتفق عليه |
|---|---|---|
| حرجة | النظام متوقف، أو البيانات في خطر، أو إجراء أساسي متوقف للجميع | أسرع استجابة، واستمرار العمل حتى تعود الخدمة، وساعات تطابق ساعات تشغيلك |
| عالية | وظيفة رئيسية معطلة دون بديل معقول | استجابة خلال ساعات العمل، وهدف استعادة بالساعات لا بالأيام |
| متوسطة | وظيفة متأثرة مع وجود بديل | استجابة خلال يوم عمل، وإصلاح في إصدار مجدول |
| منخفضة | مسائل شكلية واستفسارات | تُعالج في دورة الإصدارات المعتادة |
والأرقام تعود إليك وإلى المورّد، وتتوقف على مدى حساسية النظام. وأهم من الأرقام أمران: أن تُكتب، وأن تُعرَّف «الاستجابة» و«الاستعادة» كلٌّ على حدة. فردٌّ يقول «نحن نتابع المسألة» استجابة، لكنه ليس خدمة مستعادة.
واتفقا على ساعات الدعم أيضًا. فإن كانت فروعك تعمل مساءً أو في نهاية الأسبوع، فمكتب دعم لا يعمل إلا ساعات الدوام في أيام الأسبوع لن يفيدك حين تحتاجه.
3. كيف تُبلَّغ المشكلات
قناة واحدة، كنظام تذاكر أو بريد دعم مشترك، ليكون لكل طلب رقم ووقت وتاريخ. وواتساب مريح للاتصالات العاجلة، لكنه سجل ضعيف؛ فإن استخدمته، فيجب أن تُسجَّل المشكلة مع ذلك. واطلب ملخصًا شهريًا: المشكلات المرفوعة، والأزمنة التي احتُرمت أو فاتت، والمشكلات المتكررة.
4. التحديثات الأمنية والنسخ الاحتياطية والمراقبة
يجب أن تكون هذه واجبات مسمّاة لا افتراضات:
- التحديثات الأمنية لإطار العمل والمكتبات والخادم، تُطبَّق وفق جدول معلن، مع ترقيعات عاجلة خارجه.
- النسخ الاحتياطية بتكرار ومدة احتفاظ معلنين، مخزّنة بمعزل عن النظام الرئيسي، مع تجارب استعادة على فترات متفق عليها. فالنسخة التي لم يستعد منها أحد أملٌ لا نسخة احتياطية.
- المراقبة للتوفر والأخطاء ومساحة التخزين، ليعرف المورّد بالمشكلة غالبًا قبل موظفيك.
- مراجعة الصلاحيات: من في جانب المورّد يستطيع الوصول إلى نظام الإنتاج وبياناتك، مع مراجعة دورية. ويتناول مقال كيف تتعاقد مع شركة برمجيات دون أن تسلّمها بياناتك بنود السرية.
ومكان الاستضافة مهم أيضًا، خصوصًا مع البيانات الشخصية، ويشرح مقال قواعد الاستضافة السحابية في عُمان القيود.
5. التغييرات: مسار واحد، وتسعير قبل بدء العمل
المزايا الجديدة والتعديلات ليست أعطالًا، وتحتاج إلى مسارها الخاص: طلب مكتوب، ثم تقدير، ثم اعتماد من المالك المسمّى لديك، ثم جدولة. وبعض العقود تتضمن رصيدًا شهريًا من الساعات للتغييرات الصغيرة، وبعضها يسعّر كل تغيير على حدة. وكلاهما ينجح إن كان واضحًا. أما ما يفشل فهو الوعد الغامض بأن «التغييرات الصغيرة مشمولة»، لأن كل طرف سيعرّفها بطريقته.
ومراجعة قصيرة كل ربع سنة للطلبات والمشكلات المتكررة وخارطة الطريق تُبقي النظام منسجمًا مع العمل.
6. التوثيق والمعرفة
يجب أن يُلزم العقد بإبقاء التوثيق محدّثًا: كيف يُنشر النظام، وكيف يُضبط، وكيف يُستعاد، ولماذا بُني بالطريقة التي بُني بها. ومبدأ «ذوات» المنشور أن هذا التوثيق يُكتب أثناء سير المشروع، لا يُجمع عند التسليم. وهو ما يتيح لغير المطوّر الأصلي أن يدعم النظام.
7. المغادرة: تأكد أنك تستطيع الرحيل
اختبار عبدالقادر وهيبة لأي عقد دعم بسيط: هل تستطيع تسليم النظام إلى فريق آخر الشهر المقبل دون أن تعتمد على حسن نية المورّد الحالي؟ ولاجتيازه، يجب أن يضمن العقد، عند الطلب وفي نهاية المدة:
- الشيفرة المصدرية كاملة، في مستودع تملكه شركتك؛
- قاعدة البيانات وكل البيانات، بصيغة قابلة للاستخدام؛
- إعدادات النشر، وبيانات الدخول، والتوثيق؛
- مساعدة معقولة في الانتقال، بسعر متفق عليه.
ويشرح مقال من يملك البرنامج الذي دفعت ثمنه؟ الجانب القانوني في عُمان، ويسرد مقال كيف تختار شريكًا برمجيًا في عُمان بنود العقد التي تُحسم قبل بدء البناء أصلًا.
السعر والمدة
اتفقا على طريقة حساب الأتعاب، وما تشمله، وكم مرة يمكن أن تتغير وبأي مهلة إشعار، وكيف يستطيع أي من الطرفين إنهاء العقد. واسأل ماذا يحدث للاستضافة والبيانات إن تأخرت دفعة؛ فتعليق الخدمة عن نظام تعتمد عليه خطوة جسيمة، ويجب أن يحدد العقد إجراءً يسبقها.
أسئلة شائعة
هل نحتاج إلى عقد دعم إن كان النظام يعمل جيدًا؟ نعم. فالنظام العامل يحتاج مع ذلك إلى تحديثات أمنية، ونسخ احتياطية، ومراقبة، وتكيّف مع تغيّر ما حوله. ودون عقد، إما ألا يحدث ذلك، وإما ألا يحدث إلا بعد عطل.
ما الفرق بين الضمان والدعم؟ الضمان يغطي عيوب ما سُلّم لفترة محددة بعد الإطلاق، عادةً دون كلفة إضافية. أما الدعم فيغطي تشغيل النظام المستمر وتحديثاته والمساعدة بعد ذلك، بموجب عقد منفصل.
ما اتفاقية مستوى الخدمة (SLA)؟ هي الجزء من عقد الدعم الذي يحدد التزامات قابلة للقياس، كأزمنة الاستجابة والاستعادة حسب الخطورة، وساعات الدعم، وأهداف التوفر، وما يحدث حين لا تُحترم.
هل يستضيف المورّد النظام أم نستضيفه نحن؟ كلاهما قد ينجح. والمهم أن يكون حساب الاستضافة باسم شركتك أو قابلًا للنقل إليها، وأن يكون للنسخ الاحتياطية والمراقبة مسؤول، وأن تستطيع نقل النظام إن احتجت.
كيف تُعامل التغييرات الصغيرة؟ عبر المسار نفسه الذي تمر به الكبيرة: طلب مكتوب، وتقدير، واعتماد. ورصيد شهري من الساعات قد يسرّع التغييرات الصغيرة، ما دام الطرفان يتابعان استهلاكه.
المصادر: م. م. ليمان — البرامج ودورات الحياة وقوانين تطور البرمجيات (Proceedings of the IEEE، 1980)
تريد نظامًا يُدعم كما ينبغي بعد الإطلاق؟ تقدّم «ذوات» خدمات التكامل والدعم للأنظمة التي تبنيها، وتوثّقها كي لا تكون رهينة لأحد. احجز مكالمة.