تأثير المتطلبات السيئة في تطوير البرمجيات (Bad Requirements)

تأثير المتطلبات السيئة في تطوير البرمجيات (Bad Requirements)

المتطلّبات الجيّدة هي الأساس لنجاح مشاريع تطوير البرمجيات. يُناقش هذا الموضوع تأثير المتطلّبات السيئة في تطوير البرمجيات ولماذا الأشخاص هم السبب الرئيسي في وجود المتطلّبات السيئة.

من المهم أن تفعل الشيء الصحيح (do the right thing) أكثر من فعل الأشياء بشكل صحيح (do things right). يُناقِش كتاب ?So You Want To Be A Scrum Master تأثير المتطلّبات السيئة في تطوير البرمجيات ولماذا الأشخاص هم السبب الرئيسي في وجود المتطلّبات السيئة. هنا مقتطفات من الكتاب:

– غالبًا ما يتم إلقاء اللوم على المتطلّبات السيئة في حالة العمل السيئ.

– غالبًا ما يتم إلقاء اللوم على المتطلّبات السيئة في حالة تأخر العمل.

– غالبًا ما يتم إلقاء اللوم على المتطلّبات السيئة في حالة قيام الأشخاص ببناء الشيء الخطأ.

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

  • يُحدّد الأشخاص المتطلّبات.
  • يراجع الأشخاص المتطلّبات.
  • يتّفق الأشخاص على المتطلّبات.
  • لا يسأل بعض الأشخاص الأسئلة عن المتطلّبات.
  • يقوم الأشخاص ببناء المتطلّبات واختبارها وإرسالها.
  • يقبَل الأشخاص المتطلّبات (accept requirements).
  • يتجاهل بعض الأشخاص المتطلّبات.
  • لا يمنح بعض المدراء فريقهم القدرة على تحدّي المتطلّبات (challenge requirements).
  • يضع بعض الأشخاص الالتزام بالموعد النهائي فوق الحصول على البرنامج الصحيح.

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

كيفية اكتشاف المتطلّبات الخاطئة

إن اكتشاف متطلّبات البرمجيات الخاطئة قد يوفر الكثير من الوقت والمتاعب لاحقًا في تطوير البرمجيات. فيما يلي بعض العلامات التحذيرية الرئيسية التي يجب الانتباه إليها في المتطلّبات:

  • الغموض (Ambiguity): إذا كان المتطلّب غامضًا أو مفتوحًا لتفسيرات متعدّدة، فمن المحتمل أن يسبّب ذلك ارتباكًا. يجب أن تكون المتطلّبات واضحة ودقيقة بما يكفي لإنشاء حالات الاختبار (test cases).
  • المتطلّبات غير المكتملة (Incomplete Requirements): قد تؤدّي التفاصيل أو الأجزاء المفقودة من المتطلّبات إلى سوء الفهم. تأكّد من توثيق كل متطلّب بشكل كامل بما في ذلك حالات الاختبار (test cases).
  • التناقضات (Inconsistencies): إن المتطلّبات المتعارضة التي تتناقض مع بعضها البعض ستؤدّي حتماً إلى حدوث مشكلات. الاتساق بين جميع المتطلّبات أمر ضروري.
  • التوقعات غير الواقعية (Unrealistic Expectations): إن المتطلّبات التي لا يمكن تحقيقها من الناحية الفنية أو المعقّدة للغاية أو غير الواقعية من حيث الميزانية أو الوقت أو الموارد تُشكّل مشكلة. أثناء استنباط المتطلّبات، يجب التحقّق من الاحتياجات من خلال شخص قادر من الناحية الفنية (technically capable).
  • المتطلّبات دون مشاركة أصحاب المصلحة (Stakeholders): غالبًا ما تُغفَل جوانب مهمة في المتطلّبات التي يتم تطويرها دون استشارة أصحاب المصلحة. تضمن مشاركة أصحاب المصلحة أن تتوافق المتطلّبات مع احتياجاتهم وتوقعاتهم. بقدر الإمكان، لا ينبغي لفريق تطوير البرمجيات أن يقوم بافتراضات حول احتياجات المستخدمين.
  • المتطلّبات التفصيليّة بشكل مُفرَط: على الرغم من أهميّة التفاصيل، إلا أن المتطلّبات التفصيليّة بشكل مُفرَط قد تضع قيودًا على فريق التطوير وتقلّل من المرونة. لذلك احرص على تحقيق التوازن.
  • عدم وجود Business Value واضحة: يجب أن تساهم كل المتطلّبات في تحقيق أهداف الـ business الشاملة. إذا لم يُضِفْ أحد المتطلّبات قيمة بشكل مباشر أو غير مباشر فيجب إعادة النظر فيه.
  • التغييرات المتكرّرة: قد يشير تغيير المتطلّبات باستمرار إلى عدم وجود فهم أو اتفاق على ما هو مطلوب. المتطلّبات المستقرّة ضرورية لنجاح المشروع.

* المصدر: https://www.projectmanagementplanet.com/the-impact-of-poor-requirements-in-software-development

 ** الصورة من موقع: https://www.towerhousestudio.com

 

لا توجد تعليقات

شاركني رأيك