مبادئ و قيم التطوير السريع، بقلم Jeff Sutherland
التطوير السريع هو مصطلح تم اشتقاقه من Manifesto Agile، و الذي تمت كتابته عام 2001 بواسطة مجموعة تتضمن منشئي Scrum والبرمجة المتشددة (XP) وأسلوب تطوير الأنظمة الديناميكي (DSDM) و Crystal؛ و ممثل للتطوير على أساس الميزات؛ وقادة فكريين آخرين في صناعة البرامج. لقد Manifesto Agile بتأسيس مجموعة شائعة من القيم والمبادئ الشاملة لكل طرق التطوير السريع الفردية في هذا الوقت. و يحتوي على كان تفاصيل أربع قيم الأساسية لتمكين فرق العمل ذات الأداء العالي.
الأفراد و التفاعلات الخاصة بهم
تسليم برنامج يعمل
التعاون مع العميل
الاستجابة للتغيير
يدعم هذه القيم الأساسية 12 مبدأ، يمكنك العثور علىها على موقع ويب التالي: بيان التطوير السريع للبرامج.
هذه القيم ليست مجرد شيء كان ينوي منشئي Agile Manifesto التحدث بشأنه ثم نسيانه. إنها قيم عاملة, كل منهج تطوير سريع فردي يعالج هذه القيم بطريقة مختلفة قليلاً ولكن كافة هذه المناهج لديها عمليات وممارسات متخصصة تعزز واحد أو أكثر من هذه القيم.
الأفراد و التفاعلات
الأفراد والتفاعلات عناصر أساسية لفرق العمل ذات الأداء العالي. دراسات “ إشباع الاتصال ” أثناء أحد المشاريع أوضحت لنا أنه عندما لا توجد مشاكل اتصال، يمكن للفرق تقديم أداء أفضل 50 مرة عن متوسط الصناعة. لتسهيل الاتصال، تعتمد أساليب التطوير السريع على دورات الفحص و الملائمة المتكررة. يمكن أن تتراوح هذه الدورات من كل بضعة دقائق لبرمجة الزوج إلى كل ساعات قليلة من التكامل المستمر إلى كل يوم باجتماع دوري يومي, إلى كل تكرار له مراجعة ووضع استعادة أحداث.
زيادة عدد مرات الملاحظات والاتصال فقط، غير كافية للتخلص من مشاكل الاتصال. دورات الفحص و الملائمة هذه تعمل بشكل جيد فقط عندما يقوم أعضاء الفريق بإظهار عدة سلوكيات رئيسية:
يجب احترام قيمة كل شخص
الثقة في كل اتصال
شفافية في كل القرارات والإجراءات والبيانات
الثقة أن كل شخص سيدعم الفريق
الالتزام بالفريق و أهداف الفريق
لتعزيز هذه الأنواع من السلوك، يجب على إدارة التطوير السريع توفير بيئة داعمة و يجب على مدربي الفريق تسهيل تضمينهم، و يجب على أعضاء الفريق إظهارها. فقط عندئذ يمكن لفرق العمل استيفاء قدراتهم الكاملة.
الانتقال باتجاه هذه الأنواع من السلوك أصعب مما يبدو الأمر عليه. معظم الفرق تتجنب الحقيقة والشفافية والثقة بسبب الطبيعة الثقافية أو الخبرات الماضية السلبية من التعارض التي تم حدثت بواسطة الاتصالات الأمينة. لمقاومة هذا الميل، يجب على القيادة و أعضاء الفريق تسهيل التعارض الموجب. لن يؤدي القيام بذلك إلى إنشاء سلوك إنتاجي فحسب ولكن له عدة مزايا أخرى أيضاً:
يعتمد تحسين عملية على الفريق لإنشاء قائمة من العوائق أو المشاكل في المؤسسة، لمواجهتها تماماً، ثم معالجتها بشكل منظم بترتيب الأفضلية.
يحدث الإبتكار فقط بالتبادل الحر للأفكار المتعارضة، و هي ظاهرة تم دراستها و توثيقها بواسطة Takeuchi and Nonaka، الآباء الروحيين لـ Scrum.
توجيه الفريق نحو هدف عام يتطلب من الفريق مواجهة الأعمال المتعارضة وحلها.
يحدث الالتزام للعمل معاً فقط عند موافقة الأشخاص على أهداف شائعة ومن ثم العمل على تحسين كل من الشخصية والفريق.
هذه النقطة الأخيرة، الخاصة بالالتزام ، هامة بشكل خاص. فقط عندما يكون الأفراد والفريق ملتزمين، سيشعرون بمسئوليتهم تجاه تسليم قيمة كبيرة، وهو الفكرة الرئيسية في فرق تطوير البرامج. تقوم مناهج التطوير السريع بتسهيل الالتزام عم طريق تشجيع الفرق بالسحب من قائمة عمل ذات الأولوية وإدارة عملهم بنفسهم والتركيز على تحسين ممارسات العمل الخاصة بهم. هذا التمرين هو أساس التنظيم الشخصي، و هو القوة الدافعة لتحقيق نتائج فريق تطوير سريع.
لإنشاء فرق ذات أداء عالي، تقدر مناهج التطوير السريع الأفراد و التفاعلات عن العمليات والأدوات. وبالتحدث عملياً,، فأن كافة مناهج التطوير السريع تسعى إلى زيادة الاتصال و التعاون عبر دورات الفحص والملائمة المتكررة. مع ذلك، هذه الدورات تعمل فقط عند يشجع قادة التطوير السريع التعارض الموجب المطلوب لبناء أساس من الثقة الخالصة والشفافية والثقة والاحترام والالتزام لفرق التطوير السريع الخاصة بهم.
البرامج التي تعمل على حساب الوثائق الشاملة
يعتبر البرنامج الذي يعمل أحد الاختلافات الكبيرة التي يقدمها التطوير السريع. كافة مناهج التطوير السريع الممثلة في Agile Manifesto تضغط على تسليم أجزاء صغيرة قابلة للتشغيل من البرامج للعميل على فواصل زمنية محددة.
على كافة فرق التطوير السريع تحديد معنى "البرامج التي تعمل" بالنسبة لهم، و هو ما يتم تعريفه عادة بتعريف "المنتهي". على المستوى الأعلى، فإن الجزء من الوظيفة يكون مكتملاً فقط عندما تنجح ميزاته في كافة الاختبارات ويمكن تشغيلها بواسطة مستخدم نهائي. كحد أدنى، يجب على فرق العمل تجاوز مرحلة اختبارات الوحدات و الاختبار على مستوى النظام. تتضمن الفرق الأفضل أيضاً اختبارات التكامل واختبارات الأداء واختبارات قبول العملاء في التعريفات الخاصة بمعنى أن يتم إنهاء قطعة من الوظائف.
لقد قامت إحدى شركات المستوى الخامس من CMMI بإظهار - من خلال البيانات الواسعة - أن تعريف اختبارات القبول مع الميزة وتنفيذ الميزات بالترتيب و بترتيب الأولويات وتشغيل اختبارات القبول فوراً على كل ميزة و تصليح أية أخطاء ذات أولوية كبيرة سوف يضاعف سرعة الانتاج تنظيمياً و يقلل العيوب بنسبة 40 بالمائة. جاء هذا من شركة لديها بالفعل أحد أقل معدلات العيوب في العالم.
يوصي Agile Manifesto بتسليم فرق العمل للبرامج التي تعمل عند فواصل زمنية محددة. الموافقة على تعريف للانتهاء هو أحد الطرق العملية التي تقدمها فرق التطوير السريع للأداء العالي والجودة العالي المطلوبة لتنفيذ هذا الهدف.
التعاون مع العميل على حساب التفاوض على العقد
عبر العقدين السابقين، زادت المشاريع الناجحة حول العالم أكثر من الضِعف. سبب هذا هو المشاريع الأصغر والتسليمات المتكررة، والتي تسمح للعميل بإعطاء ملاحظات على البرنامج قيد التشغيل على فترات زمنية منتظمة. لقد كان لدى كتّاب البيان وجهة نظر واضحة عند قيامهم بالتأكيد على أن تضمين العميل في عملية التطوير عامل أساسي للنجاح.
تعزز مناهج التطوير السريع هذه القيم عن طريق جعل العميل يؤيد العمل جنباً إلى جنب مع فريق التطوير. لقد كان لدى أول فريقScrum، على سبيل المثال، آلاف العملاء. لأنه كان من غير المجدي تضمين كافة العملاء في تطوير المنتج، فقد قاموا باختيار وكيل للعميل يسمى مالك منتج ليس لتمثيل كل العملاء في المجال فحسب، ولكن أيضاً الإدارة والمبيعات والدعم وخدمات العميل والمتعاملين الآخرين. لقد كان مالك المنتج مسؤولاً عن تحديث قائمة المتطلبات كل أربعة أسابيع كلما قام الفريق بإصدار برنامج قابل للتشغيل مع أخذ الحقيقة الحالية والملاحظات الفعلية من العملاء والمتعاملين في الاعتبار. لقد أتاح هذا للعميل المساعدة في تكوين شكل البرنامج قيد الإنشاء.
لقد بدأ فريق XP الأول بمشروع تكنولوجيا معلومات داخلي. و تمكنوا من الحصول على مستخدم نهائي من الشركة للعمل مع فريقهم يومياً. حوالي 10 % من الوقت، يمكن للاستشاريات و الفرق الداخلية العثور على مستخدم نهائي للعمل معهم بصفة يومية. و في 90 بالمائة المتبقية من الوقت، يجب عليهم تعيين وكيل. يقوم وكيل العملاء هذا، والذي تسميه فرق XP العميل، بالعمل مع المستخدمين النهائيين لتوفير قائمة واضحة و مرتبة حسب الأولويات بالميزات حتي ينفذها المطورين.
التعاون مع العميل (أو وكيل العميل) بصفة يومية هو أحد أهم الأسباب وراء إظهار بيانات الصناعة أن مشاريع التطوير السريع معدل نجاحها أكبر من ضعف المشاريع التقليدية في المتوسط حول العالم. إن مناهج التطوير السريع تدرك هذا، لذا قامت بتخصيص مكان في فرق التطوير الخاصة بها لممثل العميل.
الاستجابة للتغيير على حساب إتباع الخطة
الاستجابة للتغيير عامل أساسي من أجل إنشاء منتج لإسعاد العميل وتوفير قيمة عمل. تظهر بيانات الصناعة أن ما يزيد على 60 بالمائة من متطلبات المشروع أو المنتج تتغير أثناء تطوير البرامج. حتى عند انتهاء المشاريع التقليدية في الوقت، و ضمن الموازنة ، وبكافة الميزات في الخطة، فإن العملاء غالباً ما يكونون غير راضين لأنهم يكتشفون أن هذا لم يكن هو ما يريدونه بالضبط. يقول “قانون Humphrey” أن العملاء لا يعرفون ما يريدونه حتى مشاهدتهم للبرامج أثناء العمل. إذا كان العملاء لا يشاهدون البرامج أثناء العمل حتى نهاية المشروع، سيكون وقتاً متأخراً جداً لتضمين الملاحظات الخاصة بهم. تسعى مناهج التطوير السريع للحصول على ملاحظات العملاء طوال المشروع حتى يمكن تضمين الملاحظات والمعلومات الجديدة أثناء تطوير المنتج.
كافة مناهج التطوير السريع بها عمليات مضمنة لتغيير الخطط الخاصة بها في فترات زمنية منتظمة بناءً على ملاحظات العميل أو وكيل العميل. لقد تم تصميم الخطط الخاصة بها لتعطي دوماً أعلى قيمة عمل أولاً. لأن 80 % من القيمة في 20 بالمائة من الميزات، فأن مشاريع التطوير السريع الدارة جيداً تميل إلى الانتهاء مبكراً، بينما تنتهي معظم المشاريع التقليدية متأخرة. نتيجة لذلك، فالعملاء أسعد، والمطورين يستمتعون بعملهم أكثر. تستند مناهج التطوير السريع إلى معرفة أنه يجب التخطيط للتغيير لتحقيق النجاح. هذا السبب في قيامها بتأسيس عمليات، مثل المراجعات و استعادة الأحداث والتي تم تصميمها خصيصاً لإزاحة الأولويات بشكل منتظم بناءً على ملاحظات العملاء وقيمة العمل.
التطوير السريع مظلة – و المناهج تطبيقات
التطوير السريع ليس منهج في حد ذاته. إنه مصطلح شامل يصف عدة مناهج تطوير سريع. عند توقيع Agile Manifesto في عام 2001 ، تضمنت هذه المناهج Scrum وXP و Crystal و FDD و DSDM. منذ ذلك الوقت، فإن ممارسات Lean ظهرت أيضاً كمنهج تطوير سريع قيّم، ويتم تضمينها تحت مظلة التطوير السريع في الرسم التوضيحي لاحقًا في هذا الموضوع.
يحتوي كل منهج تطوير سريع على نهج مختلف قليلاً لتطبيق القيم الأساسية في Manifesto Agile، تماماً كما تقوم لغات الكمبيوتر المختلفة بتنظيم بيان الميزات الأساسية في البرمجة الموجهة للكائنات بطرق مختلفة. يُظهر استطلاع حديث أن 50 بالمائة من ممارسي التطوير السريع يقولون أن فريقهم يمارس Scrum. و20 بالمائة آخرون يقولون أنهم يمارسون Scrum بمكونات XP. و12 بالمائة إضافية يقولون أنهم يمارسون XP بمفردها. لأن أكثر من 80 بالمائة من تطبيقات التطوير السريع حول العالم تستخدم Scrum أو XP، تركز MSF للتطوير السريع للبرامج v5.0 على العمليات والممارسات الأساسية في Scrum و XP.
Scrum هو إطار عمل لعمليات التطوير السريع. إنه لا يتضمن ممارسات هندسية معينة. وعلى العكس،فإن XP تركز على الممارسات الهندسية ولكنها لا تتضمن إطار شامل لعمليات التطوير. هذا لا يعني أن Scrum لا توصي ببعض الممارسات الهندسية أو أن XP لا تحتوي على عمليات. على سبيل المثال، فقد قام منهج Scrum الأول بتطبيق كافة الممارسات الهندسية التي تُعرف الآن باسم XP. ومع ذلك، فقد تم تصميم إطار عمل Scrum لتطوير البرامج بغرض الحصول على فريق يبدأ عمله في يومين أو ثلاثة أيام بينما تستغرق ممارسات الهندسة غالباً عدة أشهر للتطبيق. لذلك، فقد تركت السؤال الخاص بمتى (و ما إذا كان) يجب تنفيذ ممارسات معينة لكل فريق. ينصح مؤسسي Scrum وهم Jeff Sutherland و Ken Schwaber فرق التطوير بالبدء مباشرة وإنشاء قائمة عوائق وخطة لتحسين العمليات. إذا تم التعرف على ممارسات الهندسة كعوائق، يحب أن تنظر الفرق لممارسات XP كطريقة للتحسن. أفضل فرق تقوم بتشغيل Scrum معزز بممارسات XP. يقوم Scrum بمساعدة XP لتغيير حجمه، ويقوم XP بمساعدة Scrum للعمل بشكل أفضل.
يعرض الجدول التالي كيفية تبادل المصطلحات الرئيسية في Scrum و XP.
Scrum |
XP: |
---|---|
مالك المنتج |
العميل |
مدير Scrum |
مدرب XP |
الفريق |
الفريق |
سباق |
تكرار |
اجتماع تخطيط السباق |
تخطيط اللعبة |