إزاي تختار شركة برمجة تطبيقات أو مطوّر؟

يوسف محمد13 دقيقة قراءة

اكتب صفحة واحدة باللي محتاجه الأول

شغلي إني أبرمج تطبيقات لعملاء، فبشوف القرار ده من ناحية المطوّر. العملاء اللي بيطلعوا من المشروع مبسوطين غالبًا كتبوا هما محتاجين إيه قبل ما يكلّموا أي حد. صفحة واحدة كفاية، ومش لازم تبقى كلام تقني:

  • التطبيق لمين، وإيه أهم حاجة بيعملها كل نوع من المستخدمين فيه
  • Android ولا iPhone ولا الاتنين، ومحتاج نسخة ويب كمان ولا لأ
  • عربي ولا إنجليزي ولا الاتنين، وأنهي لغة بتفتح الأول
  • التطبيق هيتربط بإيه: دفع أونلاين، خرايط، شركات شحن، أكواد SMS، أو سيستم عندك أصلًا
  • محتاج لوحة تحكم حد يدير منها المحتوى أو الطلبات ولا لأ
  • الميعاد اللي محتاج التطبيق فيه، وليه الميعاد ده مهم
  • حد أقصى تقريبي للميزانية انت مرتاح له

شركة ولا فري لانس ولا فريق داخلي؟

شركة برمجة التطبيقات بتدّيك أدوار كتير تحت سقف واحد: مدير مشروع، ومصمم، ومبرمجين للتطبيق وللـ backend، وغالبًا حد بيختبر. ولو حد ساب الشغل، الشركة تجيب غيره. بس الهيكل ده ليه تكلفة إدارية، وممكن أغلب كلامك يبقى مع account manager مش مع الناس اللي بتكتب الكود.

المبرمج الفري لانس أو الفريق الصغير بيدّيك خط مباشر مع اللي بيبني تطبيقك، وقرارات أسرع، وطبقات أقل بينك وبين الشغل. الخطر هنا إن الطاقة محدودة: شخص واحد ممكن يتعب أو ينشغل أو يختفي. اسأل مين بيغطّي مكانه، وخلّي الكود والحسابات في إيدك عشان حد تاني يقدر يكمّل لو احتجت.

الفريق الداخلي منطقي لما التطبيق يكون منتجك الأساسي ومتوقع شغل مستمر عليه لسنين. التوظيف بياخد وقت، ومحتاج حد فاهم تقنيًا يقوده. ناس كتير بتبدأ بفريق من برّه للنسخة الأولى وتوظّف بعدين، وده بينفع بس لو النسخة الأولى نضيفة واتسلّمت صح.

مهما كان المسمّى، احكم بالدليل: التطبيقات اللي نشروها، والناس اللي هتشتغل على مشروعك، وإجاباتهم على الأسئلة اللي تحت.

نزّل تطبيقاتهم المنشورة وجرّبها بنفسك

العرض التقديمي بيوريك التصميم بس. إنما التطبيق المنشور على App Store أو Google Play بيوريك إن الفريق بيعرف يخلّص ويعدّي المراجعة وينشر. اطلب لينكات 2 أو 3 تطبيقات، نزّلهم على موبايلك، واقعد مع كل واحد ربع ساعة:

  • اعمل حساب وسجّل دخول زي أي مستخدم جديد، بما فيه الكود اللي بيوصل في SMS أو على الإيميل
  • غيّر لغة الموبايل لعربي وافتح التطبيق تاني: الشاشة لازم تتقلب من اليمين للشمال، وأسهم الرجوع تشاور في الاتجاه الصح، ومفيش كلام مقطوع
  • اكتب رقم موبايل وإيميل واسم عربي في نفس الفورم، وشوف كل واحد بيظهر صح ولا لأ
  • جرّبه على موبايل Android عادي متوسط، مش iPhone جديد بس، ولاحظ الشاشات بتفتح بسرعة ولا لأ
  • شغّل وضع الطيران في نص عملية، وشوف التطبيق بيقولك حصل إيه ولا بيهنّج وخلاص
  • كبّر حجم الخط من إعدادات الموبايل، واتأكد إن الزراير والكلام لسه مظبوطين
  • اقرا آخر التقييمات، وبص آخر تحديث للتطبيق كان إمتى

اسأل عملوا إيه بالظبط، ومين هيعمل تطبيقك

«اشتغلنا على التطبيق ده» ممكن تعني إنهم بنوه من الصفر، وممكن تعني إنهم صلّحوا كام مشكلة لمدة شهر. اسأل عن كل تطبيق عملوا فيه إيه: التصميم، ولا التطبيق نفسه، ولا الـ backend ولوحة التحكم، ولا جزء بس. ولو ينفع، اطلب تكلّم واحد من عملائهم السابقين كام دقيقة.

لو المستخدمين بتوعك بيقروا عربي، اطلب تطبيق عربي بالاسم. الاتجاه من اليمين، والخطوط العربي، والعربي والإنجليزي في نفس السطر، وقواعد الجمع، هي الأماكن اللي الفرق قليلة الخبرة بتقع فيها، وتصليحها متأخر بيكلّف كتير. ولو هتبيع في السعودية أو مصر، اسأل كمان اشتغلوا قبل كده على طرق الدفع اللي عملاءك بيستخدموها، زي بطاقات مدى في السعودية أو Paymob و Fawry في مصر.

بعد كده اسأل مين اللي هيشتغل على مشروعك فعلًا. فيه شركات بتدّي الشغل لحد من الباطن أو لأقل الناس خبرة عندها، ولازم تعرف ده قبل ما تمضي، مش تكتشفه في النص. اطلب أسماء الناس وأدوارهم، واسأل مين الشخص الواحد اللي هتكلّمه، وشغالين على كام مشروع تاني في نفس الوقت، ولو حد فيهم مشي إيه اللي هيحصل.

أسئلة تسألها في أول مكالمة

  • أنهي تطبيق من اللي نشرتوه أقرب لتطبيقي، وإيه اللي كان صعب فيه؟
  • مين هيشتغل على مشروعي، ومين هكلّمه كل أسبوع؟
  • هتستخدموا Flutter ولا Swift و Kotlin ولا حاجة تانية، وليه دي المناسبة للتطبيق ده؟
  • محتاجين مني إيه، وإمتى؟
  • لو طلبت ميزة بعد ما اتفقنا على المطلوب، بتتعاملوا معاها إزاي؟
  • إمتى أول مرة أقدر أنزّل حاجة وأجرّبها على موبايلي؟
  • بتختبروا إزاي قبل كل تسليم، وعلى أنهي أجهزة؟
  • حسابات المتاجر والسيرفر والدومين هتبقى باسم مين؟
  • إمتى وإزاي هستلم الكود؟
  • إيه اللي بيحصل بعد الإطلاق، والدعم بيتحاسب إزاي؟

ركّز في طريقة الإجابة، مش بس في الإجابة نفسها. المطوّر الكويس بيشرح اختياراته بكلام بسيط، وبيعترف باللي لسه مش عارفه، وبيسألك هو كمان عن المستخدمين بتوعك والتطبيق هيكسب فلوس إزاي.

خلّي بالك من فريق بيوافق على كل حاجة على طول، أو بيقول سعر قبل ما يفهم التطبيق، أو مش قادر يقولك حاجة واحدة ممكن تبوظ. كل تطبيق فيه أجزاء صعبة، والفريق اللي مش شايفها دلوقتي هيكتشفها بعدين، على حساب ميزانيتك.

التعديلات وتغيير المطلوب بتمشي إزاي

كل تطبيق بيتغيّر وهو بيتبني: تشوف أول نسخة وتلاقي شاشة ناقصة، أو منافس ينزّل ميزة وانت عايزها كمان. ده طبيعي جدًا. المهم تتفقوا من الأول التعديلات هتمشي إزاي.

الطريقة المعقولة: تبعت التعديل مكتوب، والفريق يرد عليك بتأثيره على التكلفة والوقت، توافق، وبعدها بس الشغل يبدأ. من غير كده التعديلات بتتكوّم في رسايل الشات، والطرفين بيتخانقوا في الآخر على إيه اللي كان متفق عليه.

السعر الثابت بينفع لمطلوب واضح ومستقر، والحساب بالوقت أنسب لمنتج لسه بيتشكّل. وفيه فرق بتبدأ بمرحلة قصيرة مدفوعة اسمها discovery، بتحوّل فكرتك لشاشات وقايمة مميزات مفصّلة، وبعدين تدّيك سعر ثابت للتنفيذ. ولفكرة جديدة، ده غالبًا أصدق طريق.

واتفقوا على الفرق بين المشكلة والتعديل. المشكلة (bug) حاجة مش شغالة زي ما اتفقنا، وتصليحها المفروض ما يكلّفكش حاجة. التعديل حاجة جديدة أو مختلفة عن الاتفاق، ومن حق الفريق ياخد عليه فلوس زيادة.

إزاي تقرا عرض السعر

ابعت نفس الصفحة لكل الفرق اللي بتفكّر فيها، عشان تقارن العروض بند ببند مش بالرقم اللي في الآخر. العرض المفيد بيكون فيه:

  • المميزات والشاشات اللي داخلة، مكتوبة بشكل تقدر تراجع كل واحدة فيها
  • اللي مش داخل، مكتوب بوضوح
  • المنصات، وأقدم أجهزة التطبيق هيشتغل عليها
  • هل التصميم والـ backend ولوحة التحكم داخلين في السعر
  • التكاليف الخارجية اللي هتدفعها انت مباشرة، زي حسابات المطوّرين والسيرفرات والـ SMS والخرايط ورسوم بوابة الدفع
  • مراحل، كل واحدة فيها حاجة تقدر تجرّبها، ودفعات مربوطة بيها
  • الدعم اللي داخل بعد الإطلاق، ولمدة قد إيه
  • جملة واضحة إن الكود والحسابات ملكك

اتأكد إن الكود ملكك

العقد لازم يقول إن ملكية الكود والتصميمات وأي حاجة اتعملت مخصوص ليك بتنتقل لشركتك بعد ما تدفع. من غير البند ده، الملكية بتبقى مشكلة حقيقية يوم ما تحب تغيّر المطوّر أو تبيع البيزنس.

ماتستناش ملف zip في الآخر. اطلب إن الكود يبقى في repository على GitHub أو GitLab أو Bitbucket تحت حسابك انت أو حساب شركتك، والفريق متضاف كأعضاء. كده تشوف الشغل ماشي كل أسبوع، والكود يبقى ملكك أصلًا لو العلاقة خلصت بدري.

والملكية مش التطبيق بس: لازم تشمل الـ backend، ولوحة التحكم، وملفات التصميم، وتعليمات مكتوبة لبناء التطبيق ونشره. المكتبات مفتوحة المصدر اللي التطبيق بيستخدمها بتفضل تحت رخصها، وده طبيعي. المهم إن مفيش حاجة انت معتمد عليها تكون محبوسة في أدوات خاصة بالمطوّر.

خلّي كل الحسابات باسم شركتك

  • حساب Apple Developer Program، متسجّل كشركة
  • حساب Google Play Console، كشركة برضه
  • الدومين، والحساب اللي محجوز منه
  • السيرفرات أو الاستضافة السحابية، زي Firebase أو AWS أو Google Cloud
  • بوابة الدفع وخدمات الـ SMS والخرايط والإيميل
  • أدوات التحليلات ومتابعة الأعطال

اعمل الحسابات دي بنفسك، بإيميل تحت إيد شركتك، وضيف المطوّر كمستخدم. App Store Connect و Google Play Console الاتنين بيسمحوا تدعو ناس بصلاحيات محدودة، فالمطوّر يقدر يرفع النسخ من غير ما يملك أي حاجة.

وابدأ بدري، لأن بعض الحسابات دي بتاخد وقت. تسجيل شركة في Apple محتاج رقم D-U-N-S لشركتك، و Google Play بيتحقق من حسابات الشركات هو كمان. كل خطوة ممكن تاخد أيام، ومش عايز التأخير ده ييجي في أسبوع الإطلاق.

وعشان كده صفحة التطبيق في المتجر غالبًا بيبقى عليها اسم شركة العميل كمطوّر، مش الشركة اللي برمجته.

العقد والمراحل والدفعات

لازم يبقى فيه عقد مكتوب، حتى مع فري لانس انت عارفه وواثق فيه. العقد بيحمي الطرفين، ومش لازم يبقى طويل. اتأكد إنه بيغطي:

  • المطلوب، مع إرفاق العرض
  • المراحل: كل مرحلة بتسلّم إيه، وبتستلمها إزاي، وفي آخر كل واحدة نسخة تنزّلها على موبايلك
  • دفعات مربوطة بالمراحل دي، ومفيش دفعة كبيرة قبل ما تشوف نسخ شغالة
  • ملكية الكود والتصميمات والحسابات
  • التعديلات بتتطلب وتتسعّر ويتوافق عليها إزاي
  • فترة تصليح مشاكل بعد الإطلاق، وبتغطي إيه
  • السرية، عشان فكرتك وبياناتك تفضل خاصة
  • إيه اللي بيحصل لو أي طرف وقّف المشروع بدري، بما فيه تسليم كل الشغل اللي اتعمل لحد ساعتها

اتفقوا هتتواصلوا إزاي

لما مشروع تطبيق يبوظ، السبب كتير بيبقى السكوت مش الكود: أسابيع من غير أخبار، وبعدين تسليم مش هو اللي العميل كان متخيّله.

اتفقوا على إيقاع ثابت قبل ما تبدأوا. مكالمة قصيرة أو تحديث مكتوب كل أسبوع بيكفي أغلب المشاريع: إيه اللي اتعمل، وإيه الجاي، والفريق محتاج منك إيه. وخلّيكم في قناة واحدة عشان القرارات ماتضيعش بين WhatsApp والإيميل والمكالمات. واتفقوا على أيام الشغل كمان، لأن أيام الإجازة والعطلات الرسمية بتختلف بين مصر والخليج وأوروبا.

اطلب نسخ تنزّلها وانت ماشي: TestFlight على iPhone، ومسار اختبار في Google Play Console أو لينك تنزيل مباشر على Android. لما تشوف التطبيق على موبايلك كل أسبوع أو اتنين، بتمسك سوء الفهم وهو لسه تصليحه رخيص.

ومن ناحيتك، حدّد شخص واحد هو اللي بياخد القرارات. ملاحظات من 3 أشخاص كل واحد في اتجاه بتبطّأ المشروع وتزوّد التكلفة. واكتب القرارات المهمة، حتى في رسالة قصيرة، عشان محدش يعتمد على الذاكرة بعدين.

جرّبه بنفسك قبل ما تستلمه

قبل ما توافق على مرحلة أو على النسخة النهائية، جرّبها انت بنفسك وماتكتفيش بكلام الفريق. امشي على القايمة دي:

  • كل ميزة في المطلوب المتفق عليه، واحدة واحدة
  • العربي والإنجليزي لو التطبيق فيه الاتنين، بما فيه التبديل بينهم
  • موبايل Android قديم أو رخيص، مش iPhone بس
  • نت ضعيف أو بيقطع
  • الدفع في وضع الاختبار بتاع بوابة الدفع، بما فيه دفعة فشلت أو اتلغت
  • الإشعارات والتطبيق مفتوح، وفي الخلفية، ومقفول
  • مسح الحساب من جوه التطبيق، وده شرط في المتجرين لأي تطبيق المستخدم يقدر يعمل فيه حساب
  • لوحة التحكم، مع الناس اللي هيستخدموها فعلًا

التسليم الصح بيبقى فيه إيه

لما المشروع يخلص، المفروض تقدر تسلّمه لمطوّر تاني بكرة من غير ما تطلب أي حاجة من الفريق الأول. التسليم الصح بيشمل:

  • صلاحية admin على الـ repository، وكل حاجة فيه محدّثة
  • تعليمات مكتوبة لتشغيل التطبيق وبنائه ونشره
  • مفتاح الرفع بتاع Android (upload key) وكلمات السر بتاعته، محفوظين في مكان آمن تحت إيدك
  • قايمة بكل خدمة خارجية التطبيق بيستخدمها، ومين بيدفعها، وبتتجدد إمتى
  • الدخول على السيرفرات وقاعدة البيانات ولوحة التحكم، وتقلّل صلاحيات الفريق لما تكون جاهز
  • ملفات التصميم ومواد صفحة المتجر: الصور والوصف وسياسة الخصوصية

الدعم بعد الإطلاق

الإطلاق مش النهاية. Apple و Google بينزّلوا نسخ جديدة من iOS و Android كل سنة، والمتجرين بيرفعوا شروطهم بانتظام. التطبيق اللي محدش بيلمسه فترة طويلة ممكن يبدأ يعمل مشاكل على الموبايلات الجديدة، أو يتمنع من نشر تحديثات لحد ما يتحدّث.

اتفقوا على حاجتين قبل ما تمضي. الأولى: فترة تصليح مشاكل بعد الإطلاق، أي مشكلة في المميزات المتفق عليها بتتصلّح فيها من غير فلوس زيادة. التانية: إيه اللي بعدها، سواء خطة صيانة شهرية أو باقة ساعات أو دفع على كل طلب. أي واحدة فيهم تنفع، المهم تبقى عارف انت ماشي بأنهي واحدة.

واسأل مين بيتابع الأعطال (crashes) لما المستخدمين الحقيقيين ييجوا، وبيردّوا بسرعة قد إيه على مشكلة عاجلة مقارنة بمشكلة صغيرة. واسأل كمان عن مصاريف التشغيل اللي هتدفعها انت، زي السيرفرات والـ SMS والاشتراك السنوي في Apple Developer Program، عشان ماتتفاجئش بأي حاجة منهم.

علامات تخلّيك تنسحب

  • مفيش تطبيقات منشورة تقدر تنزّلها، بس تصميمات وفيديوهات
  • عرض سعر في سطر واحد: رقم إجمالي من غير تفاصيل باللي داخل
  • سعر قبل ما يفهموا التطبيق بيعمل إيه
  • ضغط عشان تمضي بسرعة، زي خصم بيخلص النهارده
  • عايزين ينشروا التطبيق على حساب المطوّرين بتاعهم
  • مفيش وصول للكود لحد آخر يوم، أو خالص
  • طلب أغلب الفلوس مقدّم
  • وعود بعدد تنزيلات أو ترتيب أو أرباح
  • مفيش ولا سؤال عن المستخدمين بتوعك أو البيزنس أو التطبيق هيكسب فلوس إزاي

علامة واحدة مش دايمًا سبب إنك تنسحب. فري لانس جديد ممكن يبقى عنده تطبيقات منشورة قليلة، بس يوريك كود حقيقي وطريقة شغل واضحة. إنما 2 أو 3 علامات مع بعض يبقى ده نمط، وإنك تنسحب قبل العقد أرخص بكتير من بعده.

مسك الحسابات يستاهل كلمة لوحده. المطوّر اللي ماسك تطبيقك أو الدومين أو السيرفر باسمه بيبقى متحكّم في جزء من البيزنس بتاعك، مهما كانت نيته. لو ده موقفك دلوقتي، اطلب نقل الحسابات والعلاقة لسه كويسة. المتجرين الاتنين عندهم طريقة رسمية لنقل التطبيق لحساب مطوّر تاني.

القايمة الأخيرة وتعمل إيه بعد كده

  • بعتّ نفس الصفحة لكل الفرق
  • نزّلت وجرّبت على الأقل تطبيقين من شغلهم المنشور، بالعربي كمان
  • عارف أسماء الناس اللي هتعمل تطبيقي
  • العرض فيه المميزات واللي مش داخل والمراحل والتكاليف الخارجية
  • الدفعات مربوطة بمراحل أقدر أجرّبها على موبايلي
  • العقد بينقل الكود والتصميمات لشركتي
  • الـ repository وحسابات المتاجر والدومين والسيرفرات باسم شركتي
  • اتفقنا التعديلات بتتسعّر إزاي، وهنتكلم كل قد إيه
  • عارف هاخد دعم إيه بعد الإطلاق، وبيتحاسب إزاي

تعمل إيه بعد كده: اكتب الصفحة بتاعتك الأسبوع ده، حتى لو ملاحظات سريعة. بعدين اختار 2 أو 3 فرق، واسأل كل واحد نفس الأسئلة، وحط الإجابات جنب بعض. الاختيار الصح غالبًا بيبان أول ما تشوفهم قصاد بعض.

ولو حابب أكون واحد من الفرق دي، ابعتلي الصفحة بتاعتك. أنا ببرمج تطبيقات Flutter لـ Android و iPhone، بالعربي والإنجليزي، لعملاء في مصر والخليج وأوروبا، ومستعد أجاوب على كل سؤال في القايمة دي، حتى الأسئلة المحرجة.

أسئلة شائعة

أختار شركة برمجة تطبيقات ولا مبرمج فري لانس؟
مفيش واحد أحسن من التاني في المطلق. الشركة بتدّيك أدوار أكتر وحد يغطّي لو حد ساب، والفري لانس بيدّيك تواصل مباشر مع اللي بيبني ومصاريف إدارية أقل غالبًا. اختار على أساس تطبيقات منشورة تقدر تجرّبها، والناس اللي هيشتغلوا فعلًا، وإن الكود والحسابات هيبقوا ملكك.
إزاي أعرف إن مبرمج التطبيقات كويس قبل ما أتعاقد معاه؟
نزّل 2 أو 3 من تطبيقاته المنشورة وجرّبها على موبايلك، وبالعربي كمان لو المستخدمين بتوعك محتاجينه. اسأله عمل إيه بالظبط في كل تطبيق، واطلب تكلّم عميل سابق. وبعدين احكم على وضوح إجاباته عن المطلوب والملكية والدعم.
مين يملك سورس كود التطبيق؟
انت، والعقد لازم يقول كده: ملكية الكود والتصميمات وكل حاجة اتعملت لك بتنتقل لشركتك بعد الدفع. واطلب إن الكود يبقى في repository تحت حسابك طول المشروع، مش ملف zip في الآخر.
التطبيق يتنشر على حسابي ولا حساب المبرمج؟
على حسابك. اعمل حساب Apple Developer Program وحساب Google Play Console باسم شركتك، وضيف المطوّر كمستخدم بالصلاحيات اللي محتاجها. ولو التطبيق متنشر دلوقتي على حساب المطوّر، المتجرين عندهم طريقة رسمية لنقله.
عرض سعر برمجة تطبيق المفروض يكون فيه إيه؟
قايمة بالمميزات والشاشات، واللي مش داخل، والمنصات، وهل التصميم والـ backend ولوحة التحكم داخلين، والتكاليف الخارجية اللي هتدفعها، والمراحل، وجدول الدفعات، ومدة الدعم. رقم إجمالي من غير تفاصيل مينفعش تقارنه بأي حاجة.
الدفع لشركة البرمجة بيتقسّم إزاي؟
اربط كل دفعة بمرحلة بتنتهي بحاجة تقدر تنزّلها وتجرّبها، زي نسخة على TestFlight أو على مسار اختبار في Google Play. ماتدفعش أغلب الفلوس قبل ما تشوف حاجة شغالة، وخلّي آخر دفعة بعد النشر والتسليم الكامل.
ينفع أغيّر شركة البرمجة في نص المشروع؟
ينفع، لو الـ repository والحسابات معاك والعقد بيقول إن الشغل اللي اتعمل بيتسلّم. المطوّر الجديد هيحتاج وقت يراجع الكود قبل ما يدّيك سعر. وعشان كده الملكية والصلاحيات لازم تتحسم قبل ما المشروع يبدأ.

شارك

متاح لمشاريع جديدة

حساباتي