النموذج الحلزوني

يُعدّ النموذج الحلزوني نموذجًا لعملية تطوير البرمجيات قائمًا على المخاطر . وبناءً على أنماط المخاطر الفريدة لمشروع معين، يوجه النموذج الحلزوني الفريق لتبني عناصر من نموذج عملية واحد أو أكثر، مثل النموذج التزايدي أو نموذج الشلال أو النموذج الأولي التطوري .
تاريخ
وصف باري بوهم هذا النموذج لأول مرة في بحثه المنشور عام 1986 بعنوان "نموذج حلزوني لتطوير البرمجيات وتحسينها". [ 2 ] وفي عام 1988، نشر بوهم بحثًا مشابهًا [ 3 ] موجهًا لجمهور أوسع. يُقدّم هذان البحثان مخططًا تم استخدامه في العديد من المنشورات اللاحقة التي تناقش النموذج الحلزوني.
تستخدم هذه الأوراق البحثية المبكرة مصطلح "نموذج العملية" للإشارة إلى النموذج الحلزوني، بالإضافة إلى النماذج التزايدية، والتسلسلية، والنماذج الأولية، وغيرها من المناهج. ومع ذلك، فإن المزج القائم على المخاطرة، والذي يميز النموذج الحلزوني، لخصائص نماذج العمليات الأخرى موجود بالفعل.
[ 3 ] يسمح تقسيم خطوات النموذج الحلزوني بناءً على المخاطر للنموذج باستيعاب أي مزيج مناسب من منهجيات تطوير البرمجيات الموجهة نحو المواصفات، أو الموجهة نحو النماذج الأولية، أو الموجهة نحو المحاكاة، أو الموجهة نحو التحويل التلقائي، أو غيرها.
في منشورات لاحقة، [ 1 ] يصف بوهم النموذج الحلزوني بأنه "مولد نماذج العمليات"، حيث تُولّد الخيارات المبنية على مخاطر المشروع نموذج عملية مناسبًا له. وبالتالي، فإن نماذج العمليات التزايدية، والشلالية، والنماذج الأولية، وغيرها، هي حالات خاصة من النموذج الحلزوني تتناسب مع أنماط المخاطر في مشاريع محددة.
يُشير بوهم أيضاً إلى العديد من المفاهيم الخاطئة الناجمة عن التبسيط المفرط في الرسم التخطيطي الأصلي للنموذج الحلزوني. ويقول إن أخطر هذه المفاهيم الخاطئة هي:
- أن الشكل الحلزوني هو ببساطة سلسلة من الزيادات المتتالية؛
- أن جميع أنشطة المشروع تتبع تسلسلًا حلزونيًا واحدًا؛
- يجب تنفيذ كل نشاط في الرسم التخطيطي، وبالترتيب الموضح.
في حين أن هذه المفاهيم الخاطئة قد تتناسب مع أنماط المخاطر لبعض المشاريع، إلا أنها ليست صحيحة بالنسبة لمعظم المشاريع.
في تقرير صادر عن المجلس الوطني للبحوث [ 4 ] تم توسيع هذا النموذج ليشمل المخاطر المتعلقة بالمستخدمين من البشر.
ولتمييزها بشكل أفضل عن "الأشكال الحلزونية الخطرة المشابهة"، يسرد بوهم ست خصائص مشتركة بين جميع التطبيقات الأصلية للنموذج الحلزوني.
الثوابت الستة للنموذج الحلزوني
تعتمد التطبيقات الحقيقية للنموذج الحلزوني على دورات تُظهر دائمًا ست خصائص. يوضح بوهم كل خاصية بمثال على "شكل حلزوني خطير" ينتهك الثابت. [ 1 ]
حدد القطع الأثرية في وقت واحد
إن تحديد العناصر الرئيسية للمشروع بشكل متسلسل غالباً ما يزيد من إمكانية تطوير نظام يلبي "شروط الفوز" لأصحاب المصلحة (الأهداف والقيود).
يستثني هذا الشرط الثابت العمليات "الخطيرة الشبيهة بالحلزون" التي تستخدم سلسلة من مراحل الشلال المتزايدة في الحالات التي لا تنطبق فيها الافتراضات الأساسية لنموذج الشلال. ويذكر بوهم هذه الافتراضات على النحو التالي:
- المتطلبات معروفة قبل التنفيذ.
- لا تتضمن المتطلبات أي آثار غير محلولة أو عالية المخاطر، مثل المخاطر الناجمة عن التكلفة والجدول الزمني والأداء والسلامة وواجهات المستخدم والتأثيرات التنظيمية وما إلى ذلك.
- لن تتغير طبيعة المتطلبات كثيراً أثناء التطوير أو التحديث.
- تتوافق المتطلبات مع توقعات جميع أصحاب المصلحة الرئيسيين في النظام، بما في ذلك المستخدمين والعملاء والمطورين والقائمين على الصيانة والمستثمرين.
- إن البنية المناسبة لتنفيذ المتطلبات مفهومة جيداً.
- يوجد وقت كافٍ في التقويم للمضي قدماً بالتسلسل.
في الحالات التي تنطبق فيها هذه الافتراضات، يُعدّ عدم تحديد المتطلبات والمضيّ قدماً بشكل تسلسلي مخاطرةً في المشروع. وبذلك، يصبح نموذج الشلال حالةً خاصةً من النموذج الحلزوني مدفوعةً بالمخاطر.
قم بتنفيذ أربعة أنشطة أساسية في كل دورة
يحدد هذا الثابت الأنشطة الأربعة التي يجب أن تحدث في كل دورة من دورات النموذج الحلزوني:
- ضع في اعتبارك شروط الفوز لجميع أصحاب المصلحة الذين يُعتبر نجاحهم أمراً بالغ الأهمية.
- تحديد وتقييم الأساليب البديلة لتحقيق شروط الفوز.
- تحديد ومعالجة المخاطر الناجمة عن النهج (النهج) المختار.
- الحصول على موافقة جميع أصحاب المصلحة الأساسيين للنجاح، بالإضافة إلى الالتزام بمتابعة الدورة التالية.
إن دورات المشاريع التي تتجاهل أو تقلل من شأن أي من هذه الأنشطة تخاطر بإهدار الجهد من خلال اتباع خيارات غير مقبولة لأصحاب المصلحة الرئيسيين، أو تنطوي على مخاطر كبيرة.
تُخالف بعض العمليات "الخطيرة الشبيهة بالدوامة" هذا المبدأ الثابت باستبعادها أصحاب المصلحة الرئيسيين من مراحل أو دورات متسلسلة معينة. على سبيل المثال، قد لا تتم دعوة القائمين على صيانة النظام ومديريه للمشاركة في تعريف النظام وتطويره. ونتيجة لذلك، يكون النظام مُعرّضًا لخطر عدم تلبية شروط نجاحهم.
تحدد المخاطرة مستوى الجهد
في أي نشاط من أنشطة المشروع (مثل تحليل المتطلبات، والتصميم، والنمذجة الأولية، والاختبار)، يجب على فريق المشروع تحديد مقدار الجهد الكافي. وفي دورات العمليات الحلزونية الأصيلة، تُتخذ هذه القرارات من خلال تقليل المخاطر الإجمالية.
على سبيل المثال، غالبًا ما يقلل استثمار وقت إضافي في اختبار منتج برمجي من مخاطر رفض السوق لمنتج رديء. مع ذلك، قد يزيد وقت الاختبار الإضافي من المخاطر نتيجة دخول منافس مبكرًا إلى السوق. من منظور النموذج الحلزوني، ينبغي إجراء الاختبار حتى يتم تقليل المخاطر الإجمالية إلى أدنى حد، ولا ينبغي تجاوز ذلك.
تشمل "النماذج الحلزونية الخطرة" التي تنتهك هذا الثابت العمليات التطورية التي تتجاهل المخاطر بسبب مشاكل قابلية التوسع، والعمليات التزايدية التي تستثمر بكثافة في بنية تقنية يجب إعادة تصميمها أو استبدالها لاستيعاب الزيادات المستقبلية للمنتج.
تحدد المخاطر درجة التفاصيل
بالنسبة لأي وثيقة من وثائق المشروع (مثل مواصفات المتطلبات، ووثيقة التصميم، وخطة الاختبار)، يجب على فريق المشروع تحديد مستوى التفاصيل الكافي. وفي دورات العمليات الحلزونية الأصيلة، تُتخذ هذه القرارات من خلال تقليل المخاطر الإجمالية.
بالنظر إلى مواصفات المتطلبات كمثال، ينبغي للمشروع أن يحدد بدقة الميزات التي يقلل التحديد الدقيق من المخاطر (مثل واجهات الربط بين الأجهزة والبرامج، وواجهات الربط بين المقاول الرئيسي والمقاولين الفرعيين). في المقابل، لا ينبغي للمشروع أن يحدد بدقة الميزات التي يزيد التحديد الدقيق من المخاطر (مثل تصميمات الشاشة الرسومية، وسلوك المكونات الجاهزة).
استخدم معالم نقاط الارتكاز
لم يتضمن وصف بوهم الأصلي للنموذج الحلزوني أي معالم رئيسية للعملية. وفي تحسينات لاحقة، قدم ثلاثة معالم رئيسية تُعتبر مؤشرات للتقدم ونقاط التزام. ويمكن تمييز هذه المعالم الرئيسية من خلال أسئلة محورية.
- أهداف دورة حياة المشروع. هل يوجد تعريف كافٍ للنهج التقني والإداري لتحقيق شروط النجاح للجميع؟ إذا وافق أصحاب المصلحة على أن الإجابة "نعم"، فإن المشروع يكون قد اجتاز هذه المرحلة من دورة حياة المشروع. وإلا، يمكن التخلي عن المشروع، أو يمكن لأصحاب المصلحة الالتزام بدورة أخرى لمحاولة الوصول إلى "نعم".
- هندسة دورة حياة المشروع. هل يوجد تعريف كافٍ للنهج الأمثل لتحقيق أهداف جميع الأطراف، وهل تم التخلص من جميع المخاطر الجوهرية أو التخفيف من حدتها؟ إذا وافق أصحاب المصلحة على أن الإجابة "نعم"، فقد اجتاز المشروع هذه المرحلة من تقييم دورة الحياة. وإلا، يمكن التخلي عن المشروع، أو يمكن لأصحاب المصلحة الالتزام بدورة أخرى لمحاولة الوصول إلى "نعم".
- القدرة التشغيلية الأولية. هل هناك استعداد كافٍ للبرمجيات والموقع والمستخدمين والمشغلين والقائمين على الصيانة لتلبية شروط النجاح للجميع عند إطلاق النظام؟ إذا وافق جميع أصحاب المصلحة على أن الإجابة "نعم"، فإن المشروع يكون قد اجتاز مرحلة القدرة التشغيلية الأولية ويتم إطلاقه. وإلا، يمكن التخلي عن المشروع، أو يمكن لأصحاب المصلحة الالتزام بدورة أخرى لمحاولة الوصول إلى "نعم".
تشمل "النماذج الحلزونية الخطرة" التي تنتهك هذا الثابت العمليات التطورية والتزايدية التي تخصص موارد كبيرة لتنفيذ حل ذي بنية غير محددة بشكل جيد.
تتناسب المعالم الثلاثة الرئيسية بسهولة مع عملية RUP الموحدة العقلانية (RUP)، حيث يمثل LCO الحد الفاصل بين مرحلتي التأسيس والتفصيل في RUP، ويمثل LCA الحد الفاصل بين مرحلتي التفصيل والإنشاء، ويمثل IOC الحد الفاصل بين مرحلتي الإنشاء والانتقال.
التركيز على النظام ودورة حياته
يُبرز هذا الثابت أهمية النظام ككل، والاعتبارات طويلة الأجل التي تشمل دورة حياته بأكملها. وهو يستبعد "الأساليب الحلزونية الخطيرة" التي تُركز بشكل مفرط على التطوير الأولي لبرمجيات الحاسوب. قد تنجم هذه العمليات عن اتباع مناهج منشورة لتحليل وتصميم البرمجيات الموجهة للكائنات أو الهيكلية، مع إهمال جوانب أخرى من احتياجات عملية المشروع.
مراجع
- 1 2 3 بوهم، ب. (يوليو 2000). "التطوير الحلزوني: الخبرة والمبادئ والتحسينات" (ملف PDF) . تقرير خاص . معهد هندسة البرمجيات. CMU/SEI-2000-SR-008.
- ↑ بوهم، ب. (أغسطس 1986). "نموذج حلزوني لتطوير البرمجيات وتحسينها". ملاحظات هندسة البرمجيات ACM SIGSOFT . 11 (4): 14-24 . doi : 10.1145/12944.12948 . S2CID 207165409 .
- 1 2 بوهم، ب (مايو 1988). "نموذج حلزوني لتطوير البرمجيات وتحسينها" (ملف PDF) . مجلة IEEE Computer . 21 (5): 61-72 . doi : 10.1109/2.59 . S2CID 1781829 . أُرشف بتاريخ 6 مارس 2023 في أرشيف الإنترنت (Wayback Machine) .
- ↑ بيو، آر دبليو؛ مافور، إيه إس، محرران. (2007). تكامل الإنسان مع النظام في عملية تطوير النظام: نظرة جديدة . واشنطن العاصمة: مطبعة الأكاديمية الوطنية. doi : 10.17226/11893 . ISBN 978-0-309-10720-4.
- عملية تطوير البرمجيات
- حلزونات
