كل أسبوع يسألني أحدهم: كم يكلف موقع؟ كم يكلف تطبيق؟ كم يكلف نظام إدارة؟ والجواب الصادق أن السؤال بهذه الصيغة لا جواب له، تماماً مثل سؤال كم يكلف بناء مبنى. لكن هذا لا يعني أن الرقم غامض أو أن عليك أن تدفع ما يُطلب منك. التكلفة في البرمجيات تُبنى من عوامل محددة يمكن عدّها ومناقشتها، وهذا المقال يشرحها بالتفصيل حتى تدخل أي محادثة تسعير وأنت تعرف ما تدفع مقابله.
ما ستقرأه هنا مبني على ٤٢ مشروعاً سلّمتها لعملاء في السعودية والإمارات والكويت ومصر وبريطانيا، تتراوح بين صفحة هبوط واحدة ومنصات متعددة المستأجرين تخدم شركات كاملة. الأرقام التي سأذكرها بالدولار لأنها وحدة مقارنة محايدة بين الأسواق، وهي نطاقات واقعية لا أسعار دعائية.
لماذا لا تنفع الأسعار المنشورة على الإنترنت
ابحث عن تكلفة تطوير موقع وستجد مئات الصفحات تعطيك رقماً. المشكلة في هذه الأرقام ليست أنها خاطئة، بل أنها تقيس أشياء مختلفة وتسميها بالاسم نفسه.
موقع بخمسمئة دولار موجود فعلاً. هو قالب جاهز، بُدّلت صوره ونصوصه، بلا لوحة تحكم حقيقية، بلا نسخة عربية مكتوبة من البشر، وبلا أي منطق عمل. هذا مناسب تماماً لشخص يحتاج وجوداً إلكترونياً هذا الأسبوع ولا شيء أكثر. وموقع بخمسة عشر ألفاً موجود أيضاً، وهو شيء آخر تماماً: هيكل محتوى مبني ليظهر في البحث، نسخة عربية أصلية لا مترجمة آلياً، نماذج تواصل تعمل وتوصل الطلب فعلاً، سرعة تحميل مقيسة، ولوحة تحكم يستخدمها فريقك بدون أن يتصل بي كل مرة.
الرقمان صحيحان، والمقارنة بينهما بلا معنى. والمشكلة الحقيقية أن المشتري لا يعرف أي الاثنين يحتاج، فيقارن عرضاً من الفئة الأولى بعرض من الفئة الثانية ويستنتج أن الثاني مبالغ فيه.
هناك سبب ثانٍ أقل وضوحاً: معظم مقالات التسعير مكتوبة بأسعار سوق أمريكي أو أوروبي، ثم تُترجم إلى العربية كما هي. سوق الخليج له تركيبة تكاليف مختلفة، فيه متطلبات تقنية لا توجد في أي سوق آخر، وفيه في الوقت نفسه وصول إلى مطورين بتكلفة أقل من الأسعار الغربية. من يستخدم جدول أسعار أمريكياً لتقييم عرض سعودي يصل إلى استنتاج خاطئ في كلا الاتجاهين.
العوامل السبعة التي تحدد الرقم فعلاً
عندما أقدّر مشروعاً، لا أنظر إلى قائمة الميزات أولاً. أنظر إلى هذه السبعة، لأنها هي التي تحرك الرقم بمضاعفات، لا بنسب مئوية.
١. هل في المشروع حسابات وصلاحيات
الفرق بين موقع يعرض معلومات وموقع يسجّل فيه الناس دخولاً هو أكبر قفزة واحدة في التكلفة، وأكثر ما يُستهان به. لحظة وجود حسابات تظهر معها: تسجيل، تحقق، استعادة كلمة مرور، أدوار وصلاحيات، سجل لمن فعل ماذا، وحماية كل مسار في النظام من أن يراه من لا يملك حقه.
وهذه الأخيرة هي الخطأ الأكثر شيوعاً الذي أجده في الأنظمة المبنية بميزانيات صغيرة. إخفاء زر من الواجهة ليس صلاحية. إذا كان الطلب نفسه يعمل عندما يكتب أحدهم العنوان مباشرة، فالبيانات مكشوفة لأي شخص عنده فضول، وهذا النوع من الأخطاء يكتشفه عميلك قبل أن تكتشفه أنت.
٢. هل تمر الأموال من خلاله
قبول الدفع يضيف طبقة كاملة من العمل لا علاقة لها بشكل الشاشة. حالات الدفع الناقص، المدفوعات التي تنجح عند البوابة وتفشل عند نظامك، الاسترجاع الجزئي، الفواتير، التسوية مع الحسابات. وفي السعودية تحديداً يضيف الدفع متطلب الفاتورة الإلكترونية، وهذا بند مستقل سأعود إليه.
٣. مع كم نظام خارجي يتكلم
كل تكامل بند تكلفة منفصل، والتكاليف تتفاوت بشكل حاد. بوابة دفع حديثة لها واجهة برمجية موثقة تُنجز في يومين. نظام محاسبة محلي قديم بلا واجهة برمجية قد يستهلك أسبوعين، ويحتمل أن ينتهي بملف يُرفع يدوياً كل يوم لأن لا طريقة أخرى.
السؤال الذي أطرحه دائماً قبل التقدير: هل للنظام الذي تريد الربط به واجهة برمجية، وهل عندك بيانات الدخول إليها؟ إذا كان الجواب لا أعرف، فهذا بند مفتوح في الميزانية ويجب أن يظهر في العرض كبند مفتوح لا كرقم.
٤. العربية والإنجليزية معاً
اللغتان ليستا مجرد ملف ترجمة. الواجهة تُقلب من اليمين إلى اليسار بالكامل، والقلب ليس انعكاساً بصرياً بسيطاً: الأيقونات الاتجاهية تتغير، والأرقام تبقى من اليسار لليمين داخل نص عربي، وحقول التواريخ والمبالغ تحتاج معاملة خاصة.
ثم يأتي الجزء الأغلى: البحث. البحث العربي الذي يعمل فعلاً يتعامل مع التشكيل، والهمزات التي يكتبها الناس بأشكال مختلفة، والتاء المربوطة والهاء، والألف المقصورة والياء. مستخدم يكتب "استشاره" ويتوقع أن يجد "استشارة". البحث الذي لا يفعل هذا يبدو مكسوراً حتى لو كان الكود سليماً.
وأخيراً المحتوى. من يكتب النسخة العربية؟ الترجمة الآلية مكشوفة فوراً للقارئ العربي وتضر بالثقة أكثر من غيابها. إذا كان المطور سيكتبها فهذا بند، وإذا كنت ستكتبها أنت فهذا توفير حقيقي ومحتوى أفضل لأنك تعرف مجالك.
عملياً: أضف ما بين ٢٠ و٣٥ بالمئة على مشروع ثنائي اللغة مقابل نفس المشروع بلغة واحدة، والنسبة في الطرف الأعلى عندما يكون هناك بحث ومحتوى كثير.
٥. من يدير النظام بعدك
نظام يديره شخص تقني يختلف عن نظام يديره موظف استقبال. الثاني أغلى في البناء لأن كل شاشة إدارة تحتاج تصميماً واضحاً، ورسائل خطأ مفهومة، وحماية من الأخطاء الشائعة، وحالات فراغ تشرح للمستخدم ماذا يفعل عندما لا توجد بيانات بعد.
هذا بند أوفّر فيه كثيراً على العملاء عندما يكون الجواب أن النظام سيديره شخص واحد تقني. وبند أرفضه عندما يكون الجواب أن عشرين موظفاً سيستخدمونه، لأن لوحة إدارة سيئة في هذه الحالة تعني أن النظام لن يُستخدم أصلاً.
٦. كم مستخدم وكم عملية
نظام لخمسين مستخدماً ونظام لخمسين ألفاً مختلفان في البنية لا في الميزات. الثاني يحتاج قرارات في قواعد البيانات والتخزين المؤقت والطوابير والمراقبة، وكل قرار منها وقت.
والخطأ الأشيع هنا في الاتجاه المعاكس: شركات تطلب نظاماً يتحمل مليون مستخدم وعندها أربعمئة. هذا شراء تكلفة اليوم مقابل مشكلة قد لا تأتي أبداً. ابنِ لعشرة أضعاف حجمك الحالي، واحرص أن يكون نموذج البيانات قابلاً للنمو، وأعد النظر عندما تصل.
٧. من يبني
نفس البريف يعطي أربعة أرقام مختلفة من أربعة أنواع من المورّدين، وهذا موضوع له قسم كامل في هذا المقال لأنه يحرّك السعر أكثر من أي عامل تقني.
نطاقات الأسعار حسب نوع المشروع
هذه نطاقاتي لعام ٢٠٢٦ بالدولار الأمريكي، وهي تفترض وجود بريف واضح، وشخص واحد يتخذ القرار، وعدم إعادة تصميم في منتصف الطريق. حيث يكون النطاق واسعاً، يشرح النص تحته ما الذي يرفعك فيه.
موقع تعريفي لشركة
من ١٢٠٠ إلى ٤٥٠٠ دولار. من خمس إلى خمس عشرة صفحة، عربي وإنجليزي، نموذج تواصل يوصل الطلب فعلاً، بيانات منظمة تجعلك تظهر بشكل صحيح في البحث، وسرعة تحميل تصمد على الجوال بشبكة بيانات. الطرف الأدنى موقع مبني بإحكام على هيكل واضح. الطرف الأعلى يضيف نموذج محتوى حقيقي يمكّن فريقك من النشر بدون الاتصال بأحد، وتوجيهاً بصرياً خاصاً بك لا مقتبساً من قالب.
ما يرفعك في النطاق: أكثر من لغتين، قسم وظائف مع تقديم طلبات، صفحات فروع متعددة، أو مسار موافقة قبل نشر المحتوى.
صفحة هبوط مبنية للتحويل
من ٦٠٠ إلى ٢٠٠٠ دولار لصفحة واحدة. يبدو الرقم كبيراً لصفحة واحدة، وهو كذلك إن فكرت فيها كصفحة. ما تشتريه هو العرض مكتوباً بوضوح، ونموذج قصير بما يكفي ليكمله الناس، وتتبع موصول حتى ترى أي إعلان جاء بأي طلب، وسرعة تحميل تكفي ألا تدفع في إعلاناتك ثمن زوار يخرجون قبل ظهور الصفحة. رأيت تحسين زمن التحميل بثانيتين ونصف يغيّر عدد الطلبات أكثر من شهر كامل من تحسين الإعلانات.
متجر إلكتروني
من ٣٥٠٠ إلى ١٥٠٠٠ دولار لبناء مخصص. تحت هذا النطاق، استخدم سلة أو زد في السعودية، أو شوبيفاي خارجها، وأنفق الفرق على التصوير والإعلانات. أقول هذا لعملائي باستمرار وهو يكلفني أعمالاً، لكن متجراً يبيع أربعين منتجاً بشحن عادي لا يحتاج برمجة مخصصة وسينطلق أسرع بستة أسابيع على منصة جاهزة.
ابنِ مخصصاً عندما تعجز المنصة فعلاً: أسعار تختلف بحسب عقد كل عميل، مُهيّئ منتجات، مخزون موزع على فروع مع استلام من الفرع، حسابات شركات بآجال سداد وأوامر شراء، أو تكامل مع نقاط بيع أو نظام موارد لا يغطيه متجر التطبيقات في المنصة.
منصات الحجز والمواعيد
من ٤٠٠٠ إلى ٢٠٠٠٠ دولار. هذا أوسع نطاق في كل الفئات، لأن كلمة حجز تشمل طبيب أسنان بكرسي واحد ومشغّلاً سياحياً يبيع برامج فيها تنقلات وفنادق وواجهة مورّد خارجية. منصة لوتس شرم السياحية كانت في الطرف الأعلى من النطاق: برامج، ونقل من المطار، وحجز فنادق، وإدارة كاملة لخط سير الرحلة، وواجهة برمجية خاصة بها لأن المشغّل كان يحتاج تغذية شركاء أيضاً.
ما يحرّك التكلفة ليس التقويم، بل التوفّر. في اللحظة التي يستطيع فيها شخصان حجز نفس الموعد، تحتاج نظاماً صحيحاً تحت الضغط، والصحة تحت الضغط هندسة لا تصميم.
أنظمة أعمال مخصصة: إدارة علاقات العملاء، تخطيط الموارد، نقاط البيع
من ٦٠٠٠ إلى ٤٠٠٠٠ دولار. هنا يقع معظم العمل الجدي في الخليج حالياً، وهنا أيضاً أوسع فجوة بين عرض تجريبي ونظام يصمد سنة.
أومنيكستراك، وهو نظام إدارة علاقات عملاء عربي متعدد المستأجرين، وكاسنتا، وهو نظام نقاط بيع سحابي يخدم عدة منشآت من نشر واحد، كلاهما في هذا النطاق. السبب هو تعدد المستأجرين: بيانات شركة لا يجوز أن تظهر في شركة أخرى أبداً، وكل استعلام في النظام يحمل هذا القيد، والخطأ فيه مرة واحدة حادثة لا تتعافى منها المنشأة. الأنظمة أحادية الشركة أرخص بوضوح لنفس قائمة الميزات.
منصة برمجيات بالاشتراك
من ١٢٠٠٠ إلى ٦٠٠٠٠ دولار لنسخة أولى يدفع عملاء حقيقيون مقابلها. ليست نموذجاً تجريبياً. اشتراكات، وحدود خطط مفروضة فعلاً، ودورة فوترة كاملة تشمل الترقية والتخفيض والدفعات الفاشلة، وفصل بين المستأجرين، وجانب إداري تستطيع إدارة شركة منه.
معظم المؤسسين يطلبون النسخة الثالثة. مهمة النسخة الأولى الجيدة أن تكون صغيرة بما يكفي لتُطلق، وحقيقية بما يكفي لتُباع، وأصعب جزء في العمل هو تحديد ما تتركه خارجاً. أقنعت عملاء بالنزول من هذا النطاق أكثر مما أقنعت أحداً بالصعود إليه.
تطبيقات الجوال
من ٥٠٠٠ إلى ٣٠٠٠٠ دولار لكل منصة، وأقل عندما تغطي قاعدة كود واحدة المنصتين. التطبيقات المنشورة تحمل تكاليف لا يحملها الموقع: مراجعة المتجر التي ترفض أشياء لأسباب لا تتوقعها، وتحديثات إلزامية عند تغير نظام التشغيل، وحقيقة بسيطة أن مستخدماً يشغّل نسختك عمرها ستة أشهر ما زال مشكلتك.
نشرت تطبيقات على جوجل بلاي لعملاء في مصر والخليج وأوروبا، والنمط يتكرر. المتجر لا يكون العقبة أبداً. العقبة خادم لم يُبنَ لأسبوعين من مستخدمين حقيقيين، ولهذا تُخطط الواجهة البرمجية ونموذج البيانات قبل أن يصمم أحد شاشة واحدة.
ميزات الذكاء الاصطناعي
من ٢٠٠٠ إلى ٢٥٠٠٠ دولار فوق تكلفة النظام الذي تعيش فيه، والجواب الصادق أن معظم طلبات الذكاء الاصطناعي يخدمها صندوق بحث مبني جيداً ونموذج واضح بشكل أفضل. أما التي تسدد ثمنها فعلاً فتكون ضيقة ومحددة: ترتيب الطلبات الواردة وتقييمها، استخراج بيانات منظمة من مستندات يعيد الناس كتابتها يدوياً اليوم، صياغة نسخة أولى يوافق عليها إنسان بعدها.
سيجما بي إم أو أوضح مثال عندي على الشكل الذي ينجح. التحليل يعمل آلياً على سبعة عشر مرحلة حوكمة، ولا شيء يصل إلى بنك أو مستثمر قبل أن يوافق عليه شخص بالاسم. تحليل آلي، وموافقة بشرية. ابنِها بالترتيب المعاكس وتكون قد اشتريت لنفسك مسؤولية قانونية.
وخصص ميزانية للتشغيل أيضاً. استهلاك النماذج فاتورة مستمرة تنمو مع حجم الاستخدام، بخلاف الاستضافة التي لا تنمو في الغالب.
تكاليف الخليج التي تغفلها قوائم الأسعار المستوردة
هذا القسم هو السبب في أن عرضاً من وكالة أجنبية وعرضاً من شخص يعمل هنا قد يختلفان كثيراً وكلاهما صادق. هذه البنود عمل حقيقي. إذا غابت عن عرض السعر فهي ليست مجانية، بل مؤجلة.
عربية مصممة لا مترجمة
التخطيط ثنائي الاتجاه ليس خياراً في ملف تنسيق. الاتجاه ينقلب، لكن الأرقام والعملات وأرقام الهواتف وأسماء العلامات تبقى من اليسار لليمين داخل جملة عربية، وكل نص مختلط فرصة للخطأ. الأيقونات التي تشير إلى اتجاه يجب أن تُعكس. ورسائل التحقق في النماذج يجب أن تُقرأ كشيء يقوله إنسان بالعربية، لا كترجمة آلية لخطأ إنجليزي.
ثم يأتي الخط. معظم مجموعات الخطوط الافتراضية على الويب تعرض العربية بشكل سيئ، بارتفاع سطر خاطئ وأشكال حروف تبدو مستعارة. اختيار خط عربي وتحميله بشكل صحيح، وإبقاء حجم الملف صغيراً كي لا يضر بزمن التحميل، عمل صغير قائم بذاته.
خصص من ١٥ إلى ٢٥ بالمئة فوق تكلفة البناء أحادي اللغة مقابل عربية منفذة بشكل صحيح. ولا تخصص شيئاً إن كنت مستعداً لقبول موقع يدرك الناطق بالعربية أنه بُني بالإنجليزية أولاً، وهو ما يلاحظه معظم الزوار في ثانية ويقرأونه كإشارة عن الشركة.
طرق الدفع التي يستخدمها الناس هنا فعلاً
صفحة دفع تقبل البطاقات الدولية فقط ستخسر حصة كبيرة من العملاء السعوديين، لأن مدى هي البطاقة التي يحملها معظم الناس. أضف Apple Pay الذي يحقق في هذه المنطقة تحويلاً أعلى من أي خيار آخر على الجوال، و STC Pay بحسب سوقك، وخيارات التقسيط التي يتوقعها المشترون الأصغر سناً بشكل متزايد.
هذا يعني عملياً العمل مع بوابة إقليمية بدل اللجوء التلقائي إلى Stripe: ميسر أو تاب أو هايبر باي أو بي تابس في السعودية، مع تيلر وشبكة الإمارات الشائعتين في الإمارات. لكل منها تكاملها الخاص وبيئة الاختبار الخاصة وسلوك التسوية الخاص. بوابة واحدة يوم أو يومان من العمل. دعم عدة بوابات مع تحويل نظيف عند فشل إحداها في منتصف العملية أسبوع كامل.
وتسجيل التاجر تبعية يجب أن تبدأها مبكراً. فيها أوراق وتحقق وانتظار، وقد شاهدت مشاريع جاهزة تنتظر ثلاثة أسابيع بلا إطلاق لأن أحداً لم يبدأ طلب البوابة قبل انتهاء الكود. ابدأه في يوم بدء المشروع.
الامتثال في السعودية
إذا كنت تصدر فواتير في السعودية، فالفاتورة الإلكترونية التزام نظامي لا ميزة. الفواتير تُنشأ بهيكل محدد، وتحمل رمز استجابة سريعة، وتُبلّغ إلى هيئة الزكاة والضريبة والجمارك أو تُجاز منها بحسب المرحلة والالتزامات المنطبقة على منشأتك. تنفيذ هذا بشكل صحيح يشمل شهادات، وصيغة فاتورة محددة، وتكاملاً يجب أن يستمر في العمل، لأن فاتورة تفشل في الإجازة فاتورة لا تستطيع إعطاءها لعميل.
هذا هو البند الأكثر غياباً عن عروض الأسعار، والأغلى في الإضافة لاحقاً، لأن الفوترة تلمس نموذج البيانات نفسه ولا تجلس بجانبه. إذا كان نظامك سيصدر فواتير فأثر الموضوع في أول اجتماع واسأل مباشرة هل العرض يشمله. وتأكد من التزاماتك أنت مع محاسبك أو مع الهيئة لا مع مطورك، ثم أخبر المطور بما ينطبق.
والبيع للمستهلكين إلكترونياً في السعودية له توقعات تسجيل أيضاً، والمنصات ومزودو الدفع سيطلبون بيانات السجل التجاري أثناء التسجيل. لا شيء من هذا صعب. وكله يستهلك وقتاً على التقويم.
الهوية الوطنية والتكامل الحكومي
بعض القطاعات تحتاج هوية موثقة لا بريداً إلكترونياً. السعودية عندها بنية هوية رقمية وطنية تستطيع الخدمات التكامل معها، وحيث ينطبق ذلك فإنه يزيل فئة كاملة من الاحتيال والتحقق اليدوي. ويضيف في المقابل مسار موافقة ومرحلة بيئة تجريبية ومراجعة امتثال إلى جدولك الزمني. تعامل معه كمرحلة في المشروع لها تاريخها الخاص، لا كمهمة داخل أسبوع عمل.
استضافة قريبة من مستخدميك
خادم في فرانكفورت يخدم عملاء في جدة يضيف تأخيراً إلى كل طلب. في موقع تعريفي تحل شبكة توزيع المحتوى معظم المشكلة. أما في تطبيق يرسل فيه الناس نماذج وينتقلون بين شاشات طول اليوم، فالفرق محسوس، وسيصف موظفوك نظامك بالبطيء دون أن يعرفوا سبباً. الاستضافة الإقليمية أو إعداد حدّي مضبوط يكلفان قليلاً أكثر ويستحقان ذلك غالباً.
ما يحتاجه كل قطاع فعلاً
السعر يتبع المتطلبات، والمتطلبات تتبع القطاع أكثر مما يتوقع معظم المشترين. هذا ما يحرّك الرقم، قطاعاً بقطاع، من أنظمة سلّمتها بنفسي.
العقار والتطوير العقاري
عرض الوحدات هو الجزء السهل. التكلفة تجلس في مسار العمل خلفها: وحدات لها حالة لا يجوز أن تكون خاطئة أبداً، وحجوزات تُثبّت لمدة ثم تُحرّر، وتقسيم عمولات، وحزمة مستندات لكل وحدة، ومتابعة التسليم. والمطورون يحتاجون كذلك حوكمة على الأرقام، وهذا نظام مختلف تماماً عن النظام الذي يعرض للعميل مخططاً.
النطاق المعتاد لمنصة بيع ومخزون عقاري: من ٨٠٠٠ إلى ٣٠٠٠٠ دولار. وموقع عرض وحدات وحده أقل من ذلك بكثير.
المكاتب والشركات القانونية
السرية تشكّل كل شيء، فيتوقف التحكم بالوصول عن كونه ميزة ويصبح هو البنية نفسها. صلاحيات على مستوى القضية، ومستودع مستندات بسجل تدقيق حقيقي، ومتابعة مواعيد نظامية، ومسار استقبال يجمع ما يكفي لتقييم قضية دون أن يجمع أكثر مما يريد المكتب أن يحتفظ به. وعلى الواجهة العامة، شجرة خدمات تمكّن الزائر من الوصول إلى الشيء المحدد الذي يحتاجه بدل صفحة تسرد كل شيء.
النطاق: من ٤٠٠٠ إلى ١٨٠٠٠ دولار بحسب دخول إدارة القضايا الداخلية في النطاق أم المنصة العامة فقط.
الرعاية الصحية والعيادات
المواعيد بسيطة حتى تلتقي بالواقع: عدة أطباء، وغرف كمورد منفصل، ومدد إجراءات مختلفة، ومعالجة عدم الحضور، وتذكيرات تقلل عدم الحضور فعلاً. وبيانات المرضى ترفع سقف الأمان للمشروع كله. وأي تكامل مع نظام عيادة قائم يكون عادة أكبر بند منفرد.
النطاق: من ٥٠٠٠ إلى ٢٥٠٠٠ دولار. منصة حجز عيادة الدكتور محمد لطب الأسنان كانت في منتصف هذا النطاق.
التعليم والتدريب
حالات التسجيل، ومتابعة التقدم، والتقييم، والشهادات، وأدوات للمدربين لا تجعلهم يكرهون النظام في الشهر السادس. والتدريب المؤسسي يضيف هيكلاً ثانياً كاملاً: شركات كمشترين، ومجموعات، وتوزيع مقاعد، وتقارير سيطلبها قسم الموارد البشرية عند العميل.
أكاديمية OGS، التي تقدم تدريباً صناعياً معتمداً لعملاء في النفط والغاز والصناعات الثقيلة في السعودية، احتاجت الطبقة المؤسسية لا الاستهلاكية، وهذا الفرق وحده حرّك المشروع أكثر من أي ميزة في القائمة.
النطاق: من ٦٠٠٠ إلى ٣٠٠٠٠ دولار.
المطاعم وخدمات الأغذية
اقتصاد هذا القطاع هو الذي يقود القرار التقني. منصة التوصيل تأخذ نسبة من كل طلب، وبالنسبة لمطعم بحجم حقيقي تكون هذه النسبة أكبر تكلفة قابلة للتحكم في المنشأة كلها. طلب خاص بك، وحجز طاولات خاص بك، وتبقى الحاشية في المطبخ.
ما يحتاجه فعلاً: قائمة بخيارات تعديل تطابق طريقة عمل المطبخ، وساعات عمل ونطاقات توصيل، وحالة طلب يراها العميل، وطابعة أو شاشة في المطبخ لا تعتمد على شخص يراقب تبويب متصفح.
النطاق: من ٣٠٠٠ إلى ١٢٠٠٠ دولار، وفترة استرداد التكلفة تُقاس عادة بالأشهر لا بالسنوات.
اللوجستيات والتوصيل
توزيع المهام، وتطبيق المندوبين، وتتبع مباشر، وإثبات تسليم، وتسوية الدفع عند الاستلام، وتسعير حسب النطاق. والدفع عند الاستلام هو البند الذي يفاجئ الناس: يعني عهدة مالية للمندوب، وتسوية، وعملية مطابقة يومية، وكل هذا برمجيات. منصة تمّم للتوصيل واللوجستيات في صعيد مصر حملت كل ذلك مع تطبيق أندرويد خاص بها.
النطاق: من ١٠٠٠٠ إلى ٤٠٠٠٠ دولار.
خدمات الحج والعمرة والخدمات الدينية
الطلب في هذا القطاع مرتبط بالتقويم ومتركز بشدة، وهذا يغيّر الهندسة. النظام يجب أن يصمد في نافذة قصيرة يأتي فيها الجميع مرة واحدة، ويجب أن يتصرف بشكل صحيح على شبكة مزدحمة في مكة قد يستغرق فيها الطلب عدة ثوانٍ أو لا يصل أبداً. وتوثيق المزوّدين مهم لأن الثقة هي المنتج. ونماذج البرامج يجب أن تصمد أمام تغييرات الواقع دون أن تُفسد حجزاً قائماً.
بنيت في هذا القطاع مراراً، منها هدية وتفويض ومعين ووسيلة، والدرس الذي يتكرر أن حالة الطلب يجب أن تُصمم لشبكة غير موثوقة لا لشبكة جيدة.
النطاق: من ٧٠٠٠ إلى ٢٨٠٠٠ دولار.
الخدمات المهنية والاستشارات
عادة منصة عامة مع استقبال منظم، والقيمة الحقيقية في ما يحدث للطلب بعد وصوله: توجيهه، وتصفيته، وسجل يستطيع الشريك التصرف على أساسه. سيجما بي إم أو أضافت إلى ذلك نظام حوكمة، حيث كل مُخرج يجب أن يرجع إلى مستند مصدر قبل أن يوقّع عليه أحد.
النطاق: من ٣٠٠٠ إلى ٢٠٠٠٠ دولار.
طريقة الدفع تغيّر ما تدفعه
ثلاثة نماذج تسيطر على السوق، واختيار النموذج الخطأ لحالتك يكلفك أكثر من اختيار المطور الخطأ.
سعر ثابت
تتفقان على نطاق ورقم. ينجح عندما يكون النطاق معروفاً مسبقاً فعلاً، وهذا صحيح أكثر بكثير مما يحب المطورون الاعتراف به: موقع شركة، متجر، نظام حجز تستطيع وصفه بالكامل.
ما يجب أن تفهمه أن السعر الثابت يحتوي علاوة مخاطرة. المطور يحتمل عدم اليقين، فهو يسعّر النسخة السيئة من مشروعك لا النسخة المرجحة. البريف الأوضح يخفض هذه العلاوة مباشرة، وهذا أرخص مال تنفقه في مشروع برمجي.
نقطة الفشل هي التغيير. بعد تثبيت النطاق تصبح كل إضافة مفاوضة، والمطور الذي سعّر بهامش رقيق يصبح شخصاً يبحث عن أسباب ليقول لا. اتفقا مسبقاً على كيفية تسعير التغييرات، قبل أن تحتاج واحداً.
بالوقت والجهد
تدفع مقابل ساعات أو أيام. نموذج صادق عندما لا يرى أحد نهاية العمل: منصة طويلة الأمد، تكامل في نظام لا تتحكم فيه، منتج ما زال يبحث عن شكله.
وهو ينقل المخاطرة كلها إليك، فلا ينجح إلا مع مطور تستطيع التحقق منه. اطلب حداً أعلى أسبوعياً، وعرضاً كل أسبوع أو أسبوعين، وحق التوقف في نهاية أي شهر. من يرفض الثلاثة يخبرك بشيء.
عقد شهري
مبلغ شهري ثابت مقابل عمل ودعم مستمر. النموذج الصحيح بعد الإطلاق وعندما يصبح النظام مهماً للمنشأة. توقع أن تدفع ما بين ١٠ و٢٠ بالمئة من تكلفة البناء سنوياً للصيانة، وأكثر إذا كان نظامك فيه تكاملات كثيرة، لأن أنظمة الآخرين تتغير ونظامك يجب أن يلاحق.
السؤال الذي يجب طرحه: ماذا يغطي العقد الشهري عندما لا يتعطل شيء؟ الجواب الجيد يشمل تحديثات ومراقبة ونسخاً احتياطية وقدراً صغيراً من التطوير. والجواب السيئ كلمة "دعم"، ومعناها أنك تدفع شهرياً مقابل حق الإبلاغ عن المشاكل.
الدفع على مراحل، في أي نموذج اخترت
لا تدفع كل شيء مقدماً، ولا تتوقع من مطور أن يعمل شهوراً مقابل لا شيء. تقسيم على نحو ٣٠ بالمئة عند البدء، و٤٠ عند نظام عامل تستطيع استخدامه، و٣٠ عند الإطلاق يبقي الطرفين ملتزمين. اربط كل دفعة بشيء تستطيع رؤيته واختباره، لا بتاريخ.
كيف تقرأ عرض سعر
معظم العروض في هذا السوق صفحة واحدة فيها رقم. هذا ليس عرض سعر، بل أمنية. هذا ما يحتويه العرض الحقيقي، وما يحميك منه كل بند.
| ما يجب أن يحتويه العرض | ما يمنعه |
|---|---|
| قائمة بأنواع المستخدمين وما يستطيع كل منهم فعله | أن تكتشف أن لوحة الإدارة غير مشمولة |
| التكاملات بالاسم، سطر لكل واحد | أن تعني عبارة "يتصل بنظامك" ملف بيانات يُرفع يدوياً |
| نطاق اللغات صريحاً، بما يشمل إدخال المحتوى العربي | بناء إنجليزي ملحق به عربي |
| من يكتب المحتوى ومن يوفّر الصور | موقع جاهز ينتظر النصوص ثلاثة أشهر |
| عدد مرات تعديل التصميم المشمولة | حلقة تعديلات مفتوحة، أو فاتورة مفاجئة |
| ماذا يحدث للكود ومن يملكه | العجز عن تعيين أي شخص آخر لاحقاً |
| رسوم الاستضافة والنطاق والأطراف الثالثة، ومن يدفعها | فواتير سنوية لم تخطط لها |
| مدة الدعم بعد الإطلاق وما تغطيه | الدفع مقابل إصلاح أعطال في الأسبوع الثاني |
| الاستثناءات صريحة | كل خلاف ستدخل فيه |
بند الاستثناءات هو الذي أصرّ عليه. المطور المستعد لكتابة ما لن يفعله هو مطور فكر في المشروع. والمطور الذي يكتب ما سيفعله فقط كتب كتيّباً دعائياً.
إشارات تستحق أن تأخذها بجدية
عرض يصل خلال ساعة من أول محادثة لم يُقدّر، بل خُمّن، وسيُدافع عن التخمين لاحقاً بحذف أشياء. وسعر أقل بكثير من كل العروض الأخرى يعني عادة نطاقاً مختلفاً لا عرضاً أفضل، والمحادثة الواجبة تكون عن ما فيه لا عن الرقم. واسأل من يكتب الكود: الوكالات التي تربح العمل بشخص خبير وتنفّذه بمبتدئ شائعة في كل مكان، والسؤال مشروع.
واطلب نظاماً تستطيع الدخول إليه، لا معرض صور. أي شخص يستطيع عرض صور. وأقل منهم يستطيع عرض شيء يعمل، ويحمل بيانات حقيقية، ونجا من التقاء المستخدمين به.
تكاليف تظهر بعد الإطلاق
البناء هو الرقم المرئي. وهذه هي الأرقام التي تأتي لاحقاً، والتخطيط لها هو الفرق بين نظام يدوم ونظام يتعفن بهدوء.
| البند | التكلفة السنوية المعتادة | ملاحظات |
|---|---|---|
| الاستضافة | من ٦٠ إلى ١٢٠٠ دولار | الاستضافة المشتركة تكفي موقعاً، أما تطبيق بحركة حقيقية فليس مشكلة تُحل باستضافة مشتركة |
| النطاق | من ١٠ إلى ٦٠ دولاراً | نطاق sa. له متطلبات تسجيل خاصة به |
| شهادة التشفير | صفر | مجانية وآلية اليوم، ومن يحاسبك على شهادة أساسية يحاسبك على لا شيء |
| بوابة الدفع | نسبة من كل عملية | تتفاوت بحسب المزوّد ونوع البطاقة، فاحسبها على حجمك الحقيقي |
| رسائل البريد والجوال | من صفر إلى ٦٠٠ دولار | الرسائل النصية في هذه المنطقة ليست رخيصة بالحجم، ورسائل التحقق تتراكم سريعاً |
| الصيانة | من ١٠ إلى ٢٠ بالمئة من تكلفة البناء | تحديثات أمنية، وترقية الاعتماديات، وإصلاحات صغيرة |
| حسابات متاجر التطبيقات | ٢٥ دولاراً مرة واحدة لجوجل بلاي، و٩٩ دولاراً سنوياً لآبل | فقط إن كنت تنشر تطبيقات |
| استهلاك نماذج الذكاء الاصطناعي | ينمو مع الاستخدام | البند الوحيد الذي يكبر مع نجاحك |
الصيانة هي البند الذي يحاول الناس حذفه، وهي الأغلى عند تجاهله. الاعتماديات تتراكم فيها ثغرات معروفة سواء نظر إليها أحد أم لا، وفاتورة ثلاث سنوات من التحديثات المؤجلة تأتي مرة واحدة، عادة في شكل ترقية لا يمكن تنفيذها على مراحل.
كيف توفّر بدون أن تخرّب المشروع
كل واحدة من هذه تعمل. استخدمتها مع عملاء حقيقيين وهي تخفض التكلفة دون أن ينهار الشيء بعد ستة أشهر.
اقتطع من النطاق لا من الجودة
هذه هي اللعبة كلها. نصف نظام مبني بإحكام يستطيع أن يكبر. ونظام كامل مبني بسوء يجب أن يُستبدل، وستدفع مرتين.
النسخة العملية: اكتب كل ميزة، ثم صنّف كل واحدة بأنها لازمة للتشغيل، أو لازمة خلال ستة أشهر، أو مرغوبة. ابنِ المجموعة الأولى. وستتفاجأ كم من المجموعة الثانية تتوقف عن رغبته بعد أن تنطلق الأولى وترى كيف يستخدم الناس النظام فعلاً.
استخدم منصة جاهزة حيث تناسب
البرمجيات المخصصة يجب أن توجد لأن شيئاً ما خاص بمنشأتك. وكل ما هو عام تفعله منصة جاهزة أسرع وأرخص، وهذا يبقى صحيحاً بقدر ما أفضّل أن أُدفَع لبنائه. حيث تعجزك المنصة فعلاً، ابنِ. وحيث تضايقك فقط، تعايش معها سنة.
وفّر محتواك بنفسك
المحتوى غالباً من ١٥ إلى ٢٠ بالمئة من المشروع، وهو دائماً تقريباً سبب تأخر الإطلاق. إن استطعت كتابة نصوصك وتوفير صور حقيقية فأنت توفّر مالاً وتحصل على محتوى أفضل، لأنك تعرف منشأتك. وإن لم تستطع فقل ذلك وقت التسعير لا وقت الإطلاق.
اتخذ القرارات بسرعة
وقت المطور في الانتظار وقت تدفع مقابله، إما مباشرة أو عبر سعر ثابت أعلى في المرة القادمة. متخذ قرار واحد يجيب في يوم سيحصل على مشروع أفضل من لجنة تجتمع كل أسبوعين، والفرق يظهر في النتيجة.
لا تدفع مقابل إعادة تصميم لا تحتاجها
إذا كان موقعك يعمل وشكله قديم فقط، فتحديث التصميم على الهيكل القائم يكلف جزءاً بسيطاً من إعادة البناء. آخذ هذا العمل بانتظام. ثلاثة عملاء في قطاع الطيران جاءوني يريدون مواقع جديدة وخرجوا بنسخ محسّنة من مواقعهم، بجزء من تكلفة إعادة البناء المعروضة عليهم، لأن الهيكل تحت كان سليماً.
كن صادقاً في تقدير الحجم
طلب نظام يتحمل مليون مستخدم وعندك أربعمئة يشتري لك تكلفة اليوم مقابل مشكلة قد لا تأتي. ابنِ لعشرة أضعاف حجمك الحالي، واحرص أن ينمو نموذج البيانات، وأعد النظر عندما تصل. التوسع لاحقاً مشروع حقيقي لكنه أصغر من المبالغة في الهندسة الآن.
كم تستغرق الأمور
المدة الزمنية تكلفة، لأن نظاماً ينطلق متأخراً أربعة أشهر يعني أربعة أشهر من العمل لم يُدعَم. هذه تقديرات عملية من تاريخ التوقيع، على افتراض أن القرارات تصل في يومين وأن المحتوى جاهز.
| المشروع | المدة الواقعية | ما يؤخره عادة |
|---|---|---|
| صفحة هبوط | من ٣ إلى ٧ أيام | انتظار حسم العرض التسويقي |
| موقع شركة | من أسبوعين إلى ٥ أسابيع | توفير المحتوى والصور |
| متجر إلكتروني | من ٤ إلى ١٠ أسابيع | بيانات المنتجات، وتسجيل بوابة الدفع |
| منصة حجز | من ٥ إلى ١٢ أسبوعاً | قواعد التوفّر التي لم يكتبها أحد |
| نظام أعمال | من ٨ إلى ٢٠ أسبوعاً | اكتشاف كيف تعمل المنشأة فعلاً |
| نسخة أولى من منصة اشتراك | من ١٠ إلى ٢٤ أسبوعاً | نمو النطاق أثناء البناء |
| تطبيق جوال | من ٦ إلى ١٦ أسبوعاً زائد المراجعة | مراجعة المتجر، وتأخر الخادم |
النمط المشترك بينها كلها: التأخير يأتي من جهة العميل أكثر بكثير من جهة المطور، ودائماً تقريباً من قرار لا يملكه أحد. إن أردت مشروعاً ينتهي في وقته، سمِّ شخصاً واحداً يستطيع الموافقة وأعطه الصلاحية.
مثال محسوب بالكامل
مجموعة عيادات في الرياض بثلاثة فروع تريد حجزاً إلكترونياً. هكذا يُبنى الرقم فعلاً، حتى تستطيع إجراء التمرين نفسه قبل أن تسأل أحداً عن سعر.
| المكوّن | التقدير |
|---|---|
| موقع عام ثنائي اللغة، وثلاث صفحات فروع | ١٨٠٠ دولار |
| محرك الحجز: أطباء، غرف، مدد متغيرة | ٣٢٠٠ دولار |
| حسابات المرضى وسجلهم | ١٤٠٠ دولار |
| الإدارة: الجداول، الإجازات، إدارة الفروع | ٢٢٠٠ دولار |
| تذكيرات بالرسائل النصية وواتساب | ٩٠٠ دولار |
| الدفع الإلكتروني والعرابين | ١٢٠٠ دولار |
| تقارير للإدارة | ١١٠٠ دولار |
| الإجمالي | ١١٨٠٠ دولار |
والآن الجزء المفيد. احذف حسابات المرضى والدفع والتقارير من النسخة الأولى، فينزل الرقم إلى نحو ٨١٠٠ دولار مقابل شيء يفتح للحجز أسرع بستة أسابيع. ثم تضيف العيادة الباقي بعد أن تعرف أياً من الثلاثة افتقدته فعلاً، وفي تجربتي يكون نادراً الثلاثة كلها.
هذا هو التمرين الذي يستحق أن تجريه على أي مشروع. ليس "كم يكلف هذا" بل "ما أصغر نسخة تكسب، وكم تكلف".
الأسعار ليست واحدة في كل الخليج
يفترض العملاء غالباً وجود سعر إقليمي واحد. لا يوجد. والفروق تأتي من متطلبات كل سوق لا من مطورين يحاسبون بمبالغ مختلفة على العمل نفسه.
السعودية
أكبر سوق وأكثره تطلباً تقنياً، بسبب الامتثال. التزامات الفاتورة الإلكترونية، ومدى كبطاقة افتراضية، وفي عدة قطاعات توقّع أن تكون الهوية موثقة لا مُصرّحاً بها. والعربية ليست اختيارية ولا ثانوية: عند معظم المنشآت السعودية تكون الواجهة العربية هي الأصلية والإنجليزية هي الترجمة، وهذا عكس طريقة بناء كثير من المطورين.
توقع أن يحمل مشروع سعودي نحو ١٠ إلى ٢٠ بالمئة عملاً أكثر من المشروع نفسه في مكان آخر بالمنطقة، وجلّه في الامتثال والمدفوعات. وتوقع أن يستحق ذلك، لأن السوق كبير والمشترون فيه معتادون على الدفع مقابل برمجيات تعمل.
الإمارات
أكثر عالمية، وأكثر ميلاً للإنجليزية، وأكثر راحة مع الأدوات الدولية، فتذهب Stripe والمنصات القياسية مسافة أطول. وتعدد العملات يظهر كثيراً. ومنشآت المناطق الحرة لها ترتيبات خاصة تؤثر أحياناً على تسجيل الدفع.
وسقف التصميم مرتفع. المشتري الإماراتي يقارن منتجك بمنتجات دولية كل يوم ويحكم عليه بذلك المعيار، ومعناه أن بند التصميم أصعب في التقليص منه في أي سوق آخر.
الكويت وقطر والبحرين
أسواق أصغر بنفس توقعات العربية والمدفوعات الموجودة في السعودية ومتطلبات امتثال أخف. المشاريع هنا أرخص قليلاً من نظيرتها السعودية، وسرعة التسليم فيها أهم، لأن المشترين غالباً يتحركون على أفق أقصر.
مصر
سوق حساس للسعر ويعمل بالحجم. الدفع عند الاستلام ما زال متطلباً حقيقياً في التجارة واللوجستيات، وبناؤه بشكل صحيح عمل أكثر من بناء الدفع بالبطاقة. وجودة شبكة الجوال متفاوتة بشدة، فواجهة ثقيلة تعمل جيداً في عاصمة خليجية ستُتعب مستخدماً في محافظة. أبني لهذا السوق أخف بشكل متعمد.
أوروبا وبريطانيا
حماية البيانات تشكّل المشروع من بدايته لا تُراجع في نهايته. الموافقة، ومدد الاحتفاظ، وقدرة الشخص على تصدير بياناته أو حذفها، وأساس نظامي للمعالجة. وهذا عمل حقيقي وغير قابل للتفاوض. الأسعار أعلى، وتوقعات إمكانية الوصول أعلى، والشراء أبطأ.
اختيارات التقنية وما يكلفك كل منها لاحقاً
يُطلب من المشترين الاهتمام بالتقنية المستخدمة ثم لا يُعطون أساساً لتكوين رأي. هذه النسخة التي تؤثر في ميزانيتك، بالأجزاء التي تهمك أنت لا التي تهم المطور.
ووردبريس
أرخص بداية، وهو فعلاً الجواب الصحيح لموقع محتوى فيه مدونة وبعض النماذج. التكلفة تأتي عندما تدفعه أبعد من ذلك. منطق العمل في ووردبريس يُجمَّع عادة من إضافات، لكل منها دورة تحديث خاصة ومؤلف قد يتوقف عن الاهتمام، ونظام مبني من خمسة عشر إضافة عبء صيانة لا أصل.
قاعدتي: ووردبريس للنشر لا للتشغيل. إذا كان موقعك يخبر الناس بأشياء في الأساس فاستخدمه وأنفق التوفير في مكان آخر. وإذا كان موقعك يشغّل جزءاً من عملك فلا.
لارافيل
ما أبني به معظم أنظمة الأعمال، ويجب أن أقول لماذا بدل تسميته فقط. هو يتعامل مع الأشياء التي يحتاجها كل نظام أعمال، من المصادقة والصلاحيات والطوابير والمهام المجدولة وترحيل قواعد البيانات، كجزء من إطار العمل لا كإضافات، ومعناه أن مطوراً لم يكتب النظام يستطيع قراءته. وسوق المطورين في هذه المنطقة واسع، فأنت غير مرتبط بشخص واحد. ولنظام تتوقع أن تملكه خمس سنوات، هذا أهم من أي مقارنة أداء.
ريأكت وفيو والواجهات الثقيلة
مناسبة للتطبيقات التي يفتحها الناس طول اليوم ويتفاعلون معها باستمرار: لوحات المعلومات، والمحررات، وكل ما يشبه الأداة. وغير مناسبة، ومكلفة، لموقع محتوى، حيث تضيف تعقيداً وتبطئ التحميل الأول، وهو التحميل الذي يحدد بقاء الزائر.
تُنفق أموال كثيرة في هذه المنطقة على تحويل مواقع تعريفية إلى تطبيقات صفحة واحدة بلا فائدة. إذا اقترح مطور ذلك فاسأله ماذا يشتري لك. هناك جواب جيد أحياناً. وغالباً لا يوجد.
أدوات البناء بدون كود
ممتازة للأدوات الداخلية، والتحقق المبكر من فكرة، وكل ما تحتاجه عاملاً هذا الأسبوع. والحدود حقيقية: تسعير بالمستخدم ينمو بشكل مزعج، وصعوبة عندما تحتاج سلوكاً لم تتوقعه المنصة، وخروج أصعب مما يبدو. استخدمها لتعرف هل العملية صحيحة، ثم أعد بناء الأجزاء التي أثبتت نفسها.
تطبيق أصلي أم قاعدة كود مشتركة
قاعدة كود واحدة تغطي iOS وأندرويد توفّر حصة كبيرة من الميزانية وهي الافتراض الصحيح لمعظم تطبيقات الأعمال. اذهب للأصلي عندما يكون التطبيق هو المنتج نفسه وكان الأداء أو التكامل العميق مع الجهاز هو الهدف. أما تطبيق يعرض ويحجز ويتابع ويطلب، فقاعدة الكود المشتركة ليست تنازلاً.
متى تُصلح ومتى تستبدل
إعادة البناء أغلى قرار في البرمجيات، ويُتخذ كثيراً للسبب الخطأ، وهو أن النظام الحالي شكله غير مريح. هكذا أقيّم الأمر عندما يسألني عميل.
| الحالة | ما تستدعيه عادة |
|---|---|
| الشكل قديم والوظيفة سليمة | تحديث تصميم على الهيكل القائم، بجزء بسيط من إعادة البناء |
| بطيء تحت الحمل العادي | تحليل أداء وإصلاحات موجهة، والسبب دائماً تقريباً عدد صغير من الاستعلامات |
| كل تعديل يستغرق أسابيع ويكسر شيئاً | هذه هي الإشارة الحقيقية. فكّر في الاستبدال |
| مبني على تقنية لم تعد مدعومة | استبدل، وخطط لذلك قبل أن تُضطر إليه |
| العمل تغيّر ونموذج البيانات لا يستطيع التعبير عنه | استبدل. لا قدر من الترقيع يصلح نموذجاً خاطئاً |
| لا أحد يعرف كيف يعمل | افحص قبل أن تقرر، فقد يكون سليماً وغير موثّق فقط |
إعادة البناء يجب أن تكلف أقل من البناء الأصلي لا أكثر، لأن المتطلبات معروفة الآن: عندك نظام عامل يخبرك بالضبط بما يفعله. فإذا تجاوز عرض إعادة البناء تكلفة البناء الأصلي فأحدهم يحدد نطاق منتج مختلف ويسميه إعادة بناء.
وهناك طريق وسط يُغفل كثيراً: اترك النظام القديم يعمل وابنِ الجديد بجانبه، وانقل مجالاً واحداً في كل مرة. أبطأ إجمالاً وأغلى على الورق، لكن العمل لا يتوقف أبداً، والمخاطرة في كل خطوة صغيرة بما يكفي للتعافي منها. ولأي نظام يشغّل عمليات حقيقية، هذا ما أوصي به عادة.
كتابة بريف يأتيك بسعر دقيق
البريف الجيد صفحتان أو ثلاث ويستغرق بعد ظهر واحد. وسيغيّر عروض السعر التي تتلقاها أكثر من أي مفاوضة.
ابدأ بالمشكلة لا بالحل
"نحتاج تطبيقاً" حل. أما "فروعنا الثلاثة كل واحد منها يحتفظ بدفتر مواعيده، فنحجز للشخص نفسه مرتين ولا نرى الطاقة الاستيعابية على مستوى المجموعة" فمشكلة، وهي تدعو المطور أن يخبرك بأرخص شيء يحلها. أحياناً يكون تطبيقاً. وغالباً يكون أقل.
صِف الواقع الحالي بصدق
بما يشمل الأجزاء غير المرتبة. الجدول في إكسل، ومجموعة واتساب، والدفتر خلف الكاونتر، والشخص الواحد الذي يعرف الأسعار. هذه هي المتطلبات الحقيقية. والنظام الذي يتجاهلها يُتحايل عليه في شهر.
اسرد الأدوار
كل نوع من الأشخاص يلمس النظام، ومن ثلاثة إلى خمسة أشياء يفعلها كل واحد. هذه الصفحة الواحدة تمنع خلافات أكثر من أي شيء آخر في المشروع.
سمِّ تكاملاتك
لا "نظام المحاسبة عندنا" بل المنتج الفعلي ونسخته، وهل له واجهة برمجية. وإن كنت لا تعرف فقل لا أعرف وضَعها كبند يُفحص، مع مبلغ محتجز مقابله.
قل كيف يبدو النجاح
برقم إن كان عندك رقم. تصفير الحجز المزدوج. تمرير ٣٠ بالمئة من الطلبات عبر قناتنا بدل المنصة. تقليص زمن إنتاج التقرير الشهري من يومين إلى ساعة. هذا يخبر المطور أي الأجزاء تستحق الجهد، ويعطيك طريقة لتقييم النتيجة ليست رأياً في التصميم.
اذكر قيودك
نطاق الميزانية، والموعد النهائي وسببه، وأي تقنية أنت ملتزم بها، ومن يجب أن يوافق. المطورون يصممون داخل القيود. والقيود المخفية تظهر متأخرة ومكلفة.
إلى أين تذهب الأموال داخل المشروع
يسأل العملاء أحياناً لماذا يكلف نظام هذا الرقم والشاشات تبدو بسيطة. هذا تقسيم تقريبي لأين تذهب الساعات في نظام أعمال معتاد:
| المرحلة | نسبة الجهد | ما يحدث فيها |
|---|---|---|
| الاستكشاف والتوصيف | من ١٠ إلى ١٥ بالمئة | الأدوار، ومسارات العمل، والحالات الطرفية، والاستثناءات التي لم يذكرها أحد |
| التصميم | من ١٠ إلى ٢٠ بالمئة | الشاشات، وحالاتها، والنسخة الفارغة ونسخة الخطأ من كل شيء |
| البناء الأساسي | من ٣٥ إلى ٤٥ بالمئة | الجزء الذي يتخيله الجميع عندما يفكرون في التكلفة |
| التكاملات | من ١٠ إلى ٢٠ بالمئة | المدفوعات، والرسائل، وكل ما يجب أن يتكلم معه النظام |
| الاختبار والإصلاح | من ١٠ إلى ١٥ بالمئة | اكتشاف ما يتعطل قبل أن يكتشفه عملاؤك |
| النشر والتسليم | من ٥ إلى ١٠ بالمئة | إطلاقه، وجعله قابلاً للصيانة من شخص آخر |
أمران يبرزان. البناء الأساسي أقل من النصف، ولهذا تأتي العروض المبنية على عدد الميزات فقط منخفضة ثم تتجاوز ميزانيتها. والحالات التي لا يطلبها أحد، الشاشة الفارغة قبل وجود بيانات وشاشة الخطأ عند الفشل، جزء حقيقي من التصميم لا أثر جانبي. والنظام الذي يُوصف بالاحترافي هو عادة نظام صُممت حالات الخطأ فيه.
الأمان بند في الميزانية، وهذا ما يشتريه
يُناقش الأمان كأنه بند واحد إما اشتريته أو لا. هو مجموعة قرارات لكل منها تكلفة، والمستوى الصحيح يعتمد على ما تحتفظ به.
الحد الأدنى الذي لا يجوز أن يكون اختيارياً
اتصالات مشفّرة في كل مكان، وكلمات مرور مخزنة بشكل لا يسلّم الحسابات عند تسريب قاعدة البيانات، وحماية من هجمات الحقن والنصوص المعتادة، وتحديد معدل على كل ما يمكن تخمينه، ونسخ احتياطية جرّب أحدهم فعلاً استعادة واحدة منها. هذا مشمول في أي بناء كفؤ ولا يجب أن يظهر كبند منفصل. وإن ظهر فأنت تُحاسب مقابل أداء العمل بشكل صحيح.
المستوى التالي، للأنظمة التي تحمل بيانات شخصية
تحقق بخطوتين لحسابات الموظفين، وسجل تدقيق يقيّد من رأى ماذا، وصلاحيات مبنية على الأدوار مفروضة على الخادم لا مخفية في الواجهة، ومدة احتفاظ محددة تُحذف البيانات بعدها بدل الاحتفاظ بها للأبد. أضف نحو ١٠ بالمئة على البناء.
ونقطة الصلاحيات تستحق التأكيد لأنها أشيع خلل حقيقي أجده في الأنظمة المبنية برخص. إخفاء الزر ليس صلاحية. وإذا كان الطلب الأساسي ما زال يعمل عند كتابة العنوان مباشرة فالبيانات مكشوفة.
المستوى الخاص بالبيانات المنظَّمة أو عالية القيمة
اختبار اختراق من جهة غير التي بنت النظام، وتشفير حقول محددة في التخزين، وفصل صارم بين البيئات حتى لا يطوّر أحد على بيانات عملاء حقيقية، وخطة استجابة لحادث مكتوبة قبل الحاجة إليها. هذه تكلفة حقيقية وهي متناسبة عندما تحمل سجلات طبية أو ملفات قانونية أو وثائق هوية.
وعادة رخيصة تستحق التبني في أي مستوى: لا تدع بيانات عملاء حقيقية تجلس على جهاز مطور أبداً. النسخ المجهّلة للتطوير تكلّف شيئاً لا يُذكر وتزيل فئة كاملة من المخاطر لا علاقة لها بكودك.
السرعة بند تجاري
تُصنّف سرعة الصفحة تحت الجودة التقنية ومكانها تحت الإيرادات. على شبكة الجوال، كل ثانية إضافية قبل أن تصبح الصفحة قابلة للاستخدام تفقدك حصة من الذين وصلوا. وإن كنت تدفع مقابل إعلانات فأنت تدفع مقابل هؤلاء مرتين: مرة لجلبهم، ومرة بخسارتهم.
وتكلفة بناء شيء سريع هي في الأساس تكلفة عدم بنائه بطيئاً. صور بالمقاس والصيغة الصحيحة، واستراتيجية خطوط لا تُفرّغ النص أثناء التحميل، وانضباط مع نصوص الأطراف الثالثة. وهذه الأخيرة حيث تخسر معظم المواقع سرعتها. أداة محادثة، وأداتا تحليلات، ومسجّل خرائط حرارية، وبكسل إعلاني، كل واحدة تضيف وزناً، ومجموعها يتجاوز كثيراً وزن الموقع نفسه.
أزلت كل طلب خارجي يحجب العرض من موقعي الشخصي، وكان الفرق المقيس أكبر من أي تحسين منفرد أجريته على الكود. إن أخذت حجة تقنية واحدة من هذا المقال إلى مشروعك القادم فلتكن هذه: اسأل كم يكلفك كل نص خارجي، واجعل أحداً يبرره.
ثلاثة مشاريع وإلى أين ذهبت أموالها
النطاقات المجردة تصل إلى حد معين. هذه أنظمة حقيقية مع المنطق الذي حدد سعرها.
نظام إدارة علاقات عملاء متعدد المستأجرين بالعربية
أومنيكستراك يخدم شركات كثيرة من نشر واحد، بالعربية كواجهة أصلية، مع تطبيق أندرويد منشور بجانب النظام الإلكتروني. قائمة الميزات تُقرأ مثل أي نظام إدارة علاقات عملاء: جهات اتصال، وفرص، ومهام، وتقارير.
التكلفة لم تكن في قائمة الميزات، بل في عبارة "متعدد المستأجرين". كل استعلام في النظام يحمل قيداً بأن بيانات شركة لا يجوز أن تظهر في أخرى، وهذا القيد يجب أن يصمد في التقارير والبحث والتصدير وواجهة الجوال، بما يشمل المسارات التي أضافها بعد سنة شخص لم يكن في المحادثة الأصلية. إصابته صحيحة قرار معماري يُتخذ في الأسبوع الأول. وإخطاؤه يكتشفه عميل.
ثم العربية. ليست طبقة ترجمة بل نظاماً مصمماً من اليمين إلى اليسار، ببحث عربي يتعامل مع طريقة كتابة الناس الفعلية، وتقارير تُعرض بشكل صحيح عندما تجلس الأرقام داخل جمل عربية.
نظام أحادي الشركة بالإنجليزية بنفس الميزات كان سيكلف نحو النصف. والمضاعف كان العزل واللغة، وكلاهما لا يظهر في قائمة ميزات.
مطعم يستعيد حاشيته
مطعم يعمل عبر منصات التوصيل كان يسلّم نسبة من كل طلب. البريف كان حساباً بسيطاً: ابنِ طلباً وحجز طاولات نملكه، وتبقى النسبة عندنا.
والبناء كان صغيراً بشكل متعمد. قائمة بخيارات تعديل تطابق كيف يجمع المطبخ الطبق فعلاً، ونطاقات توصيل، وساعات عمل بما يشمل الاستثناءات، وحالة طلب يتابعها العميل، وشاشة مطبخ لا تعتمد على شخص يراقب تبويب متصفح. بلا برنامج ولاء، وبلا تطبيق، وبلا نظام حسابات أكثر من رقم جوال. الثلاثة نوقشت والثلاثة أُجّلت.
هذا الانضباط هو المقصود. المشروع سدد ثمنه من العمولة الموفّرة، والميزات المحذوفة يمكن إضافتها من التوفير، بتمويل من نظام يعمل بالفعل. والترتيب المعاكس، بناء كل شيء أولاً والأمل في أن يسدد، هو كيف تموت مشاريع برمجيات المطاعم.
مكتب قانوني كانت السرية فيه هي البنية
إسغاء في الرياض احتاجت منصة عامة لممارسة تضم محامين ومستشارين ومحكّمين وكتّاب عدل، منظمة بحيث يجد الزائر الخدمة المحددة التي يحتاجها بدل قراءة قائمة بكل ما يفعله المكتب. أربعة فروع خدمات، لكل منها شجرته تحته.
والقرارات المكلفة لم تكن مرئية في الجانب العام. الاستقبال كان يجب أن يجمع ما يكفي لتقييم قضية دون أن يجمع مواد يفضّل المكتب ألا يحملها قبل وجود تكليف. وكل ما يكتبه عميل محتمل يجب أن يُعامل كسرّي من لحظة إرساله، وهذا يؤثر على أين يُخزَّن ومن يراه وكم يبقى.
موقع مشابه بصرياً لمنشأة بلا التزام سرية كان سيكلف أقل بكثير. والفرق ذهب إلى الأجزاء التي لا يراها أحد، وهذا غالباً حيث يذهب الفرق.
أسئلة تستحق أن تسألها قبل التوقيع
قائمة قصيرة. اسألها كلها، لكل من يقدّم عرضاً، بما يشملني.
- من يكتب الكود، وهل سيبقى ذلك الشخص عليه في الشهر الثالث؟
- هل أستطيع الدخول إلى شيء بنيته وهو مُطلق ومستخدَم؟
- ما غير المشمول صراحة في هذا السعر؟
- كيف نسعّر تغييراً بعد أن نبدأ؟
- ماذا يحدث في الشهر الأول بعد الإطلاق، وهل هو مدفوع أصلاً؟
- من يملك الكود، وأي الحسابات ستكون باسم شركتي؟
- كم تكلف الصيانة سنوياً، وماذا تغطي عندما لا يتعطل شيء؟
- إن أردت الانتقال إلى مطور آخر بعد سنتين، فماذا سأسلّمه؟
السؤال الأخير هو الذي يفرز المورّدين. من يبني لمصلحتك يجيب عليه بسهولة. ومن يبني ليخلق تبعية يغيّر الموضوع.
من تستأجره يحرّك السعر أكثر من الذي تبنيه
نفس البريف، معطىً لأربعة أنواع من المورّدين، يعطي أربعة أرقام مختلفة جداً. ولا واحد منها خاطئ. هي شركات مختلفة ببنى تكاليف مختلفة، والمهارة في مطابقة المورّد بالعمل لا في مطاردة أقل رقم.
| المورّد | التكلفة النسبية | الأنسب له | المخاطرة الرئيسية |
|---|---|---|---|
| وكالة محلية في الخليج | الأعلى | ميزانيات كبيرة، ومتطلبات مشتريات رسمية، وحاجة لوجود شخص في الغرفة | قد تدفع مقابل إدارة حساب لا هندسة |
| استوديو إقليمي | متوسطة | معظم أنظمة الأعمال | الجودة متفاوتة بشدة، فتحقق ولا تفترض |
| مطور مستقل خبير | متوسطة إلى منخفضة | مشاريع واضحة يستطيع شخص خبير واحد تملّكها بالكامل | الطاقة الاستيعابية، وما يحدث إن اختفى |
| منصات أقل عرض سعر | الأدنى | مهام صغيرة موصوفة بدقة ويمكن التخلي عنها | ستدفع مرة ثانية عادة |
أنا أعمل بالصيغة الثالثة، فاقرأ الجدول بهذا الاعتبار. والنسخة الصادقة من تحيّزي: الشخص الخبير هو الجواب الصحيح عندما يسع المشروع رأساً واحداً، والجواب الخاطئ عندما يحتاج فعلاً أربعة أشخاص يعملون بالتوازي على موعد. اسأل أي مورّد، بما يشملني، أي الاثنين مشروعك.
ما يسعّره العرض المنخفض فعلاً
عرض بخمس تكلفة الآخرين ليس كرماً، وليس عدم خبرة في الغالب. هو نطاق مختلف، والأجزاء المحذوفة متوقعة: بلا عربية أكثر من ترجمة آلية، وبلا لوحة إدارة تُستخدم، وبلا معالجة أخطاء، وبلا اختبارات، وبلا توثيق، وبناء على قالب ستكتشف ترخيصه لاحقاً.
والتكلفة تظهر في السنة الثانية عندما تريد تعديلاً ولا يستطيع أحد تنفيذه بأمان. سُلّمت أنظمة كهذه لإنقاذها، والإنقاذ غالباً أغلى من البناء الأصلي من شخص كفؤ. إن كانت ميزانيتك صغيرة فالحركة الصحيحة مشروع أصغر مبني بشكل صحيح، لا مشروع كبير مبني بسوء.
خمس طرق تفشل بها مشاريع البرمجيات فعلاً
عبر ٤٢ نظاماً مسلَّماً وعدد معقول من عمليات الإنقاذ، تتكرر أسباب الفشل. ولا يكاد أحدها يكون تقنياً.
لم يكتب أحد ما يجب أن يفعله النظام
البريف محادثة، والمطور يبني تفسيره، والعميل يرى شيئاً آخر في رأسه، والفجوة تُكتشف في العرض. والحل رخيص ولا يفعله أحد تقريباً: قبل البناء، اكتب أدوار المستخدمين، وما يستطيع كل دور فعله، والخمس شاشات المهمة. صفحتان. يوقّع عليهما الطرفان. المشاريع التي عندها هذا المستند تتصرف بشكل مختلف عن التي بلا.
نما النطاق دون أن يتحرك السعر أو التاريخ
كل إضافة صغيرة ومعقولة. وعشرون منها مشروع مختلف. احتفظ بسجل تغييرات مكتوب فيه تكلفة وأثر زمني لكل بند، حتى عندما يكون الأثر صفراً، حتى تكون المقايضة مرئية وقت إجرائها لا موضع جدل في النهاية.
لم يُفهم مسار العمل الحقيقي
يُبنى النظام ليطابق العملية الموصوفة في الاجتماعات، ثم يلتقي بالعملية التي تنفذها المنشأة فعلاً، وفيها الاستثناء الذي يعالجه الجميع يدوياً ولم يذكره أحد. هذا السبب الأول لرفض الأنظمة الداخلية من الموظفين الذين يجب أن يستخدموها.
والوقاية أن تشاهد شخصاً يؤدي العمل ساعة قبل تصميم الشاشة التي تحل محله. أفعل هذا في كل مشروع تشغيلي ولم يفشل مرة في إظهار شيء لم يكن في البريف.
عُومل الإطلاق كخط النهاية
لم يخصص أحد ميزانية للشهر الذي يلي الإطلاق، حين يجد الاستخدام الحقيقي ما لم يجده الاختبار. ذلك الشهر موجود دائماً. خطط له، وأبقِ المطور منخرطاً خلاله، ويستقر النظام. تجاهله فتصبح مشاكل الأسبوع الأول ميزات دائمة في شعور موظفيك تجاه الشيء.
لم يحدث التسليم
ينتهي المشروع، ويمضي المطور، ولا يستطيع أحد غيره نشر تعديل. اطلب صلاحية المستودع في حساب تملكه أنت، وعملية نشر مكتوبة، وبيانات البيئة مسجّلة في مكان غير جهاز شخص واحد، وشرحاً مسجّلاً قصيراً. ضعه في العقد كمخرَج مرتبط بالدفعة الأخيرة. طلبه في البداية لا يكلف شيئاً والحصول عليه بعدها شبه مستحيل.
الملكية: السؤال الذي يُحسم قبل أن تدفع أي شيء
من يملك الكود عند انتهائه؟ يجب أن يكون الجواب أنت، مكتوباً، ويجب أن يعيش المستودع في حساب تتحكم فيه شركتك من اليوم الأول، والمطور مدعو إليه لا العكس.
وأمران يُفحصان بعد العنوان الرئيسي. أولاً، أي تراخيص أطراف ثالثة يعتمد عليها البناء، مثل قالب مشترى أو مكوّن تجاري، وهل ينتقل الترخيص إليك. ثانياً، الحسابات: مسجّل النطاق، والاستضافة، وبوابة الدفع، والتحليلات، وقوائم متاجر التطبيقات. يجب أن تكون مسجّلة ببريد شركتك لا بريد مطورك، حتى عندما يكون المطور هو من أنشأها. استعادة نطاق مسجّل باسم متعاقد اختلفت معه عملية مؤلمة فعلاً، وقد رأيت منشأة تخسر أسابيع فيها.
متى لا تبني شيئاً
مقال عن التسعير يُفترض أن ينتهي بحجة للإنفاق. وهذه الحجة المعاكسة، لأنها ستوفّر على بعض القراء أكثر من كل ما سبق.
لا تبنِ برمجيات مخصصة عندما يؤدي منتج قائم العمل بجزء من التكلفة وكان اعتراضك شكلياً. لا تبنِ منصة للتحقق من فكرة تستطيع اختبارها بصفحة هبوط ورقم جوال وأسبوعين من الإعلانات. لا تعد بناء نظام عامل لأن شكله قديم، وتحديث التصميم يكلف عشر ذلك. لا تكلّف أحداً بشيء والشخص الذي سيتملّكه داخلياً غير متفرغ الشهرين القادمين، لأن المشروع سيتمايل وستدفع ثمن التمايل.
والمشاريع التي تنجح تشترك في صفة واحدة: شخص في المنشأة احتاج الشيء بدرجة كافية ليتخذ القرارات بسرعة. وعندما لا يوجد هذا الشخص بعد، الانتظار أرخص من البدء.
هل تعيّن مطوراً داخلياً أم تتعاقد من الخارج
سؤال يُطرح عليّ كثيراً من منشآت سعودية وإماراتية وصلت إلى حجم يجعل التعيين يبدو منطقياً، والحساب فيه أقل بداهة مما يبدو.
مطور داخلي في الرياض أو دبي بمستوى يستطيع بناء نظام أعمال كامل وحده يكلف راتباً سنوياً، زائد بدلات، زائد تأمين، زائد مكتب وأجهزة وتراخيص. والرقم الذي يراه المدير المالي هو الراتب، أما التكلفة الحقيقية فأعلى منه بنسبة معتبرة. وفوق ذلك تكلفة بحث وتوظيف، وفترة تعلّم لا تُنتج فيها شيئاً، ومخاطرة أن يستقيل بعد سنة ويأخذ معه كل ما يعرفه عن نظامك إن لم يكن موثّقاً.
| الجانب | مطور داخلي | تعاقد خارجي |
|---|---|---|
| التكلفة السنوية | ثابتة ومرتفعة، تُدفع في الأشهر التي لا عمل فيها أيضاً | متغيرة، تدفع مقابل عمل محدد |
| سرعة البدء | من شهر إلى ثلاثة للتوظيف والتهيئة | أيام |
| اتساع المهارات | ما يعرفه شخص واحد | تختار من يناسب كل مهمة |
| معرفة عملك | تتراكم وتصبح أصلاً حقيقياً | تحتاج نقلها في كل تعاقد |
| التوفّر للطوارئ | موجود في الدوام | بحسب الاتفاق، ويجب أن يكون مكتوباً |
| مخاطرة المغادرة | عالية، ويختفي معها الفهم غير الموثّق | موزعة، والتوثيق شرط في العقد |
قاعدتي التي أعطيها للعملاء: عيّن داخلياً عندما يصبح للنظام تطوير مستمر لا ينتهي، وعندما يبرر حجم العمل راتباً كاملاً، وعندما يكون النظام جوهر عملك لا أداة مساندة. وتعاقد خارجياً للبناء الأول دائماً تقريباً، لأن البناء الأول ذروة عمل مؤقتة، والتعيين لذروة مؤقتة يترك لك راتباً ثابتاً بعد انتهائها.
وهناك ترتيب ثالث يعمل جيداً وأستخدمه مع عدة عملاء: تعاقد خارجي للبناء، ثم موظف تقني داخلي أقل تخصصاً يدير التشغيل اليومي ويتعامل مع المستخدمين، مع عقد شهري صغير مع من بنى النظام للأشياء التي تحتاج خبرة. يكلف جزءاً من راتب مطور كامل ويغطي معظم الاحتياج الفعلي.
تهيئة محركات البحث ليست خدمة تُشترى بعد الإطلاق
أرى هذا الخطأ كثيراً بما يكفي ليستحق قسماً في مقال عن التكلفة: تُبنى المواقع ثم تُشترى خدمة تهيئة لمحركات البحث كبند منفصل بعد الإطلاق. والنتيجة أنك تدفع مرتين، لأن معظم ما تحتاجه التهيئة قرارات تُتخذ أثناء البناء ويكلف تغييرها لاحقاً أكثر من اتخاذها صحيحة من البداية.
ما يجب أن يكون مشمولاً في أي بناء كفؤ بلا بند إضافي: هيكل عناوين منطقي ودائم، وعنوان ووصف لكل صفحة في النطاق الصحيح، وترتيب عناوين فرعية بلا قفزات في المستويات، وبيانات منظمة تناسب نوع المحتوى، وخريطة موقع تتحدث آلياً، ونسخة عربية ونسخة إنجليزية مرتبطتان بشكل صحيح حتى لا تنافس إحداهما الأخرى، وسرعة تحميل تقيسها لا تتمناها.
وما هو فعلاً خدمة منفصلة ومستمرة: اختيار الكلمات التي تستهدفها، وكتابة المحتوى الذي يستهدفها، وبناء صفحات لنيّات بحث محددة، ومتابعة النتائج شهرياً. هذا عمل تسويقي حقيقي له تكلفته.
الفرق مهم عند قراءة عرض سعر. إن وجدت بنداً باسم "تهيئة محركات البحث" فاسأل أي الاثنين هو. إن كان الأول فأنت تُحاسب مقابل أداء العمل بشكل صحيح. وإن كان الثاني فهو بند مشروع ويجب أن يكون شهرياً لا مرة واحدة.
نقطة إضافية تخص السوق العربي: المحتوى العربي الأصلي ما زال أقل تنافسية بكثير من الإنجليزي في معظم المجالات المهنية. منشأة سعودية تكتب عشر صفحات عربية حقيقية عن تخصصها تستطيع الوصول إلى نتائج لن تصلها بميزانية إعلانية مضاعفة. وهذا أرخص توفير متاح في هذا السوق حالياً، ومعظم المنشآت لا تستخدمه لأنها تنسخ محتوى إنجليزياً وتترجمه.
قائمة تحقق قبل الإطلاق
هذه القائمة أمرّ بها قبل كل إطلاق، وهي مكتوبة بحيث يستطيع عميل غير تقني استخدامها لمراجعة عمل أي مطور. اطلبها كمخرَج مرتبط بالدفعة الأخيرة.
- نموذج التواصل أُرسِل منه طلب حقيقي ووصل إلى البريد فعلاً، وليس إلى مجلد الرسائل غير المرغوبة
- الطلب مسجّل في مكان في النظام أيضاً، حتى لا تفقد طلباً إن تعطّل البريد يوماً
- كل رقم جوال وكل رابط واتساب في الموقع يفتح على الرقم الصحيح
- الموقع مفتوح على جوال حقيقي بشبكة بيانات لا على متصفح مكتبي مُصغَّر
- النسخة العربية مقروءة ولا يوجد فيها نص إنجليزي منسي ولا ترجمة آلية واضحة
- الأرقام والتواريخ والمبالغ تظهر صحيحة داخل النص العربي
- صفحة الخطأ ٤٠٤ موجودة ومصممة وتعرض طريقاً للعودة
- شهادة التشفير تعمل وكل الروابط الداخلية تستخدم https
- النسخ الاحتياطية تعمل آلياً، وجرّب أحدهم استعادة واحدة فعلاً
- لوحة الإدارة جرّبها الشخص الذي سيستخدمها، لا المطور
- التتبع والتحليلات تعمل وتسجّل زيارة حقيقية
- كلمات المرور الافتراضية غُيّرت كلها، وحساب المطور التجريبي حُذف
- خريطة الموقع أُرسلت لأدوات البحث والموقع ليس محجوباً عن الفهرسة بالخطأ
- النطاق والاستضافة وبوابة الدفع مسجّلة باسم شركتك وببريدها
- الكود في مستودع تملكه أنت، وعملية النشر مكتوبة في ملف
البند الأول والثاني هما الأهم وأكثر ما يُتجاهل. تعطّل إيصال رسائل عندي لفترة قصيرة في موقعي الشخصي، وخسرت خلالها عدة طلبات حقيقية قبل أن ألاحظ. والدرس الذي بنيته بعدها ويجب أن تطلبه: لا تجعل البريد الإلكتروني هو الطريق الوحيد لطلب العميل إليك. سجّله في النظام أولاً، ثم أرسل البريد. فإن فشل البريد تكون قد خسرت إشعاراً لا عميلاً.
بنود في العقد تحمي الطرفين
العقد الجيد في مشروع برمجي ليس حماية من المطور، بل وثيقة تمنع الخلاف قبل وجوده. هذه البنود أضعها في عقودي بنفسي لأنها تختصر على الطرفين.
تعريف التسليم
ما معنى أن المشروع انتهى؟ يجب أن يكون الجواب قائمة أشياء يمكن اختبارها لا جملة عامة. "النظام يعمل" ليست تعريفاً. "المستخدم يستطيع إنشاء حجز، وتعديله، وإلغاؤه، ويصله تأكيد" تعريف.
مدة ضمان الأعطال
فترة بعد الإطلاق تُصلَح فيها الأخطاء مجاناً، لأنها أخطاء في عمل مدفوع لا طلبات جديدة. ثلاثون يوماً معقولة، وستون أفضل. والبند الذي يجب أن يكون واضحاً هو التفريق بين عطل وطلب جديد، وتعريفه بسيط: إن كان النظام لا يفعل ما نص عليه التسليم فهو عطل، وإن كان يفعله وأنت تريد شيئاً آخر فهو طلب.
تسعير التغييرات
سعر ساعة أو يوم متفق عليه مسبقاً للعمل الخارج عن النطاق. اتفاق مسبق على الرقم يحوّل كل تغيير من مفاوضة إلى قرار.
ملكية الكود والحسابات
نقل الملكية عند السداد الكامل، وقائمة بالحسابات التي يجب أن تكون باسم العميل، ومهلة لتسليمها.
حق التوقف
ما يحدث إن أراد أي طرف إيقاف المشروع في منتصفه. الصيغة العادلة أن العميل يدفع مقابل العمل المنفذ ويتسلّم ما أُنجز وما وُثّق منه، وأن المطور لا يحتجز عملاً مدفوعاً. وجود هذا البند يجعل الطرفين أكثر ارتياحاً للبدء.
السرية
بند متبادل. بيانات عملك وبيانات عملائك لا تُستخدم ولا تُعرض خارج المشروع دون إذن مكتوب، بما يشمل عرض المشروع في معرض أعمال المطور. أنا أطلب إذناً صريحاً قبل إضافة أي عميل إلى سابقة أعمالي، وبعض العملاء يرفضون ولهم حقهم.
ثلاثة أخطاء شائعة في قراءة الأسعار
هذه ليست أخطاء مطورين بل أخطاء مشترين، ورأيتها تكلّف منشآت أكثر من أي عرض سعر مرتفع.
مقارنة الأرقام قبل مقارنة النطاقات
عرضان بفارق الضعف قد يكونان لمشروعين مختلفين تماماً. اجمع العروض، ثم اكتب جدولاً بنفسك: صف لكل بند، وعمود لكل مورّد، وعلامة أمام ما هو مشمول. الجدول يحوّل المقارنة من رقم إلى معلومة، وفي نصف الحالات يتبين أن العرض الأغلى هو الأرخص فعلاً لكل ما تحصل عليه.
اعتبار الصيانة تكلفة زائدة
الصيانة ليست رسماً يفرضه المطور، بل ثمن أن يبقى النظام يعمل في بيئة تتغير حوله. متصفحات تتحدث، وأنظمة تشغيل تتغير، وبوابات دفع تعدّل واجهاتها، وثغرات تُكتشف في مكونات لم تكتبها أنت. من يرفض الصيانة لا يوفّر المال بل يؤجل فاتورة أكبر.
تأجيل القرار حتى يصبح السعر أرخص
منطق يبدو حصيفاً وهو مكلف. تكلفة التأجيل ليست صفراً، بل كل الأشهر التي عملت فيها يدوياً، وكل الطلبات التي خسرتها لأن لا طريقة لاستقبالها، وكل عميل ذهب لمنافس عنده نظام. لو كان المشروع يوفّر ألفاً شهرياً فتأجيله ستة أشهر يكلفك ستة آلاف لتوفير يحتمل ألا يتحقق.
كيف تتحقق من كفاءة مطور قبل التعاقد
المشتري غير التقني يشعر أنه بلا أدوات في هذه النقطة، وهو ليس كذلك. هذه فحوص لا تحتاج خبرة برمجية وتفرز المورّدين بدقة عالية.
اطلب نظاماً عاملاً وجرّبه بنفسك
لا صوراً ولا فيديو عرض. اطلب رابطاً وحساب دخول. ثم افعل الأشياء التي يفعلها مستخدم متعب: اترك حقلاً فارغاً، اكتب نصاً عربياً في حقل يتوقع إنجليزياً، اضغط زر الإرسال مرتين، أغلق الصفحة في منتصف عملية وارجع إليها. النظام المبني جيداً يتصرف بشكل معقول في كل هذه الحالات. والنظام المبني بسرعة ينكسر في ثانيتين وتكون قد عرفت ما تحتاج معرفته.
اسأل عن مشروع فشل
سؤال أحبه لأن جوابه يكشف أكثر من قائمة الأعمال. كل من عمل سنوات عنده مشروع تعطّل أو تأخر أو انتهى بسوء. من يحكيه بتفصيل ويقول ما تعلمه منه عمل فعلاً. ومن يقول إن كل مشاريعه نجحت إما حديث جداً أو غير صادق.
تحدث مع عميل سابق لا مع شهادة مكتوبة
الشهادات المكتوبة على المواقع كلها إيجابية بطبيعتها. اطلب رقم عميل سابق واتصل، واسأله سؤالين محددين: كيف كان التواصل عند وجود مشكلة؟ وهل انتهى المشروع في الوقت والسعر المتفق عليهما؟ الجواب على السؤال الأول أهم، لأن المشاكل ستحدث والفرق بين مورّد جيد وسيئ هو تصرفه عندها.
انظر كيف يتعامل مع بريفك
أفضل إشارة واحدة. المطور الذي يقرأ بريفك ويرد بأسئلة، وبعضها أسئلة لم تفكر فيها، يفكر في مشروعك. والمطور الذي يرد بعرض سعر فوري وقائمة ميزات منسوخة لم يقرأه. واعتبر الأسئلة الصعبة علامة جيدة لا إزعاجاً، فهي أرخص بكثير من اكتشاف نفس الأسئلة بعد ثلاثة أشهر من البناء.
اسأله عن شيء يجب أن يرفضه
اطلب ميزة لا تحتاجها فعلاً، شيئاً كبيراً وبراقاً مثل ذكاء اصطناعي يكتب المحتوى أو تطبيق جوال لمشروع لا يحتاجه. المورّد الذي يقول لك إن هذا لا يستحق ميزانيتك ويشرح لماذا يعمل لمصلحتك. والذي يضيفه للعرض فوراً ويسعّره يعمل لمصلحته.
التكلفة الحقيقية للقوالب الجاهزة
القالب الجاهز ليس قراراً سيئاً دائماً، وأنا أستخدم أساسات جاهزة في أجزاء من مشاريعي. لكن ما يُباع في هذا السوق تحت اسم موقع مخصص وهو في الحقيقة قالب يستحق توضيحاً، لأن الفرق يظهر بعد الإطلاق لا قبله.
القالب يأتي ببنية صُممت لشخص آخر. ما يحدث عادة أن المطور يحذف نصف ما فيه ويخفي النصف الآخر، فينتهي الموقع يحمل كوداً لميزات غير موجودة، وملفات تنسيق أكبر مما يحتاج بأضعاف، ونصوصاً خارجية لأشياء لا تستخدمها. والنتيجة موقع بطيء لا يستطيع أحد تفسير بطئه، لأن المشكلة ليست في سطر واحد بل في عشرين ألف سطر غير مستخدم.
ثم يأتي الجزء الأغلى: أي تعديل حقيقي. طلب بسيط مثل إضافة حقل إلى نموذج أو تغيير خطوة في مسار الحجز يصبح عملاً معقداً، لأن التعديل يجب أن يمر عبر بنية لم يكتبها أحد موجود ولا توثيق لها. وهذا سبب أن أصحاب هذه المواقع يسمعون كثيراً عبارة "هذا يحتاج إعادة بناء" مقابل طلبات تبدو تافهة.
والجانب الثالث هو الترخيص. القالب المشترى له ترخيص باسم من اشتراه، وإن اشتراه المطور باسمه فأنت تستخدم شيئاً لا تملكه، وقد تجد نفسك بلا حق في تحديثاته أو بلا حق في استخدامه إن انتهت علاقتك بالمطور. اسأل صراحة: هل هناك قالب أو مكوّن تجاري في هذا البناء، وباسم من ترخيصه؟
النسخة المعقولة من استخدام الجاهز هي استخدام إطار عمل أو مكتبة مكوّنات معروفة ومفتوحة، لا موقع كامل مصمم لعمل آخر. الأول يسرّع البناء ويبقي الكود مفهوماً. والثاني يوفّر أسبوعين الآن ويكلفك سنتين بعدها.
ما معنى أن النظام قابل للتوسع
كلمة تُستخدم في كل عرض سعر وتعني في معظمها لا شيء. هذا معناها عملياً بلغة مشترٍ.
النظام القابل للتوسع ليس نظاماً سريعاً اليوم، بل نظاماً يبقى سريعاً عندما تتضاعف بياناتك عشر مرات. والفرق بينهما في مكانين فقط يستحقان سؤالاً: نموذج البيانات، وطريقة الاستعلام عنه.
نموذج البيانات هو كيف تُحفظ معلوماتك وكيف تترابط. النموذج الصحيح يسمح بإضافة فرع جديد أو نوع خدمة جديد أو عملة جديدة بإضافة سجل. والنموذج الخاطئ يحتاج تعديل كود لكل إضافة. والسؤال الذي يكشفه: إذا أردت فتح فرع رابع العام القادم، هل أضيفه من لوحة الإدارة أم أحتاج مطوراً؟ الجواب يخبرك هل النموذج يعبّر عن عملك أم عن وضعك الحالي فقط.
وطريقة الاستعلام هي كيف يجلب النظام البيانات ليعرضها. أشيع مشكلة أداء في الأنظمة المبنية بسرعة أن الصفحة تطلب من قاعدة البيانات شيئاً داخل حلقة، فتصبح صفحة فيها عشرة صفوف عشرة استعلامات، وصفحة فيها ألف صف ألف استعلام. تعمل بشكل ممتاز في الاختبار ببيانات قليلة، وتنهار في السنة الثانية. وهذه ليست مشكلة سعة خادم ولا تُحل بترقية الاستضافة، وهذا سبب أن ترقية الخادم غالباً لا تحل البطء.
النتيجة العملية لك: لا تسأل هل النظام قابل للتوسع، فالجواب سيكون نعم دائماً. اسأل بدلها كم سجلاً جرّبتموه عليه، واطلب أن يكون اختبار الأداء على حجم بيانات يشبه حجمك بعد سنتين لا حجمك يوم الإطلاق. هذا بند يستحق أن تطلبه مكتوباً وهو رخيص عند طلبه مسبقاً.
ملاحظة على الضريبة والعملة في عروض الأسعار
بند صغير يسبب خلافات أكثر من حجمه. الأسعار في هذا المقال بالدولار وقبل الضريبة، وعروض الأسعار في السوق تُكتب بطرق مختلفة، فاسأل عن ثلاثة أشياء قبل أن تقارن رقمين.
أولاً، هل السعر شامل ضريبة القيمة المضافة أم لا. مورّد مسجّل في السعودية أو الإمارات يضيفها على الفاتورة، ومورّد خارج المنطقة لا يفعل، وهذا وحده يحرّك المقارنة بنسبة معتبرة. إن كانت منشأتك مسجّلة فالضريبة قابلة للخصم عندك وليست تكلفة حقيقية، وإن لم تكن فهي تكلفة. اعرف أي الحالتين أنت قبل المقارنة.
ثانياً، بأي عملة تُحرَّر الفاتورة ومن يحمل فرق التحويل. عرض بالدولار من مورّد تدفع له بالريال يعني أن رقمك النهائي يعتمد على سعر الصرف يوم الدفع ورسوم التحويل البنكية. الفرق صغير في مشروع صغير ومحسوس في مشروع بعشرات الآلاف، وتثبيت العملة في العقد يحل المسألة بسطر واحد.
ثالثاً، من يدفع رسوم التحويل الدولي. الصيغة العادلة أن كل طرف يحمل رسوم بنكه، وإن لم تُكتب فستظهر كخصم غير متوقع من المبلغ الواصل وجدال بعد ذلك.
وأضيف ملاحظة من جهتي كمورّد: أفضّل كتابة السعر بعملة واحدة ثابتة في العقد وتحمّل تقلبات الصرف بنفسي، لأن العميل يحتاج رقماً يستطيع إدخاله في ميزانيته لا رقماً يتحرك. وهذا شيء يستحق أن تطلبه من أي مورّد.
كيف تحسب هل كان يستحق
البرمجيات تُشترى بإحساس وتُحكَم بإحساس، وهكذا تنتهي المنشآت بأنظمة لا يستطيع أحد الدفاع عنها وبلا طريقة لتحديد ما تموّله بعدها. الحساب ليس معقداً، وإجراؤه قبل تكليف أحد يخبرك أيضاً كم يجب أن تكون مستعداً للإنفاق.
احسب الساعات التي يحذفها النظام
خذ العملية التي تستبدلها واحسب الساعات التي تستهلكها أسبوعياً عبر كل من يلمسها، بما يشمل الجزء الذي يعيد فيه أحد كتابة بيانات من مكان إلى آخر. اضرب في تكلفة الساعة المحمّلة. هذا الرقم السنوي هو الجزء الأول من قيمة النظام.
مجموعة عيادات تستهلك تسع ساعات أسبوعياً في تنسيق المواعيد بين الفروع، بسعر ساعة متحفظ، تنفق آلاف الدولارات سنوياً على التنسيق وحده، قبل حساب الإيراد المفقود بسبب الحجز المزدوج. مقابل نظام حجز بثمانية آلاف دولار، يظهر الاسترداد خلال السنة الأولى، وبعدها يتراكم.
احسب الإيراد الذي يتسرب حالياً
أصعب في القياس وأكبر عادة. طلبات تصل ولا يتابعها أحد. أوامر تُنفّذ عبر منصة تأخذ عمولة. عملاء يذهبون لأن ما أرادوه لم يكن قابلاً للحجز الحادية عشرة ليلاً. عروض سعر استغرقت ثلاثة أيام ووصلت بعد أن اختار العميل غيرك.
اختر واحدة منها، وقدّرها بصدق وتحفّظ، وستجد عادة رقماً يقزّم تكلفة البناء. ومثال المطعم أعلاه أنظف نسخة: العمولة نسبة معروفة من حجم معروف، فالحساب أرقام لا تقدير.
احسب ما تشتريه وليس مالاً
بعض القيمة لا تتحول بسهولة إلى رقم. أن تعرف أرقامك الحقيقية في نهاية الشهر بدل التخمين. أن تستطيع الرد على عميل فوراً. ألا تعتمد على شخص واحد يحمل الأسعار في رأسه وسيتركك يوماً. هذه حقيقية وهي سبب أن المنشآت ذات الأنظمة الجيدة تتخذ قرارات أفضل من غيرها، لكن لا تدعها تحمل التبرير كله. إن لم تصل بك الساعات والإيراد إلى معظم الطريق، فالمشروع على الأرجح أكبر من المشكلة.
حدّد الميزانية من القيمة لا من الإحساس
بعد أن يكون عندك رقم سنوي، قاعدة معقولة أن تنفق على البناء ما يصل إلى سنة من ذلك الرقم، وأن تتوقع استرداده خلال ثمانية عشر شهراً. فإن لم يستطع مشروع تجاوز هذا الحد، فاقتطع منه حتى يستطيع أو اتركه. وهذه أيضاً أنجع طريقة أعرفها لمقاومة تضخم الميزات أثناء البناء: كل إضافة يجب أن تستحق مكانها مقابل الرقم نفسه.
أول تسعين يوماً بعد الإطلاق
الجزء الذي يحدد هل سيتبنى الناس النظام، وهو الجزء الأكثر غياباً عن الخطط.
في الأسبوع الأول يجد الاستخدام الحقيقي ما لم يجده الاختبار، لأن المستخدمين الحقيقيين يفعلون أشياء لم يفكر أحد في تجربتها. توقع قائمة. والنظام الذي لا ينتج قائمة في الأسبوع الأول نظام لا يستخدمه أحد. أبقِ المطور منخرطاً وأصلح بسرعة ما دام الانتباه عالياً.
وخلال الشهر الأول، راقب أين يتخلى الناس عن مسار وأين يرجع الموظفون إلى الطريقة القديمة. والثانية هي الإشارة المهمة. إن كان أحدهم ما زال يحتفظ بالجدول في إكسل، فالنظام ينقصه شيء يحتاجه، ومعرفة ما هو أقيم من أي ميزة في خطة التطوير.
وبالشهر الثالث يكون عندك بيانات حقيقية كافية لاتخاذ القرار التالي بشكل صحيح، وهو لا يكون أبداً تقريباً الشيء الذي كان تالياً في القائمة الأصلية. وهذه أقوى حجة للبناء على مراحل: المرحلة الثانية المصممة بثلاثة أشهر من الأدلة مشروع أفضل بكثير من مرحلة ثانية صُممت في اليوم الأول بجانب الأولى.
خصص ميزانية لهذه الفترة صراحة. أسبوعان من وقت المطور محتجزان للشهر الذي يلي الإطلاق أعلى عائد في المشروع كله، وهما أول ما يُحذف عندما تضيق الميزانية.
ماذا سأفعل بميزانيتك
ثلاثة توزيعات صادقة، عند ثلاثة مستويات ميزانية شائعة، لمنشأة تحاول توليد أعمال لا أن تكون موجودة على الإنترنت فقط.
أقل من ٢٠٠٠ دولار
صفحة هبوط واحدة مبنية بشكل صحيح، وتتبع موصول، والباقي على جلب زيارات إليها. بلا موقع متعدد الصفحات. الهدف في هذا المستوى أن تعرف هل عرضك ينجح، والصفحة الواحدة تجيب على ذلك أسرع وأرخص من ثماني صفحات.
من ٢٠٠٠ إلى ٨٠٠٠ دولار
موقع ثنائي اللغة حقيقي بهيكل مبني للظهور في البحث، مع القطعة الوظيفية الواحدة التي تحذف أكبر قدر من العمل اليدوي من أسبوعك. للعيادة هي الحجز. وللمطعم هي الطلب. وللاستشارات هي استقبال منظم يصفّي الطلبات قبل وصولها إليك. قطعة واحدة مبنية بإحكام تتفوق على أربع مبنية بترقق.
من ٨٠٠٠ إلى ٣٠٠٠٠ دولار
الآن النظام الحقيقي في المتناول، وينتقل القرار من ماذا نبني إلى ماذا نبني أولاً. اختر العملية التي تكلف منشأتك أكبر عدد ساعات أسبوعياً، وآلِها، وأطلقها قبل أن تلمس أي شيء آخر. المرحلة الثانية تموّلها المرحلة الأولى وهي تعمل، وهذا موقف أفضل كثيراً من تمويل كل شيء على الثقة.
الحصول على رقم لمشروعك أنت
إن أردت عرض سعر يستحق المقارنة، فأحضر هذه إلى المحادثة الأولى وستحصل على عرض يصمد:
- من يستخدم النظام، وما يستطيع كل من هؤلاء فعله
- ما تفعله اليوم، بما يشمل جدول إكسل أو مجموعة واتساب التي تمسك عملك حالياً
- الأنظمة الخارجية التي يجب أن يتكلم معها، بالاسم
- هل تمر الأموال من خلاله، وأي طرق دفع يستخدمها عملاؤك
- هل تصدر فواتير في السعودية
- تقريباً كم مستخدماً وكم عملية في الشهر
- نطاق ميزانيتك الحقيقي، والتاريخ الذي يجب أن يعمل فيه شيء
سؤال الميزانية يحرج الناس ولا يجب أن يفعل. المطور الذي يعرف نطاقك يصمم له. والمطور الذي لا يعرفه إما يخمّن عالياً فيخسر العمل، أو يخمّن منخفضاً فيسلّم شيئاً رقيقاً. أنت لا تكشف موقفك في مفاوضة، بل تمكّن شخصاً من حل المشكلة الصحيحة.
أسعّر على هذا الأساس، بالاستثناءات مكتوبة وبسعر ثابت حيث يسمح النطاق. وإن أردت اختبار النطاقات الواردة في هذا المقال على مشروعك، أرسل لي البريف وأخبرك أين يقع، بما يشمل الحالات التي يكون جوابها أن تشتري منصة جاهزة بدل أن تستأجرني.