CodeGym /مدونة جافا /Random-AR /كل ما تحتاج لمعرفته حول منهجيات تطوير البرمجيات: الاتجاها...
John Squirrels
مستوى
San Francisco

كل ما تحتاج لمعرفته حول منهجيات تطوير البرمجيات: الاتجاهات والمبادئ والمزالق للمبتدئين

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

انتبهوا أيها المبتدئين! النماذج والمنهجيات والارتباك العام

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

1. سكروم

سكروم هو أسلوب إدارة المشاريع رشيقة . يعتمد على "سباقات السرعة"، أو التكرارات القصيرة، محدودة للغاية في الوقت المناسب (عادةً 2-4 أسابيع). وهذا يقلل من مدة الاجتماعات، ولكنه يزيد من تواترها. يتكون كل سباق من قائمة المهام التي يجب إكمالها بنهاية التكرار، ولكل منها "وزن" خاص بها. خلال الاجتماعات، يناقش الفريق ما فعله أعضاء الفريق، وما يخططون للقيام به، وما هي المشاكل الموجودة. يستخدم سكروم الأعمال المتراكمة للتخطيط. في هذا النهج، يكون لدى الفرق عمومًا مدير سكروم. يساعد هذا الشخص الفريق على العمل دون انقطاع ويخلق بيئة مريحة للفريق. سيكون للمشروع أيضًا شخص ما في دور مالك المنتج. هذا الشخص هو رئيس التطوير، ويراقب المنتج، ويعمل كحلقة وصل رئيسية بين ما يطلبه العميل وما ينتجه الفريق.

الايجابيات:

  • القدرة على إطلاق المشروع بسرعة بأقل ميزانية ممكنة؛
  • المراقبة اليومية للتقدم، والعروض التوضيحية المتكررة للمشروع؛
  • القدرة على إجراء التعديلات أثناء المشروع.

سلبيات:

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

لمن هذا؟

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

2. كانبان

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

الايجابيات:

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

سلبيات:

  • لا يعمل مع فرق مكونة من أكثر من خمسة أشخاص؛
  • غير مخصص للتخطيط طويل المدى؛
  • غير مناسب لفريق غير متحمس. ليس لدى كانبان مواعيد نهائية لكل عنصر عمل. كما أن المنهجية لا تنص على عقوبات للتأخير.

لمن هذا؟

يعمل كانبان بشكل رائع في الشركات حيث يكون الفريق متحمسًا للنمو وتحقيق النتائج. يجب أن يكون الأمر واضحًا بالفعل – هذا لفريق صغير. ربما حتى مفرزة أو جزء من الفريق.

3. العملية العقلانية الموحدة (RUP)

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

الايجابيات:

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

سلبيات:

  • هذه المنهجية معقدة إلى حد ما ويصعب تنفيذها في فريق أو شركة صغيرة؛
  • يعتمد على قدرة الخبراء على تحديد المهام؛
  • يحتاج إلى توثيق مفرط للمتطلبات.

لمن هذا؟

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

هناك العديد من المنهجيات، ولكن الاتجاه واحد

بالإضافة إلى scrum وKanban، اللذين يتمتعان بشعبية لا يمكن إنكارها ويعتمدان على مبادئ Agile ، بالإضافة إلى منهجية RUP التكرارية القوية، تستخدم الشركات العديد من الاختلافات في المنهجيات. قد تكون إحدى الشركات أقرب إلى البرمجة المتطرفة واتخاذ القرارات الأسرع والأبسط. قد يكون آخر أقرب إلى التطوير القائم على الاختبار. لا يزال آخر قد يفضل التطوير السريع للتطبيقات (RAD). ومع ذلك، هناك اتجاه قوي لا جدال فيه نحو استخدام منهجيات متعددة في وقت واحد . أو حتى دمج النماذج والمنهجيات في نظام إدارة فريد من نوعه. تسعى شركات اليوم إلى إزالة الحواجز البيروقراطية وخلق جو من العمل الجماعي الموحد داخل المنظمة، دون نقل المسؤولية بين الإدارات والوحدات التنظيمية. وفقًا لـ Scrum Alliance ، فإن 70% من شركات تكنولوجيا المعلومات تستخدم سكروم. ومن بينها شركات عملاقة مثل Google، وAmazon، وSalesforce، وMicrosoft، وAdobe. تميل الشركات الناشئة والمشاريع الصغيرة أكثر نحو Kanban، لكن تويوتا، على سبيل المثال، اللاعبين في Wargaming، يستخدمونه أيضًا. سكروم هي أداة للتخطيط، في حين أن كانبان هو لرصد التقدم. أما بالنسبة لـ RUP، فغالبًا ما يتم استخدامه من قبل الشركات الغربية التي يتراوح عدد موظفيها من 50 إلى 200 موظف وتبلغ إيراداتها من 1 إلى 10 ملايين دولار. ومع ذلك، قامت شركة IBM بتعديل RUP للاقتراب من المبادئ الرشيقة، وإطلاق منهجية OpenUP (RUP، ولكنها رشيقة). هذه المنهجية الرشيقة المتبجحة هي التي تقود عالم تكنولوجيا المعلومات الآن . هذه ليست مجرد بدعة عابرة - فهي لا تزال مبتكرة، وفي الواقع يتم استخدامها في العديد من الشركات الكبيرة. يتم استخدام Agile في وادي السيليكون. يستخدمه فيسبوك وأوبر.

الخط السفلي

لكل مشروع منهجية تطوير برمجية خاصة به، والتي تعتمد على الفريق والتمويل والمواعيد النهائية ومتطلبات العملاء. لا توجد تقنية إدارة عالمية: فحتى المنهجية الرشيقة التي تحظى بشعبية كبيرة لا يمكنها ضمان أفضل نهج لعملية التنمية. ونتيجة لذلك، يتم اختيار المنهجيات بعناية، وحتى على أساس المبدأ في بعض الأحيان. لدرجة أنه يمكننا استخلاص استنتاجات حول الشركة نفسها أو حول عملائها من خلال النظر في منهجيتها. يتم خلط المنهجيات، واستكمالها بالنماذج، وتكييفها. لدرجة أنها تؤدي إلى أساليب جديدة. ومع ذلك، يظل عالم الإدارة في النهاية في أيدي سكروم وكانبان، مع عناصر غير متوقعة من نموذج الشلال أو منهجية RUP التكرارية.
المزيد من القراءة:
المواقع الإلكترونية: الكتب:
  • أندرو ستيلمان، جينيفر جرين: "التعلم السريع"؛
  • لكل كرول، بروس ماكيساك: «السرعة والانضباط أصبحا سهلين: ممارسات من OpenUP وRUP»؛
  • مايك كوهن: "النجاح مع Agile: تطوير البرمجيات باستخدام Scrum"؛
  • روبرت سي مارتن: "تطوير البرمجيات الرشيقة: المبادئ والأنماط والممارسات"؛
  • ماركوس هامربيرغ، يواكيم سوندن: "كانبان في العمل"؛
  • I. جاكوبسون، ج. بوتش، ج. رامبو: “عملية تطوير البرمجيات الموحدة”.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION