fighters

    الحلقه الثانيه :فريق العمل في صنعة البرمجيات

    شاطر
    avatar
    fighter
    الـمـديـرالـعـام
    الـمـديـرالـعـام

    عدد الرسائل : 226
    العمر : 29
    مزاجى :
    تاريخ التسجيل : 16/04/2008

    03 الحلقه الثانيه :فريق العمل في صنعة البرمجيات

    مُساهمة من طرف fighter في الأربعاء أبريل 30, 2008 6:13 pm


    يقوم الكاتب بتوضيح متى يكون استخدم هندسة البرمجيات هو الحل الأفضل.

    بدايةً..
    يرى الكاتب ان هندسة البرمجيات تعمل على تقديم برنامج قريب من الكمال تمت
    مراجعة كل جزء فيه عدة مرات حتى قبل ان يتم تشغيل البرنامج..
    1. الكاتب
    يرى ان أضخم مشروع على الاطلاق في صنعة البرمجيات لن يتعدى ابداً 20
    سنة-مبرمج أما المشاريع التي تتطلب مجهوداً ضخماً (اكبر من 100 سنة-مبرمج
    و حتى 10000 سنة-مبرمج (ياللهوول)) ستجد صعوبة بالغة لكي يقوم بها فريق من
    الصنايعية لان الفريق غالباً لن يتجاوز ال15 فرد. في هذه الحالة يمكنك
    استخدام فريق من 50 مهندس ليقوم بمهمة من قياس 100سنة-مبرمج في سنتين.
    2.
    كذلك المشاريع التي يكون فيها تسليم نسخة اولى سليمة للغاية و لا تقبل
    الفشل مثل تلك المستخدمة في الطائرات و غيرها من وسائل الأمان. لأن صنعة
    البرمجيات تعتمد على تسليم نسخة اولية تفي بأقل المتطلبات ثم الاستمرار في
    التعديل و التجريب حسب ما يراه المستخدمون حتى نصل للمنتج النهائي و هو
    مناسب جداً للكثير من المشاريع التجارية.
    3. اما المشاريع التي يكون
    فيها جزء هاردوير فإن فصل عمليات التحليل و وضع التصاميم سيكون منطقي
    تماماً كما هو الحال في هندسة البرمجيات لأنه دائماً لن يتوافر الهاردوير
    حتى مرحلة متأخرة من عملية التطوير و سيكون لديك الكثير من الوقت قبل
    البدء في االتكويد لأن الهاردوير لم يجهز بعد..


    صنعة البرمجيات تشبه البرمجة بالحرف المهنية مثل الحدادين او النجارين .
    الصنعة عايزة الفن و بالتالي يكفيك 3 اسطوات craftsmenعن جيش كامل من المبرمجين المتوسطين..

    اهم
    شئ في الكتاب هو ان المؤلف يقنعك تماماً بان طريقك للاحتراف هو التلمذة
    على يد معلم master craftsman(المقصود بمعلم هنا الاسطى القدير و ليس
    المدرس) اما المعرفة باللغات البرمجية و التكنولوجيات الحالية فليست هي
    الفارق ..
    صفات المعلم هي:
    1. دائم الاطلاع و التعلم
    2. يستخدم التقنيات المستقرة (الكوبول موجودة من 40 سنة و مازالت) و ليست التي تتغير كل سنة (يقصد طبعاً تقنيات مايكروسوفت و الجافا)
    3. القدرة على الانتقال السريع للتقنيات الجديدة لإن مبادئ البرمجة هي نفسها.

    كيف نتعرف على المعلم اذا؟
    المعلم
    هو المبرمج القادر على عمل برنامج و تطويره على مدار السنين لان عملية
    تحديث برنامج موجود اصعب من تطوير برنامج جديد لان التحديث يدل على ان قلب
    البرنامج مستقر و تمت مراعاة الاحتياجات المستقبلية اثناء تطوير النسخة
    الاولى .. المعلم قادر على عمل سلسلة كاملة من هذه النوعية من البرامج
    التي تكتسب ثقة الزبائن و زملاؤه. خبرة المعلم على الاقل 15 سنة
    (ياللهووول)..

    نموذج العمل: يتكون فريق العمل من عدد من المعلمين master و الاسطوات journeyman و صبية المعلمين Apprentices
    1. المعلم.
    المسئول
    الأول و الأخير عن المشروع و يضع سمعته على المحك في كل مشروع و من اهم
    الاشياء هنا ان يعرف الزبون ان المعلم الفلاني هو اللي عمل المشروع بحيث
    يكون الالتزام شخصياً لاقصى حد من المعلم.
    فريق العمل يضم عدد قليل من المعلمين
    2. صبية المعلمين
    شباب
    المبرمجين الذين تخرجوا حديثاً و يكون دورهم الرئيسي هو التعلم من
    المعلمين و الاسطوات و كذلك انجاز الوظائف السهلة التي تعوق انتاجية
    المعلمين و عندما ينجزونها بنجاح ينتقلون لوظائف اصعب.. و كما قلنا فصنعة
    البرمجيات لا تعترف بالفصل بين الادوار المختلفة يعني هذه الوظائف قد تكون
    تحليل جزء من النظام و الذي يقتصر في هندسة البرمجيات على الخبراء فحسب.
    هذا الطور يستغرق 5 سنوات و يفضل ان يبدأ المبرمج قبل التحاقه بالجامعة.
    3. الاسطى
    بعد مرحلة صبي المعلم ينتقل المبرمج الى مرحلة الاسطى و فيها يتفوق على مهندس البرمجيات للأسباب التالية:
    1. المطلوب الاهم من صبي المعلم هو التعلم بينما من المهندس فالمطلوب الاهم هو العمل.
    2.صبي المعلم تعلم على يد معلم و ليس كورس في بداية تعيينه فقط.
    3. صبي المعلم يتعلم النظرة الشمولية للنظام الذي يطوره و لا يتعلم التخصص في جزء معين لا يجيد سواه مثل المهندس.


    _________________

      الوقت/التاريخ الآن هو الجمعة أكتوبر 19, 2018 7:56 pm