محمد النعمان
محمد النعمان

@mhdprog

8 تغريدة 4 قراءة Jun 23, 2024
إحدى الحالات التقنية المستعصية التي تعاملت معها هذه السنة كانت لشركة في قطاع الـ Health-Tech بميزانية ضخمة، يعملون على منتجهم التقني في احدى الدول العربية بدون CTO او حتى مستشار تقني!
في البداية حتى يتم التعامل مع هذه الحالات بشكل جيد يجب الأخذ بعين الاعتبار 4 نقاط أساسية:
1- Tech Stack
2- Project Methdology
3- Programming Approach
4- Code Analysis
خلال مرحلة أخذ المعطيات تم حصر التقنيات المستخدمة (Tech Stack) وهنا توجد عدة ملاحظات يجب التنويه عليها في هذه المرحلة عندما يكون فريق العمل من الخارج.
- بعض التقنيين لم يعملوا في السوق السعودي مسبقا او ليس لديهم خلفية عن التقنيات الرائجة في المنطقة، فمثلا عندما قمنا بتحديد الـTech Stack وجدنا أحد إيطارات العمل التي تم العمل عليها قديم و لا يوجد متخصصين به في حال اردنا إكماله داخل الممكلة.
- في مرحلة تحديد فريق العمل يجب وجود مختص تقني في الشركات التقنية الناشئة مسؤول عن الخبرات و التقنيات المطلوبة في إنجاز العمل فلا يكون الفريق ذو خبرة كبيرة و ترتفع التكلفة ولا يكون ذو خبرة صغيرة و لا يتم إكمال العمل بالشكل المطلوب.
- عندما يتم توظيف الفريق الخارجي، يجب ان يكون العمل مُدار بعدة أدوات مثل Trello و Zohoo لإدارة التقدم و رصد التقارير لمجلس الإدارةو أن تكون ساعات العمل على حسب نظام العمل المحلي وليس نظام عمل الدولة التي يوجد بها الفريق التقني
بعدها، يتم الانتقال للنقطة الثانية وهي الطريقة التي تم بها إدارة المشروع (Project Methdology).
لم تكن هناك طريقة محددة للإدارة لكن حسب آلية العمل التي تم طرحها فقد كانت Waterfall SDLC، وهي طريقة تعتمد على وجود ميزانية محددة و Scope Of Work محدد وكلاهما لم تكن موجودة في هذه الشركة، فتعمل هذه الطريقة في أتمتة عمليات التشغيل او تنفيذ مشروع واضح البداية والنهاية.
في رأيي الشخصي، أرى أن طريقة عمل AGILE هي افضل طريقة من الممكن اتخاذها في النماذج الأولية و تطبيقات الشركات التقنية الناشئة لعدة أسباب منها:
1- تطوير الأفكار الجديدة يتطلب اختبار مستمر وهذا يحتاج للمرونة
2- ميزانية تطوير المنتجات غير محددة فتظهر خصائص جديدة في كل فترة ينزل بها المنتج للسوق فتحتاج ميزانيات اخرى
3- العمل في تطوير المنتجات التقنية يتطلب مدة عمل مرنة لأن بكل Iteration يتم تحديث المنتج و وصول Input جديد من العميل ليتم تنفيذه بمدة جديدة محددة.
في المرحلة ما قبل الأخيرة (Programming Approach) يتم معرفة ماهي الطريقة التي تمت برمجة المنصة عليها وهي مختلفة عن النقطة الثانية (Project Methdology) فتنقسم هذه المرحلة لقسمين لا ثالث لهما:
1- Tactical Programming
2- Strategical Programming
الأولى تعنى بطريقة برمجة تهتم بالنزول للسوق أولا عوضًا عن التركيز بتوثيق الكود و بناءه ليكون عبارة عن أداة تعطي FeedBack عن السوق للإدارة للحصول على فهم اعمق للسوق و تحديد النقاط المهمة التي يجب العمل عليها بدون الإنتباه للبنية التحتية الخاصة بالمنتج التقني وهذا كان مسار META في بداياتاها.
أما الطريقة الثانية فهي عكس الاولى تماما، فتهتم بتوثيق الكود البرمجي والمحافظة عليه و البقاء على بنى تحتية سليمة وتعتمد على تخطيط الFeatures قبل الشروع في برمجتها ويتم كتابة الاكواد بطريقة تسمح بالتوسع مستقبلا و التركيز على الـ Scalability عندما يكبر حجم الفريق التقني في المنشأة.
وعندما لا يتم اختيار طريقة من الاثنتين المطروحة، ينشئ لنا نظام تقني هجين بعضه يصلح للتوسعة والاخر لا فلا ينصل للهدف المطلوب الذي تم تحديده في البداية سواء كان جس نبض سوق العمل او حتى تأسيس منتج تقني للتطوير وللمستقبل.
النقطة الأخيرة بعد معرفة جميع المعلومات السابقة نقوم بعملية (Code Analysis) وهي عملية تقوم بقياس 5 مؤشرات مهمة في المنتج التقني وهي:
1- Reliability (اعتمادية النظام)
2- Security (أمان النظام)
3- Maintainability (قابلية النظام للصيانة)
4- Coverage (نسبة الأكواد القابلة للفحص عن تشغيل الكود)
5- Duplications (عدد الأكواد المتكررة في النظام)
تساعد هذه العوامل على تحديد الدّين التقني (Technical Dept) و هو المدة و التكلفة التي يأخذها فريق العمل في تنفيذ تعديل معين و أيضا تساعد هذه العوامل على تحديد مواطن الخلل و المشاكل التقنية التي يحتويها المنتج التقني والعمل على إصلاحها من خلال GITHUB
في النهاية، يجب على جميع المنشآت - التقنية خصوصًا - تعيين مستشار تقني على أقل تقدير كي يقود المرحلة الأولية للمنتج التقني لأنه الوحيد الذي ينظر بمنظور تقني بحت بحكم المعرفة و الخبرة التي يمتلكها مع فريق العمل التقني، ومن خلال مساعدته يمكن:
1- إنهاء العمل بوقت أسرع
2- إخراج منتج ذو جودة عالية
3- تجنب بعض الأخطاء و المشاكل التي قد تحدث
4- بناء نظام تقني مستدام على أسس صحيحة قابل للتوسعة
شكرا لك لوصولك لهذه التغريدة عزيزي القارئ 🌹🌹

جاري تحميل الاقتراحات...