كيف يمكن لعدد كبير من المطورين كتابة البرامج معًا دون عملية مرهقة أو برامج ذات جودة رديئة؟

StackOverflow https://stackoverflow.com/questions/2866762

سؤال

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

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

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

ما هي التقنيات التي تستخدمها لتسريع تسليم البرامج في مؤسسة كبيرة ، مع الحفاظ على جودة البرمجيات؟

هل كانت مفيدة؟

المحلول

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

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

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

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

أي منظمة كبيرة سيكون لديها بعض المطورين المتوسطين. في حقيقة من حقائق الحياة. يعد اختبار الوحدة الآلي وسيلة رائعة لمراقبةهم. اطلب من أحد أفضل المطورين الذين يكتبون اختبارات وحدتهم لهم. سيكون لديك تأكيد على الأقل أن كودهم يعمل (حتى لو كان قبيحًا).

نصائح أخرى

هناك العديد من الطرق لتحسين العملية ، ولكن المكون الرئيسي هو الشكل. من خلال فصل المسؤوليات الواضحة (سواء في الكود أو في المؤسسة) وتحديد واجهات واضحة ومتسقة ، يمكن لمجموعة كبيرة أن يعمل أكبر عدد من الفرق الصغيرة.

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

شيء قد يعمل:

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

أفكر في المنتجات القائمة على اللغة: ساس, س/ص, ماتلاب, ، إلخ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top