JavaRush /مدونة جافا /Random-AR /كل ما تحتاج لمعرفته حول منهجيات تطوير البرمجيات: الاتجاها...

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

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

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

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

1. منهجية سكروم

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

الايجابيات:

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

السلبيات:

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

لمن تكون مناسبة:

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

2. منهجية كانبان

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

الايجابيات:

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

السلبيات:

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

لمن تكون مناسبة:

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

3. منهجية RUP

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

الايجابيات:

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

السلبيات:

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

لمن تكون مناسبة:

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

منهجيات عديدة واتجاه واحد

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

الحد الأدنى

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