تطوير برمجيات مخصّصة
تطوير برمجيات مخصّصة بـ Laravel
أكثر تطبيق الأعمال بنية تحتية لا يريد أحد الدفع مقابلها. ما يقدّمه Laravel قياسيًا، وإلى أين تنتمي الميزانية، ومتى يفوز المنتج الجاهز.
تطبيق الأعمال في معظمه ليس عن الأعمال.
عُدّ الكود في أي نظام من هذا النوع، فالجزء الذي يحمل كيف تعمل شركتكم فعلًا أقلية منه. والباقي هو الجهاز الذي يحتاجه كل تطبيق كهذا قبل أن يستطيع فعل أي شيء مفيد - وهذا التمييز أنفع ما يمكن فهمه قبل طلب واحد، لأنه موضع كسب الميزانيات وخسارتها.
العشرون بالمئة التي هي لكم فعلًا
الجزء القيّم في بناء خاصّ هو ما لم يكن منتج ليقدّمه لكم أبدًا: قواعد أسعاركم، وسلسلة موافقاتكم، وطريق عمل من عرض سعر إلى مجدول إلى مفوتَر، والاستثناء الذي ينطبق على عميل واحد لأسباب تعود إلى عقد.
هنا ينبغي أن يذهب التفكير، وفي مشروع سيئ الإدارة هنا ينتهي التفكير، لأن الميزانية استُهلكت في تشغيل البنية التحتية.
فالسؤال الذي يستحق أن يُطرَح على مورّد ليس أي إطار يستخدم. بل ما نسبة التقدير التي تُصرَف على أشياء متطابقة في كل تطبيق بناه في حياته.
ما يحتاجه تطبيق أعمال على Laravel قبل أن يفعل شيئًا مفيدًا
القائمة أطول مما يتوقّع أكثر الناس ولا شيء منها قابل للتفاوض.
يجب أن يسجّل أحد الدخول، ويجب أن يستطيع أحد إعادة ضبط كلمة مرور دون مطوّر. ويجب أن يرى أشخاص مختلفون أشياء مختلفة، مفروضًا في موضع أفضل من بند قائمة مخفي - الصلاحية ليست المصادقة، والفرق يظهر أول مرة يصل تصديرٌ إلى سجلات لم يكن لمشغّله أن يراها.
ويجب أن يحدث عمل خارج طلب الويب. توليد مستند، إرسال بريد، استيراد ليلي، إعادة حساب رقم. وهذا يعني طابورًا، ويعني إعادة محاولة، ويعني مهامًّا آمنة للتشغيل مرتين - والطابور المبني على عجل هو كيف يستلم عميل الفاتورة نفسها ثلاث مرات.
ويحتاج المخطّط تاريخًا لا حالةً راهنة، حتى تُراجَع التغييرة وتُطبَّق على بيئة أخرى. ويجب قبول ملفات من أشخاص خارج المنظّمة دون أن يصير ذلك حادثة أمنية. ويجب أن توجد اختبارات على المسارات التي يتغيّر فيها المال والحالة، وإلا لن يجرؤ أحد على لمس النظام في السنة الثانية.
وLaravel يقدّم كل ذلك قياسيًا، بجودة لا تبلغها أكثر الفرق لو بنتها، والأهم أنه يقدّمه بشكل يعرفه المطوّر التالي. أما إطار خاص اختُرع قبل أربع سنوات على يد شخص رحل منذئذ فهو أغلى أنواع البرمجيات المخصّصة وجودًا.
التكاملات عادةً هي النطاق الحقيقي
الجزء الذي يتجاوز الخطة في هذه المشاريع لا يكون الشاشات تقريبًا أبدًا.
بل أن التطبيق يجب أن يتوافق مع نظام محاسبة ونظام ERP ومزوّد دفع وشركة شحن ونظام CRM وجدول بيانات، ولم يُصمَّم أي منها ليتوافق مع شيء. وهندسة التحدّث إليها مباشرة. أما القرارات فلا.
أي نظام يملك اسم العميل، وما يحدث إذا تغيّر في الجهة الأخرى. ومن يسند رقم الفاتورة. وما يفعله إشعار الدائن في الجهتين. وكيف يُطبَّق سداد جزئي. وما يحدث عندما يتعطّل نظام وقد سجّل الآخر العملية.
تلك قرارات تجارية بمظهر تقني، وتُحسَم مع فريقي المالية والتشغيل عندكم لا بتقدير منّا. والعمل من هذا النوع موضَّح في هندسة التكاملات؛ وفي بناء خاص يكون كثيرًا نصف المشروع، والخطة التي تعدّه بندًا في النهاية خطة تتأخّر.
كيف يسير عمل مخصّص على Laravel
على مراحل، تنتهي كل واحدة بشيء منشور يستطيع الناس استخدامه فعلًا.
المرحلة الأولى تأخذ مسارًا واحدًا من أوله إلى آخره - لا مخطّط خمسة - لأن ذلك ما يُلزم المخطّط بملاقاة بيانات حقيقية. وهو أيضًا ما ينتج تقديرًا للباقي له قيمة، وهو ما لا ينتجه رقم يُقال في الأسبوع الأول.
وكل مرحلة تُحدَّد كتابةً قبل بدئها. وحيث يوجد لديكم مطوّرون يكونون في طلبات الدمج من الأسبوع الأول؛ هكذا تنتقل الأعراف، وهي الصورة الوحيدة التي يبقى فيها النظام قابلًا للصيانة بعد توقّفنا عن العمل عليه.
وترحيل البيانات القائمة يسير بالتوازي لا في النهاية. يُطابَق النظام الجديد مقابل القديم، سجلًّا بسجلّ، حتى يتوافقا - والاختلافات نتائج لا أخطاء، وهي دائمًا أكثر مما توقّع أحد.
ما تحصلون عليه من بناء مخصّص بـ Laravel
في ختام كل مرحلة، تطبيق يعمل على بنية تحتية تسيطرون عليها.
ومعه: المستودع وتاريخه الكامل، ببناء ونشر لا يعتمدان علينا. وترحيلات لا نسخة احتياطية من قاعدة البيانات. ووصف مكتوب لنموذج البيانات ولكل قيد ولما يمنعه - لأن قيدًا لا يستطيع أحد تفسيره قيدٌ سيحذفه مطوّر قادم. واختبارات على المسارات التي تحرّك المال أو تغيّر الحالة. وقرارات التكامل مسجّلة، ومنها التي اختلفنا عليها، لأنها ما يحتاجه مطوّر جديد وما تُسقطه وثيقة التسليم دائمًا.
أين يغلب الشراء البناء
هذا الجواب يكون أحيانًا لا، وسماعه الآن أرخص.
إن كان منتج يغطّي الأكثر وكانت الفجوة ذوقًا لا عملية، فاشتروا المنتج وهيّئوه. المقارنة الصادقة خمس سنوات مقابل خمس سنوات لا سنة أولى مقابل سنة أولى، وعلى المدى الأطول تغلب التهيئة أكثر مما يتوقّع الناس.
وإن كانت العملية لا تزال تُخترع، فالبناء سيصبّ في الخرسانة قرارًا لم يتخذه أحد. أبقوها يدوية حتى يثبت الشكل.
وإن كان الحجم صغيرًا إلى حدّ تكلّف فيه الصورة اليدوية ساعةً في الأسبوع، فالأتمتة هواية لا استثمار.
وإن لم يصر أحد في الشركة أفضل حالًا عند نجاحه - لا شخص بعينه يسهل عمله - فسيُترك مهما كان جيدًا. وهذا أكثر فشل رأيناه، وهو ليس تقنيًا أبدًا.
