إدارة مشاريع البيانات الضخمة- عوامل النجاح وأساسيات العمل BigData project management success factors

كثير ما نسمع عن تطبيقات ومشاريع الـ BigData وأصبح كل من تعرفه او لا تعرفه يتكلم بمصطلحات البيانات الضخمة. سأحاول في هذا المقال البسيط إعطاء لمحة عن بعض العوامل المؤثرة في نجاح هذه المشاريع بناء على خبرتي الشخصية في مشروع انتهت مدته مؤخرا

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

  1. عدم تضخيم الأمور: البعض يعمد الى تضخيم حجم العمل وصعوبته وطول المدة المطلوبة للعمل- انتبه لأولئك لأن الحافز الأساسي لهم هو اما فرض كلفة أكبر للمشروع او مدة أطول واهم حافز أنهم لا تتوفر لديهم الخبرة المطلوبة لأداء العمل- وبالتالي يحاول المطوّر ان يطلب وقت أطول لإنجاز المهمة المطلوبة. يجب تعيين الكفاءات الصحيحة للمشروع والتفاوض بشدّة مع الخبراء منهم (عادة الخبراء في هذا المجال يتقاضون مبالغ عالية لتنفيذ ما هو مطلوب)
  2. الدراية والعلم بالشيء: يجب (5 خطوط تحت كلمة يجب) ان يكون مدير المشروع على دراية كاملة بالأدوات والتطبيقات المستخدمة في المشروع. الدراية التي أتكلم عنها لا تقتصر على قراءة بعض الـ blogs او صفحات من ويكيبيديا… بل تتعدى ذلك لفحص البرامج وتتبع سطور الـ source code إذا اقتضى الامر وحتى كتابة بعض البرامج للتأكد من فعالية التطبيقات والخدمات الملموسة من المشروع. بما أنى تطرقت لموضوع الأدوات والتطبيقات التي تص البيانات الضخمة، الكلمات المفتاحية التالية تجدها في غالب مشاريع البيانات الضخمة والتي يجب ان تبحث في تفاصيلها وأساليب استخدامها وفائدتها وحتى ترقّب التحديثات التي تصدرها الشركات لهذه التطبيقات:

Graph databases, data models, schema and schema-less data structures, polyglot persistence, lambda architecture, batch processing, speed processing, in-memory processing, Apache projects: Spark, Hadoop, Flink, NiFi, Avro.

Functional programming, Data frames, elasticsearch, kibana, Zeppelin, key/value database

  1. استخدام الأدوات المناسبة لادارة المشروع: ويتضمن ذلك إدارة مهام الفريق وحتى الـ source code وحفظه باستخدام أدوات مثل GiT مع الاخذ بعين الاعتبار الصلاحية المسموحة لكل من أعضاء الفريق فيما يخص الـ source code. بما ان مشاريع البيانات الضخمة تكون جديدة على الفريق يُفضّل ان تعتمد منهجية مرنة لادارة المشروع: Agile project management لأن القرارات الإدارية والتقنية قد تتغير مع مرور الوقت وبالتالي يجب كسر القواعد الرتيبة في إدارة المشروع. أيضا يجب استخدام أدوات مناسبة لمساعدة المبرمجين ومدير النظام لتحديث المخرجات بسهولة واصدار نسخة من المخرجات في فترات مجدولة مثل nightly builds فيما يلي بعض الكلمات المفتاحية لادوات إدارة المشاريع وتشغيل المخرجات DevOps

Scrum, Agile, standup meeting, ticketing system, JIRA, Git, Docker, LDAP, Jenkins, SSH, DONE DONE, refactoring, burn down, gitolite, redmine, build script.

  1. اجراء المقارنات ومقارنة القراءات Benchmarking: من الأفضل عمل الـ benchmarking بين التطبيقات المراد استخدامها قبل الشروع بالتطوير وخاصة فيما يتعلق بالـ I/O performance واستخدام الذاكرة والمعالج memory and CPU consumption والـ benchmarking يستعمل بالطبع نفس المعطيات (المدخلات) ومقارنة النتائج بين التطبيقات المستهدفة
  2. تعيين خبراء في المجال المطلوب: لا تتوقع ان يستطيع أي مبرمج ان يعمل في مشاريع البيانات الضخمة بدون خبرة في مشاريع سابقة، الخبرة في مشروع او أكثر ضروري لنجاح المشروع- الا إذا كان الهدف من المشروع هو التعلم وليس لإتمام مشروع للعملاء او أحد منتجات الشركة

One thought on “إدارة مشاريع البيانات الضخمة- عوامل النجاح وأساسيات العمل BigData project management success factors

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s