Agile
0

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

ما هي المنهجية الرشيقة Agile Methodology؟

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

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

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

نموذج الشلال

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

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

نموذج الأجايل agile model

تاريخ المنهجية الرشيقة Agile

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

اكتشف الأشخاص الذين أنشأوا هذه المنهجيات أن مطوري البرمجيات قد يكونون مهتمين بالحصول على بعض الفوائد نفسها التي كانوا يجربونها، لذلك قاموا بإنشاء أطر لنشر الأفكار إلى فرق أخرى. ومن هنا بدأت تظهر فيه أطر مثل Scrum و Extreme Programing و Feature-Driven Development (FDD) و Dynamic Systems Development Method (DSDM) وغيرها.

كل ذلك كان قبل 2001 ففي هذا العام اجتمع 17 شخصاً في مدينة أوتاو، وخرجوا من هذا الاجتماع بما يدعى “بيان الآجايل” أو “Agile Manifesto.” وجاء في هذا البيان:

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

مبادئ استخدام المنهجية الرشيقة Agile

agile principles المنهجية الرشيقة

يوجد 12 مبدأ لـ Agile كما ذكرهم وردت في البيان الرسمي وهي agile manifesto:

1- رضا العميل: الهدف الأسمى هو إرضاء العميل عن طريق التسليم المبكر والمتواصل لبرمجيات ذات قيمة.
2- الترحيب بتغيير المتطلبات: حتى لو حصلت في مراحل متقدمة من التطوير. فمناهج الأجايل تُسخر التّغيير لصالح الميزة التنافسية للعميل.
3- التسليم المتكرر: تسليم برمجيات صالحة للاستعمال على فترات منتظمة، من أسبوعين إلى شهرين، مع استحسان المدة الزمنية الأقصر.
4- العمل الجماعي: يجب أن يعمل كل من المهنيين (العارفين بالمِهنة) والمطورين معاً بشكل يومي خلال فترة المشروع.
5- الثقة والدعم: الاعتماد في بناء المشاريع على أفراد متحمسين. مع توفير البيئة المناسبة والدعم اللازم، ومنحهم الثقة من أجل إنجاز العمل.
6- الحوار وجهاً لوجه: أكثر الطرق فاعلية وتأثيراً لتواصل المعلومات إلى فريق التطوير وبين أفراده هي التخاطب وجهاً لوجه.
7- التطوير المستمر: مناهج الأجايل تشجع التطوير المستدام. ينبغي على الرعاة والمطورين والمستخدمين أن يكونوا قادرين على الحفاظ على وتيرة ثابتة على الدوام.
8- الاهتمام المستمر: يجب أن ينصب الاهتمام بشكل دائم على التفوق التقني والتصميم الجيد وهذا يعزز درجة الأجايل.
9- الحفاظ على البساطة: حيث تعتبر البساطة -فن تقليص الأعمال غير الضرورية- أساسية.
10- فرق ذاتية التنظيم: إن أفضل البنيات والمواصفات والتصميمات تنبثق من فرق العمل ذاتية التنظيم.
11- المراجعة والتعديل: يراجع فريق العمل على فترات منتظمة كيف يصبح أكثر فاعلية، ثم يدقق ويضبط سلوكه وفقاً لذلك.
12- البرمجيات الصالحة للاستعمال: هذا هو المقياس الرئيسي للتقدم.

أطر عمل المنهجية الرشيقة

كيف يمكن تطبيق هذه المنهجية؟ وكيف يمكن التحول لهذا المنهج، هناك أطر عمل عديدة للآجايل أشهرها Scrum و Kanban.

Scrum vs Kanban المنهجية الرشيقة

إطار عمل Scrum

من أكثر أطر العمل استخدماً، وتستخدم لبناء المشاريع الضخمة والمعقدة، نشأت التسمية سكرم من لعبة كرة قدم الركبي، حيث أن سكرم هي طريقة التشكيل التي يبدأ بها لعب الفريقين بعد حدوث توقف نتيجة مخالفة بسيطة، وتكون كالآتي:

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

1- يقوم مالك المنتج Product Owner بتحديد العمل المطلوب لمشكلة ما تتسم بالتعقيد من خلال Product Backlog (قائمة المهام المنتج).

2 -يقوم فريق السكرم Scrum Team بتحويل المجموعة المختارة من المهام إلى Increment وهي جزء من المنتج النهائي، ضمن ما يدعى بالـ Sprint وهي فترة عمل قصيرة تكون بين أسبوع وتصل ربما لشهر.

3 -يقوم فريق السكرم Scrum Team وكل المشاركين في العمل بفحص النتائج وتعديل المسار استعداداً للـ sprint التالي.

4 -يقوم الفريق بتكرار الخطوات السابقة حتى الانتهاء من المنتج.

فريق السكرم Scrum Team:

– المطورون Developers:

فريق التطوير وهو المسؤول عن تقديم (إصدارات) من المنتج يمكن تسليمها في نهاية كل سبرنت. ويتكون من 3-9 أفراد ذوي مهارات متعددة الوظائف مثل المبرمجين، والمصممون.. إلخ.

– مالك المنتج Product Owner:

مالك المنتج يمثل أصحاب المصلحة وهو صوت العميل. هو مسؤول عن ضمان أن الفريق يسلم قيمة في نهاية كل sprint. مالك المنتج يكتب البنود التي تركز على العملاء (عادة قصص المستخدم)، ويرتبها ويضع والأولوية لها، ويضيفها إلى قائمة متطلبات المنتج Product backlog، وينبغي أن يكون لكل فريق scrum مالك منتج وحيد.

– خبير سكرم Scum Master:

يكون السكرم ماستر مسؤولاً عن تسهيل أعمال الفريق، فيكون مسؤولاً عن إزالة العوائق التي تَحُول دون قدرة الفريق على تقديم أهداف المنتج وإنجازها. ويضمن السكرم ماستر تنفيذ منهجية سكرم بالشكل الصحيح. وغالباً ما يترأس الاجتماعات الرئيسة، ويتحدى ويشجع الفريق ليقدم أفضل ما لديه.

Image result for scrum المنهجية الرشيقة

إطار عمل Kanban

كانبان هي طريقة مرئية لإدارة العمل ومعالجته. تركز فرق كانبان على تقليل الوقت الذي يستغرقه مشروع (أو قصة مستخدم) من البداية إلى النهاية.

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

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

Kanban المنهجية الرشيقة

أدوات مساعدة لتطبيق أطر عمل Agile

Jira

تم تطوير منصة Jira لكي تكون الأداة الخاصة لكل الفرق التي تعتمد على المنهجية الرشيقة في عملها، فيمكن من خلالها تخطيط، تتبع، وإطلاق المشاريع البرمجية بكل سهولة. يمكنك من خلال المنصة اختيار إما إطار عمل Scrum أو Kanban. المنصة تتيح حسابًا مجانيًا للفرق التي تتكون من 10 أشخاص.

Trello

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

 

Monday

أكثر من 100 ألف فريق عمل حول العالم يستخدمون Monday، وهو من منصات تنظيم الأعمال في كل المجالات ويمكن لفرق الأجايل استخدامه سواء لتطبيق Kanban أو Scrum، تتميز المنصة بارتباطها بالعديد من المنتجات الرقمية الأخرى وقدرتها على أتمتة المهام بسهولة.

يقول أحد القادة العسكرين الألمان: “التخطيط هو كل شيء… الخطط هي لا شيء” وفي هذا العالم المتسارع تصبح هذه المقولة محققة. فالتغييرات السريعة في التكنولوجيا قد أدت إلى فشل الكثير من الخطط، لذلك لكل الراغبين في النجاح في هذا العالم لا بد أن تتبنوا المنهجية المرنة في أعمالكم. ومع نهاية الجملة السابقة أكون قد أنهيت آخر مهمة من المهام في عمود الـ Doing في لوحة الكانبان الخاصة بهذا المقال :).

Agile Board

 

0

شاركنا رأيك حول "كل ما تود معرفته عن المنهجية الرشيقة الأجايل Agile في تطوير البرمجيات وطريقة تطبيقها"