تحليل الاحتياجات وجمع المتطلبات

تحليل الاحتياجات وجمع المتطلبات هما عملتيان مترابطتان، والتي تنتمى لأول المراحل في دورة حياة تطوير البرمجيات (Software Development Lifecycle)، وتعد المرحلة الأولى في بناء أي مشروع سواء كان داخل مجال البرمجيات، أو تصميم منتجات جديدة، أو حتى في مشاريع البناء والمعمار، فجمع المتطلبات ودراستها وتحليلها يساهم في نجاح المشاريع، والتأكد من النتيجة باستيفائها لجميع المتطلبات.

جمع المتطلبات Requirements Gathering

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

للتأكد من وضوح المعلومات لابد أن يكون العميل قادر على شرح ماذا يريد في هذا المشروع وما النتائج المتوقعة، وأيضا لابد أن يكون محلل الأعمال (Business Analyst) قادرا على التواصل الجيد والفعال مع العميل، ويستطيع جمع المعلومات من العميل وفهم ما يريد العميل توضيحه ومساعدته في ذلك، فهذا يسهل ويسرع العملية بشكل ملحوظ.

أيضا من الأمور الجيدة تصميم نموذج مبدئي (Prototype) من المنتج المراد إنشائه، وعرض هذا النموذج للعميل، لتوضيح وإيصال فكرة المشروع ومظهره للعميل ورؤية توقعاته بشكل توضيحي، كما يساعد العميل في فهم المشروع بدقة أكبر مما يؤدي إلى توضيح العديد من نقاط المتطلبات والإتيان بمتطلبات واضحة ومفهومة ويمكن العمل عليها وتحليلها ببساطة.

هناك حالتان للنموذج المبدئي:

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

تحليل المتطلبات Requirements Analysis

عملية تحليل المتطلبات هي حجر الأساس لأي مشروع برمجيات، تقوم هذه المرحلة على المرحلة السابقة بشكل أساسي، حيث يقوم محللي الأعمال بتحليل المتطلبات وفهمها جيدا، وحاولة معرفة ماذا يريد العميل تصميمه؟ ماذا يقدم هذا المنتج؟ لماذا يصمم هذا المنتج؟، وكل هذا قائم على التحليل والفهم الجيد لمتطلبات العملاء، وترجمة هذه المتطلبات إلى واقع حقيقي ونماذج يمكن العمل عليها.

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

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

أصحاب المصلحة الرئيسيون Key Stakeholders

أصحاب المصلحة هو مصطلح لتعريف أي شخص له تأثير فعلي على مخرجات المشروع، أو أي شخص ساهم في نجاح المشروع، ويختلف هذا التعريف من شركة لأخرى، لذا دعونا نناقش أصحاب المصلحة في عملية جمع وتحليل المتطلبات ودورهم الفعال:

  • المستخدم (End-User): هو شريان الحياة لبناء أي مشروع برمجيات، حيث يساهم في شرح آليات العمل المختلفة، والمهام، والنقاط الأساسية التي لابد على هذا المنتج أن يقوم بها.
  • أصحاب المصلحة في العمل (Business Stakeholders): هو أي شخص له مصلحة خاصة من نجاح المشروع، مثل مدير المنتج (Product Managers)، أو المدير التنفيذي (Executives)، كما يساهم هؤلاء في توضيح رؤية وأهداف المشاريع والتواصل مع الفرق المختلفة.
  • الخبراء المتخصصين (Subject Matter Experts): هم الأشخاص الذين لديهم خبرة كبيرة في الإختصاص أو المشكلة التي تساهم الشركة في حلها، فوجود الخبرة يساهم في إنتاج منتجات قوية تقنيا وقليلة الأخطاء.

تقنيات جمع وتحليل المتطلبات Requirements Gathering and Analysis Techniques

  • المقابلات (Interviews): تساهم المقابلات المستمرة والجلسات الفردية في الخوض بشكل عميق في تفاصيل احتياجات وتوقعات ومخاوف العميل، ومن التقنيات المهمة خلال هذه الجلسات، أن يقوم محلل الأعمال بطرح أسئلة مفتوحة وأن يكون مستمعا جيدا لجميع التفاصيل وتسجيل هذه التفاصيل لتفادي النسيان.
  • ورش العمل (Workshops): الجلسات التفاعلية التي يقدمها أصحاب مصلحة العمل مثل المديرين، تساهم في عمل عصف ذهني قوي لاستخراج الأفكار وطرحها بشكل جيد، ومناقشة العميات والمميزات التي يمكن إضافتها للمنتج.
  • الاستبيان (Questionnaire): توزيع الاستبيانات على بعض الجمهور يساهم في جمع معلومات دقيقة عن الاحتياجات والمتطلبات، كما يساهم في جعل هذه البيانات دقيقة بشكل كبير فهي قادمة بشكل مباشر من المستخدمين المحتملين للمنتج.
  • ملاحظة المستخدم (User Observation): ملاحظة وتحليل كيفية تعامل المستخدم مع المنتجات والأنظمة الحالية، أو المشاركة في بعض المهام لفهم بعض آليات العمل والمساهمة في توضيح وطرح بعض الأفكار.
  • تحليل الوثائق (Document Analysis): فحص الوثائق المكتوبة مثل متطلبات النظام (System Requirements)، وتحليلات المنافسين (Competitor Analysis)، تساهم في توفير رؤية ذات قيمة حول العمليات الحالية للمنتج، وأوجه القصور المحتملة.

أفضل الممارسات Best Practices

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

التحديات Challenges

  • عدم اكتمال المتطلبات: بعض العملاء لا يمكنهم توضيح المتطلبات بشكل صحيح، وهناك بعض أصحاب المصلحة لا يمكنهم توفير كامل المعلومات والبيانات عن المنتج المطلوب، لذا من المهم اتباع الأساليب الصحيحة في جمع المتطلبات وتحليلها، مثل: ملاحظة المستخدم، وتقديم النموذج الأولي، فهذا يساهم في حل هذه المشكلة.
  • تعارض الأولويات: في مناقشات وجلسات العمل لابد من وجود بعض الآراء المنافسة وتعارض المصالح بين أصحاب المصلحة، لذا التفاوض وإعطاء الأولوية مهم في هذه المشكلة وتساهم في علاج هذه المشكلة التي توجد في أغلب الشركات.

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

زر الذهاب إلى الأعلى
Translate »
error: ان المحتوى محمي

أنت تستخدم إضافة Adblock

برجاء دعمنا عن طريق تعطيل إضافة Adblock