برمجة رعاة البقر
البرمجة غير الرسمية هي أسلوب تطوير برمجيات يتمتع فيه المبرمجون باستقلالية تامة في عملية التطوير. يشمل ذلك التحكم في جدول المشروع، واللغات، والخوارزميات، والأدوات، والأطر البرمجية، وأسلوب البرمجة. عادةً، يكون التنسيق مع المطورين الآخرين أو أصحاب المصلحة محدودًا أو معدومًا.
قد يكون المبرمج المتهور مطورًا منفردًا أو جزءًا من فريق مطورين يعملون بأقل قدر من الإجراءات أو الانضباط. [ 1 ] عادةً ما يحدث ذلك عندما تكون مشاركة مستخدمي الأعمال ضئيلة، أو عندما تغذيه إدارة تتحكم فقط في الجوانب غير التطويرية للمشروع، مثل الأهداف العامة والجداول الزمنية والنطاق والعناصر المرئية (أي "ماذا"، وليس "كيف").
يُنظر إلى مصطلح "البرمجة العشوائية" عادةً على أنه مصطلح ازدرائي عند مقارنته بمنهجيات تطوير البرمجيات الأكثر تنظيماً .
العيوب
في البرمجة غير الرسمية، قد يشير غياب منهجيات إدارة مشاريع البرمجيات الرسمية (وإن لم يكن بالضرورة) إلى صغر حجم المشروع أو طبيعته التجريبية. [ 2 ] قد تُظهر مشاريع البرمجيات التي تتسم بهذه الخصائص ما يلي:
عدم وجود بنية إطلاق
قد يؤدي نقص التقدير أو التخطيط للتنفيذ إلى تأخير المشروع. كما أن المواعيد النهائية المفاجئة أو الضغط لإصدار البرمجيات قد يشجع على استخدام أساليب "سريعة وغير متقنة" تتطلب مزيدًا من الاهتمام لاحقًا. [ 3 ]
مطورون عديمو الخبرة
قد يكون البرمجة العشوائية أمراً شائعاً على مستوى الهواة أو الطلاب حيث قد يكون المطورون في البداية غير ملمين بالتقنيات، مثل الاختبار والتحكم في الإصدار و/أو أدوات البناء، وعادةً ما يكون ذلك أكثر من مجرد البرمجة الأساسية التي يتطلبها مشروع البرمجيات.
قد يؤدي ذلك إلى التقليل من تقدير الوقت اللازم للتعلم، مما يتسبب في تأخيرات في عملية التطوير. كما قد تؤدي قلة الخبرة إلى تجاهل المعايير المقبولة ، مما يجعل قراءة شفرة المشروع صعبة أو يتسبب في تعارضات بين دلالات بنيات اللغة ونتائج مخرجاتها. [ 4 ]
متطلبات تصميم غير مؤكدة
قد تواجه تطبيقات البرمجيات المخصصة، حتى عند استخدام دورة تطوير مُثبتة، مشاكل مع العميل فيما يتعلق بالمتطلبات. وقد يُفاقم البرمجة العشوائية هذه المشكلة بعدم مراعاة المتطلبات ضمن إطار زمني معقول، مما قد يؤدي إلى إنشاء مكونات غير مستخدمة أو غير قابلة للاستخدام قبل إتمام المشروع. وبالمثل، قد تبدأ المشاريع ذات العملاء الأقل وضوحًا (غالبًا المشاريع التجريبية، انظر تطوير الألعاب المستقل ) بكتابة الكود دون إجراء تحليل رسمي لمتطلبات التصميم. وقد يؤدي غياب تحليل التصميم إلى اختيار تقنيات غير صحيحة أو غير كافية، مما قد يُجبر المطور على نقل أو إعادة كتابة برنامجه لإتمام المشروع.
عدم الاكتمال
تستخدم العديد من نماذج تطوير البرمجيات، مثل البرمجة المتطرفة (Extreme Programming )، منهجًا تراكميًا يُشدد على ضرورة إمكانية إصدار البرنامج في نهاية كل دورة تطوير. قد تفتقر المشاريع غير المُدارة إلى عدد كافٍ من اختبارات الوحدة أو دورات التطوير العاملة، مما يجعل المشروع غير المكتمل غير قابل للاستخدام. ولذلك، تمت مقارنة منهجيات أجايل بالبرمجة العشوائية، إلا أن أجايل تتميز بعمليات وإجراءات رسمية، وقياسات، وإدارة مشاريع، وآليات إشراف أخرى، بينما تفتقر البرمجة العشوائية إلى كل ذلك. [ 5 ] [ 6 ]
المزايا
- يُحافظ المطورون على بيئة عمل حرة الشكل قد تشجع على التجريب والتعلم والتوزيع الحر للنتائج.
- يسمح ذلك للمطورين بتجاوز الحدود المعمارية و/أو الهرمية لحل قيود التصميم وعيوبه.
- بما أن مناقشة البنى وكتابة المواصفات ومراجعة الكود تستغرق وقتًا، فقد يتمكن مطور واحد (إن كان لديه العدد الكافي) من إنتاج تطبيق عملي بشكل أسرع باستخدام أساليب البرمجة غير التقليدية. وقد لا تتطلب مهام مثل البحث أو تصميم النماذج الأولية جودة الكود التي توفرها الأساليب الأكثر تعقيدًا.
- بما أن البرمجة يمكن إنجازها خلال وقت فراغ المطور، فقد يرى المشروع النور الذي ما كان ليرى النور لولا ذلك. [ 7 ]
انظر أيضاً
- الهاكر ، ثقافة فرعية تعتمد على إبداع المبرمجين الأفراد
- "مبرمج القرد" ، مصطلح ازدرائي يُطلق على المبرمجين الذين يتم توظيفهم لكتابة أكواد بسيطة أو متكررة
- العمل الحر
- تطوير الألعاب المستقلة
- راعي البقر § ارتباطات سلبية
مراجع
- ↑ سكوت، ويلكر. "برمجة رعاة البقر" . بحث جودة البرمجيات . تيك تارجت . تم الاسترجاع في 2 مارس 2022 .
- ↑ هيوز، بوب وكوتيريل، مايك (2006). إدارة مشاريع البرمجيات ، ص 283-289. ماكجرو هيل للتعليم، بيركشاير. ISBN 0-07-710989-9
- ↑ "دفاعًا عن منهجية الشلال: تفكيك بيان أجايل" (ملف PDF) . تم الاطلاع عليه في 1 فبراير 2016 .
- ↑ "StickyMinds - STAREAST 2000: اعترافات مبرمج (متعافي)" . StickyMinds . تم الاطلاع عليه في 2 فبراير 2016 .
- ↑ "استكشاف تطوير البرمجيات الرشيقة" . النشرة الإخبارية للبرمجيات العملية .
- ↑ "StickyMinds - لا تكتفِ بتعطيل البرمجيات، بل اصنع برمجيات" . StickyMinds . تم الاطلاع عليه بتاريخ 2 فبراير 2016 .
- ↑ ك، أليكس. "تطبيق جوجل لـ'وقت الـ20 بالمئة'" ، مدونة جوجل الرسمية، 18 مايو 2006
روابط خارجية
- تعريف مبرمج رعاة البقر في ويكي وارد
- تعريف مصطلح "Cowboy Coding" في موقع Ward's Wiki
- "التعمق في برمجة رعاة البقر" . مؤرشف من الأصل في 23 مارس 2019.
- فلسفات تطوير البرمجيات
- حكايات شعبية عن برمجة الحاسوب
- حكايات شعبية في هندسة البرمجيات
