أجيل تطوير البرمجيات 101

مؤلف: Judy Howell
تاريخ الخلق: 26 تموز 2021
تاريخ التحديث: 23 يونيو 2024
Anonim
Agile Software Methodology[كود مصرى]
فيديو: Agile Software Methodology[كود مصرى]

المحتوى


يبعد:

تشجع طريقة تطوير البرمجيات هذه التعاون والمرونة للمساعدة في تقديم منتج عالي الجودة.

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

نبذة عن دورة حياة تطوير البرمجيات

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

  1. متطلبات جمع من العملاء
  2. تحليل النظام والجدوى
  3. التصميم والنمذجة
  4. الترميز أو التنفيذ
  5. اختبارات
  6. النشر والتسليم
  7. طلبات الصيانة والتغيير

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


لماذا تطورات رشيقة مختلفة

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

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

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


الممارسات رشيقة

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

على الرغم من عدم وجود قائمة شاملة بمبادئ Agile ، إلا أن هناك بعض الممارسات التي ينشرها Agile. وتشمل هذه:

  1. اختبار يحركها التنمية (TDD)
    من الناحية المثالية ، يجب على المطورين أولاً كتابة حالات اختبار للوظيفة التي سيقومون بترميزها. سيضمن هذا رمزًا جيدًا ، وهو أقل احتمالًا لكسر ظروف استثنائية. تساعد هذه العملية أيضًا على ضمان معالجة مواصفات المستخدم.
  2. برمجة الزوج
    في تطوير Agile ، يعمل المبرمجون عمومًا على نفس المشكلة في أزواج ، حيث يقوم شخص واحد بكتابة الكود (برنامج التشغيل) والآخر يقوم بمراجعة الكود ويقدم الأفكار والاقتراحات (المستكشف). هذا يعزز الإنتاجية ويقلل الوقت اللازم لمراجعة الكود.
  3. إعادة هيكلة الكود
    إعادة تشكيل الكود يتضمن تقسيم الكود إلى وحدات أصغر وأبسط يمكن (وينبغي) أن توجد بشكل مستقل في السيناريو المثالي. يعمل ذلك على تحسين قابلية قراءة التعليمات البرمجية وإمكانية اختبارها وصيانتها إلى حد كبير.
  4. المشاركة الفعالة من أصحاب المصلحة الفعليين
    بعد فواصل زمنية منتظمة لفترة زمنية محددة (يشار إليها باسم "ss") ، يجب أن يتلقى العملاء نموذجًا أوليًا مهمًا للبرنامج. هذا يسمح للمطورين بالحصول على تعليقات حول ما يبنونه أثناء التنقل.
  5. تعامل مع المتطلبات باعتبارها مكدس ذو أولوية
    في Agile ، من الضروري تصنيف المتطلبات على أساس أهميتها. قد يشمل ذلك توقعات العملاء الضمنية وكذلك الصريحة بشأن منتج البرنامج الجاري تطويره. يجب أن يقوم فريق تطوير البرمجيات بشكل جماعي بتقدير الوقت والموارد التي سيستثمرون في تنفيذ الميزة ، وتحديد الخريطة بناءً على متطلبات المستخدم والترتيب النسبي الذي سيتعاملون به مع كل جزء من أجزاء المشروع.
  6. اختبار الانحدار
    يتضمن اختبار الانحدار اختبار وظيفة التطبيق بأكمله بعد إضافة ميزة جديدة أو تعديل الوظيفة الحالية في الكود. هذا يساعد على ضمان أن التغييرات لم كسر رمز الموجودة.

لماذا تذهب رشيقة؟

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

No Bugs، No Stress - دليلك خطوة بخطوة لإنشاء برامج لتغيير الحياة دون تدمير حياتك

لا يمكنك تحسين مهارات البرمجة لديك عندما لا يهتم أحد بجودة البرنامج.