10 نصائح تطوير رشيقة مجربة ومختبرة

نشرت: 2020-05-04

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

يعني الحصول على فريق تطوير ليكون على نفس الصفحة طوال دورة التطوير اتباع نموذج يمكنه تسهيل العملية على أفضل وجه. كان هناك عدد غير قليل من الأسماء على مر السنين بأسماء مثل Waterfall و Spiral و V-model وما إلى ذلك توضح كيف يتم تطوير البرامج ، من المفهوم إلى الحصول على منتج نهائي ثم الحفاظ على ذلك.

رشيق ملصق ديف
مصدر الصورة: ملصق Agile Manifesto بواسطة Adam Weisbart.

العملية التي ينسبها إليها الكثير من كبار المطورين الآن هي ما يُعرف باسم Agile ، والتي سميت لمبدأها الأساسي المتمثل في القدرة على التكيف والتطور المستمر. بناءً على ما يسمى بـ Agile Manifesto والذي كتبه مجموعة صغيرة من المطورين ذوي الخبرة العالية.

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

أجهزة رائعة للمطورين والمختبرين لديك

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

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

ركز على النتائج

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

مطورو فريق التطوير السريع

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

تنفيذ التسليم المستمر أولاً

في الأساس ، استمر في ذلك. هذا يضمن أن التطوير يتم تحقيقه بوتيرة ثابتة وأن المطورين يحصلون على ردود الفعل في وقت مبكر وفي كثير من الأحيان. التواصل المستمر والتغذية المرتدة هو ما يدور حوله Agile Development ، مما يسمح للفريق بالتكيف مع التغييرات المفاجئة والظروف غير المتوقعة عند الحاجة. هذا هو المكان الذي يأتي فيه "يبني".

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

احصل على رعاية للإدارة العليا

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

مطورو فريق التطوير السريع

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

الانتقال إلى دورات تطوير واختبار أقصر

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

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

تحقيق الأتمتة من اليوم الأول

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

مطورو فريق التطوير السريع

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

نسبة الفريق الفعال

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

مطورو فريق التطوير السريع

خطة المشاكل المفتوحة

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

اسأل عن ردود الفعل

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

تقييم العملية الخاصة بك

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