الغرض من تحليل المتطلبات هو وضع مخطط عام لعملية المشروع، ووضع خطة عمل يتم من خلالها تنفيذ المشروع، وتحديد الأدوات التي سيتم استخدامها إن أمكن. لا توجد وصفة بسيطة لتحليل المتطلبات.
كيف تبدو عملية التخطيط؟
يتم تضمين تحليل المتطلبات في عملية التخطيط، والتي بدورها يجب أن تكون على النحو التالي:
- A المشروع الرؤية التي تصف الرؤية النهائية المنتج التي سيتم إنشاؤها.
- خطة عمل أو فكرة عامة تحدد ما يجب القيام به لتحقيق أهدافنا.
- قائمة المهام الأساسية التي تحدد مراحل العمل في المشروع.
- التخطيط الزمني، الذي نحدد فيه ما يجب تسليمه ومتى يجب تسليمه.
- التخطيط التفصيلي للمهام الفردية التي تم إنشاؤها خلال المرحلة الثالثة.
يغطي تحليل المتطلبات النقاط الثلاث الأولى من عملية التخطيط.
رؤية المشروع
في هذه المرحلة، يجب أن نسأل أنفسنا بعض الأسئلة الأساسية:
1. ماذا نريد أن نفعل؟
بالتأكيد، في هذه المرحلة، نحن مدركون بالفعل لما نسعى إليه، وفكرة المشروع قد تم طرحها والتفكير فيها منذ فترة طويلة، ولكن الأمر يستحق التفكير فيه بشكل أعمق. ربما، سنكتشف قضايا جديدة تستحق التوضيح. قد تكون القضايا التالية مفيدة هنا:
- ما المشكلة التي يجب أن يحلها هذا المشروع؟
- من سيكون المستخدم النهائي؟
- هل نقوم بإنشاء واجهة للمستخدمين؟ هل يتم التخطيط لإنشائها في المستقبل؟ هل تم تحديد نوع الواجهة التي نقوم بإنشائها (سطح المكتب أو الهاتف المحمول)؟ هل نهتم بـ RWD؟
- هل هناك أي تطبيقات مشابهة؟ ما هي إيجابياتها وسلبياتها؟
- هل تم إنشاء أي تصميمات أو نماذج أولية عن المشروع حتى الآن؟
- هل سيعتمد المشروع على أي تطبيقات خارجية؟ هل لديهم أو هل نعرف حدودهم؟
- هل نعرف أي شيء عن الأداء المتوقع ومستوى الأمان؟

2. ما هي المتطلبات؟
والآن، حان الوقت لوضع قائمة بالمتطلبات المحددة للمشروع. بالإضافة إلى المتطلبات الوظيفية، نحدد تلك التي لا تتعلق بالوظائف: سهولة الاستخدام والاستجابة والسرعة والأداء والأمان.
دعونا نتحقق مما إذا كان كل واحد من المتطلبات يفي بالمعايير التالية:
- مكتمل - لدينا صورته الكاملة,
- صحيح - صادق ومتوقع,
- ممكنة - الممكنة وغيرها من المتطلبات الأخرى لا تنفيها,
- ضرورية - فهي ضرورية لتشغيل النظام أو مطلوبة من قبل العميل,
- لا لبس فيه - واضحًا ومن المستحيل إساءة تفسيره,
- يمكن التحقق منه - بعد التنفيذ، من خلال الملاحظة والاختبار، من الممكن تحديد ما إذا كان هذا الشرط قد تم الوفاء به أم لا.
3. ما هو الهدف النهائي؟
يجدر بنا هنا إنشاء تصور بسيط لعملية المشروع. لا شيء يساعد على الفهم الكامل لفكرة المشروع مثل رسم التدفق الأساسي أو ببساطة الكتابة على السبورة في نقاط ما سيحدث بدوره. في حالة التطبيق الذي يحتوي على واجهة مستخدم، فإن الوضع المثالي هو أن يكون لديك أبسط النماذج بالحجم الطبيعي.
4. ما هي الأولويات؟
تمامًا كما هو الحال عند بناء منزل، يجب أن تبدأ مشاريع تكنولوجيا المعلومات من الصفر في البداية ثم تتحول إلى ما تحتاجه أكثر من غيره. ولذلك، من الضروري في البداية، وعلى أساس قائمة المتطلبات، تحديد قائمة بجميع الوظائف الممكنة التي سيؤديها مشروع معين ثم الاتفاق على أي منها له الأولوية القصوى والتي يجب تنفيذها في أقرب وقت ممكن وأيها من النوع "اللطيف".
يجب أن تكون نتيجة مرحلة تصور المشروع بأكملها صورة عامة لكيفية عمل المشروع سواء من خلال النماذج أو التدفق المرسوم للأنشطة. كما ينبغي أن نحصل على قائمة بجميع الوظائف الممكنة التي يجب أن ينجزها مشروع معين وأن نعرف أيضاً الأولوية التي تحظى بها كل منها.
يعد تصور المشروع لحظة أساسية أثناء تحليل المتطلبات. فهو يساعد في فهم جوهر المشكلة فهماً شاملاً، وكلما كانت المواد التي توضح المشكلة أفضل، زادت كفاءة المراحل التالية من التخطيط.

خطة العمل
في هذه المرحلة، نحدد بالفعل في هذه المرحلة كيف نتصور تشغيل المشروع ككل. من الجيد أن يكون لدينا بعض الأفكار للتنفيذ، والتفكير في كل منها ومناقشتها وإبراز نقاط ضعفها وقوتها. كما يجدر بنا هنا رسم الفكرة المختارة بالتفصيل، إن لم يكن كلها.
This stage is also time to consider purely technological issues not only in what language or framework will the project be written but also what additional tools will we need, for example, do we decide to use the AWS stack or maybe something else. If we are hesitating between some technologies or have no idea what to use, then it is worth shifting such a decision in time and delegating to a research task. Certainly, we can only do this if further planning is not blocked by such research. Otherwise, we can safely attach them to the tasks in the العدو السريع.
المهام الرئيسية
بمجرد أن نضع خطة المشروع، ننتقل إلى تحديد المهام الرئيسية، والتي ستتم مناقشتها بعد ذلك بالتفصيل وتقسيمها إلى مهام أصغر من قبل المطور الفريق عند التخطيط لسباق سريع جديد. من المهم وصف كل مهمة بأكبر قدر ممكن من الدقة.
الملخص
كما ذكرنا سابقًا، ستختلف عملية تحليل المتطلبات اعتمادًا على مدى تعقيد المشروع. فهناك المشاكل الأسهل والأكثر صعوبة، وهناك أيضًا تلك التي تم حلها بالفعل من قبل شخص ما وهي مشاكل جديدة تمامًا تحتاج إلى التوقف عندها لفترة أطول. بغض النظر عن ذلك، هناك بعض النصائح المهمة التي يجب وضعها في الاعتبار:
- التواصل. هذا هو العنصر الأكثر أهمية في كل دورة حياة المشروع؛ يجب تحديد كل شيء وشرحه بوضوح.
- فهم المشكلة بسرعة. من الرائع أن تكون وثائق المشروع مكتوبة، ولكن دعونا نتذكر أن تكون موجزة قدر الإمكان ولا تستغرق ألف صفحة. كل عضو من أعضاء فريق التطوير يجب أن يكون لديهم إمكانية الوصول إليها ويجب أن يكونوا قادرين على فهم رؤية المشروع بسرعة.
- البساطة قبل كل شيء. دعونا نحاول أن نجعل ما نخطط له بسيطاً قدر الإمكان، ونختار حلولاً أبسط يمكن تطويرها بسهولة في المستقبل، أو نتخلى عنها عند الحاجة.
- لن تحتاج إليها. مع الأخذ في الاعتبار أننا في البرمجة نسترشد بمبدأ YAGNI، فهنا نضعه في مؤخرة الرأس ولا نسرع كثيرًا.
- التغييرات. دعونا لا نخاف منها؛ فعاجلاً أم آجلاً كل مشروع يحتاج إليها. وبالإضافة إلى ذلك، دعونا لا نخدع أنفسنا بأن ما نخطط له اليوم سيعمل إلى الأبد. وفي الوقت نفسه، يجب ألا نتعامل مع التغييرات على أنها شيء سيء وغير مرغوب فيه. يجب أن تكون التغييرات مرادفة للتحسين، وهذا ما نريده: أن يكون المشروع هو الأفضل.
- الوقت. دعونا لا ندع التخطيط يستغرق وقتاً طويلاً ويطول إلى الأبد. إذا كانت لدينا مشكلة تعيقنا، فلنبحث عن حلول خارجية، أو لنختار الخيار الأسهل.
الجوانب المذكورة أعلاه جديرة بالتذكر دائمًا عند تحليل المتطلبات، ومن ثم ستسير الأمور بسلاسة وستكون أساسًا لمشروع مخطط له جيدًا.
اقرأ المزيد: