كثير من المشكلات المكلفة مع شركات البرمجة يبدأ قبل توقيع العقد لا بعده: نطاق لم يُكتب، ودفعات تسبق التسليم، وكود وحسابات مسجّلة باسم الشركة المنفّذة لا باسمك. كتبتُ هذا الدليل من موقع العميل، لأصحاب المشاريع والشركات في السعودية والإمارات وسائر دول الخليج الذين يستعدون لاختيار شركة برمجة، أو شركة لتصميم التطبيقات وبرمجتها، والتعاقد معها.
لماذا تختلف عروض الأسعار للتطبيق نفسه إلى هذا الحد؟
لأن كل شركة تسعّر منتجًا مختلفًا. فكرة مكتوبة في صفحة أو صفحتين تترك كثيرًا من قرارات المنتج مفتوحة، وكل شركة تملأ الفراغ بافتراضاتها: إحداها تسعّر أبسط قراءة لفكرتك، وأخرى تسعّر أكثرها أمانًا.
مثال افتراضي: ثلاث شركات برمجة في الرياض تسعّر تطبيق الحجوزات نفسه. أقل العروض يفترض ما في عمود «القراءة الأبسط» في الجدول أدناه، وأعلاها يفترض ما في عمود «القراءة الأكثر أمانًا». الفرق بين المبلغين هو الفرق بين هذه الافتراضات.
| قرار في النطاق | القراءة الأبسط | القراءة الأكثر أمانًا |
|---|---|---|
| المنصات | قاعدة كود واحدة متعددة المنصات | تطبيقان أصليان منفصلان لنظامي iOS وأندرويد |
| لوحة التحكم | قوائم ونماذج أساسية | أدوار وصلاحيات وتقارير وسجل تدقيق |
| الدفع | وسيلة واحدة دون استرجاع | وسائل متعددة مع الاسترجاع والتسوية |
| العربية | ترجمة العناوين فقط | واجهات كاملة من اليمين إلى اليسار وإدارة محتوى عربي |
| التكاملات | لا شيء | رسائل التحقق (OTP) والخرائط والفوترة الإلكترونية وأنظمة تخطيط الموارد (ERP) أو إدارة علاقات العملاء (CRM) |
| الاختبار | المطوّر يختبر عمله بنفسه | دور مستقل لضمان الجودة وخطة اختبار ومصفوفة أجهزة |
| الاستضافة | «على العميل» | بيئات ونسخ احتياطي ومراقبة ضمن العرض |
| بعد الإطلاق | لا شيء | فترة ضمان وساعات دعم |
ولهذا لا تجيب جداول «تكلفة إنشاء تطبيق» المنشورة على الإنترنت عن سؤالك في الغالب: فهي تسعّر تطبيقًا لا ترى افتراضاته.
«هل السعر منطقي؟» كيف تحكم على عرض سعر دون قائمة أسعار
لا تحتاج إلى قائمة أسعار للسوق؛ تحتاج إلى عرض يمكن تفكيكه. اطلب من كل شركة في قائمتك المختصرة أن تسعّر النطاق المكتوب نفسه، ويفضَّل أن يكون وثيقة متطلبات النظام (SRS)، وأن تعيد العرض مفصّلًا حسب الوحدات، مع الفريق وعدد الأسابيع وقائمة صريحة بالافتراضات والاستثناءات. وقد شرحتُ في دليل مستقل كيف تكتب وثيقة متطلبات تستطيع الشركة تسعيرها. ثم افحص في كل عرض ثلاثة أمور:
- الحساب منطقي. هل يستطيع الفريق المسمّى إنجاز الوحدات المذكورة خلال المدة المقترحة فعلًا؟ نطاق كبير بفريق صغير وجدول قصير علامة تحذير لا صفقة رابحة.
- الاستثناءات ظاهرة. كثيرًا ما يُسقط العرض الأرخص الاختبار أو لوحة التحكم أو الاستضافة أو التسليم. سعّر هذه الفجوات قبل مقارنة المبالغ.
- للتعديلات قاعدة. العرض المنخفض الذي يرافقه تسعير مرتفع لطلبات التغيير ليس عرضًا منخفضًا.
الشركة التي ترفض تفصيل عرضها تُريك منذ الآن كيف ستدير مشروعك.
ما الأسئلة التي تسألها لشركة البرمجة قبل التوقيع؟
اسأل أسئلة تستطيع أن تحاسب الشركة على إجاباتها لاحقًا: من سيبني المشروع تحديدًا، وكيف تُفحص الجودة، وأين ستُحفظ البيانات، ومن يملك ماذا في النهاية.
- النطاق: هل ستسعّرون وثيقة المتطلبات كما هي وتذكرون كل افتراض؟
- الفريق والتعاقد من الباطن: من يعمل على مشروعي تحديدًا، وبأي أدوار، وكم من وقتهم مخصص له؟ هل سيُسند أي جزء إلى مقاول من الباطن، وهل ستبلغونني كتابيًا قبل ذلك؟
- الجودة: من يختبر، ووفق أي خطة اختبار، وعلى أي أجهزة؟ وهل سأرى نتائج الاختبار عند كل مرحلة؟
- الأمن والاستضافة: في أي دولة وأي منطقة سحابية سيُستضاف النظام وبياناته؟ ومن يحصل على صلاحية الوصول إلى بيئة الإنتاج، ومن أين، وكيف تُسحب منه في النهاية؟
- الملكية: هل سيكون الكود في مستودع شركتي من أول سطر؟ وهل ستكون حسابات المتاجر والسحابة والدفع باسم شركتي؟
- العملاء السابقون: هل أستطيع الاتصال بعميلين تطبيقاتهما منشورة، وتثبيت تلك التطبيقات بنفسي؟
ثم قيّم الإجابات. الأوزان أدناه من تقديري الشخصي، وليست معيارًا معتمدًا؛ عدّلها بحسب مشروعك.
| المعيار | الوزن | علامة جيدة | علامة خطر |
|---|---|---|---|
| فهم النطاق | 25% | أسئلة دقيقة عن المستخدمين والحالات الاستثنائية، وافتراضات مكتوبة | مبلغ إجمالي بلا تفصيل بعد مكالمة قصيرة واحدة |
| شروط الملكية | 20% | الكود والحسابات باسمك من اليوم الأول، وبند نقل الملكية الفكرية في المسودة | الكود «بعد الدفعة الأخيرة»، والتطبيقات على حساب الشركة المنفّذة |
| الفريق | 20% | قائد فني مسمّى تقابله قبل التوقيع | «فريقنا» بلا أسماء، وخبراء لا يظهرون إلا في اجتماعات البيع |
| آلية الجودة | 15% | دور لضمان الجودة وخطة اختبار ونتائج تُشارك في كل مرحلة | «مطورونا يختبرون كل شيء» |
| الأمن والبيانات | 10% | موقع استضافة واضح، وصلاحيات فردية، والتزام بالإشعار عند تسرب البيانات | كلمات مرور مشتركة، ولا إجابة عن مكان حفظ البيانات |
| السجل العملي | 10% | تطبيقات منشورة يمكنك تثبيتها، وعملاء سابقون يردّون على اتصالك | لقطات شاشة فقط، وعملاء مرجعيون لا يمكن الوصول إليهم |
ثلاث إجابات تُنهي النقاش عندي: لا كود في مستودعك، ولا فريق مسمّى، وضغط عليك للتوقيع هذا الأسبوع مقابل خصم.
كيف تتأكد أن شركة البرمجة مسجّلة نظامًا؟
استخدم السجلات الرسمية، وتأكد أن الاسم النظامي الذي تجده هو نفسه المكتوب في العقد والفواتير. والخدمتان السعوديتان أدناه مجانيتان.
- السجل التجاري (السعودية): خدمة الاستعلام عن بيانات السجل التجاري من وزارة التجارة تبحث باسم المنشأة أو الرقم الوطني الموحد للمنشأة وتعرض بيانات سجلها التجاري. والمستهلك من الفئات المستفيدة منها، فلا يلزم أن تكون تاجرًا.
- التسجيل في ضريبة القيمة المضافة (السعودية): خدمة التحقق من التسجيل في ضريبة القيمة المضافة من هيئة الزكاة والضريبة والجمارك مفتوحة للجمهور، وتتحقق من تسجيل المنشأة بالرقم الضريبي أو رقم السجل التجاري أو رقم شهادة ضريبة القيمة المضافة. افحص الرقم المطبوع على عرض السعر.
- الرخص (الإمارات): السجل الاقتصادي الوطني يمكّنك من الاستعلام عن الرخص الاقتصادية والأنشطة الاقتصادية في الإمارات. وتسرد صفحته الجهات المعتمدة لإصدار تراخيص الأنشطة الاقتصادية، وهي وزارة الاقتصاد والسياحة والدائرة الاقتصادية أو البلدية في كل إمارة، وليس بينها أي منطقة حرة؛ فإن كانت الشركة مرخّصة في منطقة حرة فاطلب رخصتها الصادرة عن تلك المنطقة أيضًا.
السجل يثبت أن الشركة موجودة، لا أنها قادرة على التنفيذ. وللحكم على القدرة، ثبّت تطبيقات نفّذتها فعلًا، واتصل بعملائها السابقين بنفسك.
ما البنود التي يجب أن يتضمنها عقد برمجة التطبيق؟
البنود الجيدة تجعل النطاق ومعايير القبول والملكية صريحة، أما «نموذج عقد تطوير تطبيق» الجاهز المتداول على الإنترنت فكُتب لمشروع غير مشروعك. هذه هي البنود الهندسية التي لا أوقّع دونها. وما يلي إرشاد هندسي لا استشارة قانونية، فاعرض العقد على محامٍ مرخّص في بلدك قبل التوقيع.
- وثيقة المتطلبات ملحقٌ بالعقد. وثيقة المتطلبات المعتمدة جزء من العقد، مع إجراء واضح لطلبات التغيير.
- مراحل بمعايير قبول. لكل مرحلة مخرجات ومعايير قابلة للاختبار ومهلة مراجعة تقبل فيها أو ترفض كتابيًا.
- الكود في مستودعك من اليوم الأول. المستودع ضمن حساب منظمة شركتك على GitHub أو GitLab أو Bitbucket، ومطورو الشركة المنفّذة أعضاء فيه تستطيع إزالتهم. أما بند «تسليم السورس كود عند الانتهاء» فهو ما يجعل احتجاز المشروع ممكنًا.
- حسابات المطوّر باسم شركتك. تُدرج Apple اسم المنظمة المسجّلة بوصفها البائع في متجر App Store، ومن يسجّلها يصبح «صاحب الحساب» (Account Holder)، ويُشترط أن يملك الصلاحية القانونية لإلزامها، فليكن من شركتك لا من الشركة المنفّذة. وإذا نُشر التطبيق على حساب الشركة المنفّذة، فنقله لاحقًا عملية «نقل تطبيق» يبدؤها صاحب حسابها هي. وتطلب Apple وGoogle من المنظمات رقم نظام ترقيم البيانات العالمي (D-U-N-S)، وتنبّه Google إلى أن الحصول عليه قد يستغرق ما يصل إلى 30 يومًا، فابدأ في الأسبوع الأول.
- بوابة الدفع والنطاق والسحابة باسمك. شركتك هي من يفتح حساب التاجر لتصل التسويات إلى حسابك البنكي، والشركة المنفّذة تحصل على مفاتيح الربط البرمجي (API) لا على الحساب. وينطبق الأمر نفسه على اسم النطاق وحساب السحابة وخدمات البريد والتحليلات.
- نقل الملكية الفكرية. تنتقل حقوق الكود والتصاميم والوثائق المعدّة لك إلى شركتك، مع قائمة بأي مكونات سابقة تعيد الشركة المنفّذة استخدامها والترخيص الذي يحكم استخدامك لها.
- فترة الضمان. مدة محددة بعد القبول تُصلَح فيها العيوب المخالفة لوثيقة المتطلبات دون مقابل، مع أزمنة استجابة بحسب الخطورة.
- التسليم والإنهاء. ما تستلمه في النهاية، أو فورًا إذا أنهى أحد الطرفين العقد: الكود المصدري، وتعليمات البناء والنشر، وإعدادات البيئات، وبيانات الدخول، ومخطط قاعدة البيانات، والتوثيق، على ألا تُستحق الدفعات إلا عن العمل المقبول.
- السرية وحماية البيانات الشخصية. إذا كانت الشركة ستستضيف النظام، أو تصل إلى بيانات الإنتاج، أو تدعم المستخدمين مع اطلاعها على سجلاتهم، فهي تعالج بيانات شخصية نيابةً عنك. والمادة الثامنة من نظام حماية البيانات الشخصية تُلزم جهة التحكم، أي شركتك، باختيار جهة معالجة توفر الضمانات اللازمة لتنفيذ أحكام النظام ولوائحه، وبالتحقق من التزامها بها. وتحدد المادة السابعة عشرة من اللائحة التنفيذية ما يجب أن يتضمنه الاتفاق معها، ومنه: غرض المعالجة ومدتها وفئات البيانات، والتزامها بإشعارك بأي تسرب دون تأخير غير مبرر، وتوضيح ما إذا كانت تخضع لأنظمة دول أخرى، وتحديد جهات المعالجة الفرعية. كما تجيز لك تعيين طرف مستقل يراجع التزامها نيابةً عنك. وإذا كانت الخوادم أو أعضاء الفريق خارج المملكة، فالمادة التاسعة والعشرون الخاصة بنقل البيانات الشخصية إلى خارج المملكة أو الإفصاح عنها لجهة خارجها تنطبق أيضًا؛ وتفصيل ذلك في قائمة الفحص الهندسية لنظام حماية البيانات الشخصية.
كيف تُجدول دفعات المشروع؟
ادفع مقابل عمل مقبول، لا مقابل الوقت ولا الوعود. اجعل الدفعة المقدمة صغيرة، واربط كل دفعة بعدها بمرحلة اجتازت معايير قبولها، واحتفظ بالدفعة الأخيرة حتى يكتمل التسليم.
| الدفعة | تُصرف عندما | ما يجب أن تملكه حينها |
|---|---|---|
| دفعة البدء (صغيرة) | يُوقَّع العقد ويُسمّى الفريق | المستودع والحسابات منشأة باسمك والشركة المنفّذة مدعوة إليها |
| مرحلة التصميم | تُقبل الشاشات والبنية التقنية | تصاميم معتمدة ومذكرة قصيرة عن البنية |
| مراحل الخصائص | تجتاز كل مجموعة خصائص معايير قبولها | نتائج الاختبار ونسخة ثبّتها بنفسك |
| الدفعة الأخيرة | يُقبل الإطلاق على بيئة الإنتاج ويكتمل التسليم | قائمة تسليم موقّعة |
احذر الدفعات المقدمة الكبيرة بحجة «حجز الفريق»: فحين يُدفع معظم المبلغ تذهب قدرتك على التفاوض.
ماذا تفحص قبل الدفعة الأخيرة؟
لا تصرف الدفعة الأخيرة إلا إذا كان بإمكانك تسليم المشروع لفريق آخر غدًا؛ فهي آخر ورقة ضغط حقيقية في يدك.
- كل متطلب في الوثيقة مصنّف: مقبول، أو مؤجل باتفاق مكتوب، أو مفتوح.
- آخر نسخة من الكود في مستودعك، وقد بناها ونشرها شخص من خارج الشركة المنفّذة باتباع التعليمات المكتوبة.
- التطبيقات منشورة على حسابات المطوّر الخاصة بشركتك، وصلاحيات الشركة المنفّذة مقلّصة إلى ما تحتاجه فترة الضمان.
- بيئة الإنتاج في حسابك السحابي، وبيانات دخول المدير بيدك.
- بوابة الدفع وخدمات الرسائل النصية والبريد والخرائط باسمك، والتسويات تصل إلى حسابك البنكي.
- فحص أمني أساسي منجز: لا أسرار مكشوفة في الكود، ولوحات الإدارة محمية، ونسخة احتياطية استُعيدت فعلًا لا جُدولت فقط.
- التوثيق مسلَّم: البنية التقنية، ومتغيرات البيئة، ومخطط قاعدة البيانات، وقائمة الخدمات الخارجية.
- تاريخ بدء الضمان وقناة الإبلاغ عن العيوب مؤكدان كتابيًا.
المراجعة الفنية المستقلة تبلغ أعلى قيمتها في لحظتين: قبل التوقيع، وقبل هذه الدفعة. وعلى هاتين اللحظتين يتركّز عملي الاستشاري.
ماذا تفعل إذا توقف المشروع عند 75%؟
أوقف الدفع المسبق، وأمّن صلاحياتك، واحصل على تقييم مستقل لما أُنجز فعلًا قبل أن تقرر الاستمرار مع الشركة نفسها. فعبارة «أنجزنا 75%» كثيرًا ما تصف الشاشات، لا الخلفية البرمجية والتكاملات والاختبار المتبقية.
- ادفع مقابل العمل المقبول فقط. لا شيء مقدمًا حتى يُتفق على خطة جديدة.
- أمّن الوصول الآن. احصل على صلاحيات المدير، باسم شركتك، للمستودع والسحابة وحسابات المطوّر والنطاق وبوابة الدفع ما دامت العلاقة ودية.
- اطلب تقييمًا مستقلًا. طرف غير الشركة المنفّذة يبني الكود ويشغّله، ويصنّف كل متطلب: منجز، أو منجز جزئيًا، أو غير موجود. النسبة التي تذكرها الشركة ليست دليلًا.
- حوّل المتبقي إلى معايير قبول. قائمة مكتوبة بما بقي، بمواعيد ودفعة لكل بند.
- قرّر: إصلاح أم انتقال. إن كان الكود سليمًا والفريق ملتزمًا، فقد ينجح عقد بخطة جديدة. وإن تعذّر على أي طرف آخر بناء الكود، أو استمر تأخر المواعيد بعد إعادة التخطيط، فخطّط للتسليم إلى فريق آخر.
- وثّق كل شيء كتابيًا. الإخطارات الرسمية وأي إنهاء للعقد تمر عبر محاميك، وفق شروط الإنهاء في عقدك.
أفضل حماية هي التي تُبنى قبل التوقيع. فحين يكون الكود والحسابات ومعايير القبول ملكك من البداية، يصبح تعثر الشركة المنفّذة إزعاجًا لا أزمة.