العمل الجماعي والفردي

السلام عليكم ورحمة الله

المشاريع البرمجية إما أن تكون مشاريع جماعية أو فردية. ولكل نوع ميزات ومآخذ.

فمثلاً نجد أن العمل الفردي في المشاريع البرمجية له عدة ميزات منها:

1. لاتوجد حاجة للإتصال، حيث أن الفرد الواحد لايجد صعوبة في اﻹتصال مع نفسه.

2. لايحدث خلاف في الطريقة التي يريدها الشخص في تنفيذ المشروع

3. يمكن أن يتم تنفيذ المشروع بطريقة منسقة بدون تضارب

4. قلة تكلفة تنفيذ المشروع، فبالإضافة لقلة الصرف على الفرد الواحد، فلاحاجة مثلاً إلى وجود مكتب لعمل فريق متكامل

أما عيوبه :

1. يرتبط المشروع فقط بالشخص المنفذ ويكون ذلك الشخص هو عبارة عن نقطة ضعف المشروع

2. يكون التقدم بطيئاً في تنفيذ المشروع إذا كان حجمه كبيراً.

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

أما العمل الجماعي فهو تشتهر به بيوتات البرمجيات الكبيرة. ومحاسنه هي:

1. القدرة على تنفيذ مشاريع برمجية ضخمة.

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

3. القدرة على اﻹلتزام بمواعيد تسليم المشروع.

4. وجود روح التشجيع والمُآزرة، حيث أن العمل الفردي يمكن أن يُصاب صاحبة بالملل بعد طول الفترة.

5. طمآنة الزبون أو المستفيد من المشروع بأن وراء هذا المشروع عدد كبير من الناس.

6. يمكن أن يكون كل فرد متخصص فقط في الجانب الذي يعمل به، ولايحتاج خبرة في الجوانب اﻷخرى

أما عيوبه فهي:

1. الحاجة إلى مدير مشروع ناجح له خبرة في التعامل مع المبرمجين والمطورين

2. الحاجة الدائمة للإتصال، مثلاً اﻹجتماعات، فهي تأخذ وقت لايُستهان به

3. إختلاف اﻵراء، لذلك يجب أن يكون الفريق متجانس، كأن يعمل بأداة تطوير واحدة، وينتمون إلى مدرسة برمجية واحدة.

4. في حالة المشاريع الصغيرة فإن العمل الجماعي أحياناً يأخذ وقتاً أكبر من الوقت الذي يحتاجه مبرمج واحد.

5. يحتاج إلى بيئة معقدة من التجهيزات مثل برنامج Version Control ومخدمات وشبكة كمبيوتر.

6. تكلفة أكبر في التنفيذ

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

كذلك يمكن التقليل من عيوب المشاريع الجماعية بتقليل حجم الفريق وإختيار مبرمجين ومطورين ذوو خبرة كبيرة وواسعة ومتفاهمين فيمابينهم.

Advertisements

12 فكرة على ”العمل الجماعي والفردي

  1. عادة يتم قياس ذلك في المصانع، ترتفع الانتاجية بين العمال بشكل أكبر من زيادة عدد الأفراد في الورشة/المجموعة الواحدة، بمعنى آخر 1 + 1 = أكثر من إثنان
    عندما نختار العمل الفردي سوف نختار عدم الاستفادة من هذه الطاقة الجديدة
    طبعا هذا يعتمد على النوع العمل، إذا تكلمنا عن البرمجة فهو من النوع 1+1=10 أو أكثر، من منا مستعد للتخلي عن هذا، تجد في المؤسسات الصغير التي تعتمد اسلوب الورشة، أو تعمل بشكل عائلة، انتاجية عالية جدا تماثل مؤسسة لديها 10 أضعاف الموظفين، و لكن التناحر و البغض بينهم.

    1 – لاتوجد حاجة للإتصال، حيث أن الفرد الواحد لايجد صعوبة في اﻹتصال مع نفسه.
    في هذه الأيام الفرد لا يستطيع أن يجد نفسه ليتصل بها، عملية الاتصال هي جزء من الانتاج.

    2- لايحدث خلاف في الطريقة التي يريدها الشخص في تنفيذ المشروع
    إذا لم يحدث فإنه لا يعمل، سواء مع نفسه أم مع غيره.

    3 – يمكن أن يتم تنفيذ المشروع بطريقة منسقة بدون تضارب
    التضارب ليس رهن العمل الفردي، نجد الكثيرين من الذين يعملون لوحدهم آرائهم متضاربة في جلسة واحدة.

    4 – قلة تكلفة تنفيذ المشروع
    القلة تؤدية للقلة، لدينا مثل يقول “طعمي التسعة لتاكل العشرة” نسبة و تناسب.

    5 – رفع روح التنافس مع الأفراد الآخرين (لم يتم ذكرها، من عندي 🙂 )
    ليس صحيحا، يوجد أيضا روح التنافس جماعة مع جماعات أخرى.

    بالنسبة لي العمل الفردي ليس فيه أي مزايا.

  2. >>بالنسبة لي العمل الفردي ليس فيه أي مزايا.

    ربما بالنسبة لآخرين يكون له مزايا.
    توجد في الإنترنت مشاريع فردية كثيرة ناجحة.

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

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

    حتى المشاريع الجماعية، يمكن أن تنافس الجماعة الصغيرة جماعة كبيرة.

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

  3. فعليا، ماذكرته في مداخلتك صحيح تماما، و لكن لنلاحظ عنصر دخيل على كلمة جماعي أو العمل الجماعي وهو “التناحر و البغض”.
    هذا انا ما واجهته في الواقع العملي قديما، العمل الفردي فيه ابداع أكثر، و ينافس العمل الجماعي (المتناحر) صحيح، لكنه لا ينافس العمل الجماعي (التعاوني) أبدا.

    لاحظ مي مداخلتي أنني قارنت بين عملين جماعيين الأول بينهم الألفة و التعاون و الآخر متنازع متصارع.
    حتى تكون المقارنة صحيحة عليك، أن تزيل هذا العنصر منه أو أن تذكره.

    للأسف نحن مجتمعات مازالت تعتمد على العمل الفردي، و لا نعرف كيف نتعاون مع بعض، و للأسف أيضا نحن نبرر عدم قدرتنا على التعاون، بدلا من المحاولة لإزالة العقبات حتى نلمس الأداء الحقيقي للعمل الجماعي (التعاوني).

    صدق الله (‏وَلاَ تَنَازَعُواْ فَتَفْشَلُواْ وَتَذْهَبَ رِيحُكُمْ )

  4. أحد مشاكل مجتمعاتنا عدم وجود الخبرة الكافية، فمثلاً إذا أردت أن تدير مشروع به عشر مبرمجين لديهم خبرة طويلة في مجال محدد ربما لاتستطيع أن تجدهم واحد، ناهيك عن العشرة. فهناك فرص عمل كثيرة شاغرة كثيرة بسبب عدم وجود كفاءات. وفي النهاية يأتي نظام جاهز من الدول اﻷجنبية.
    فمثلاً طلب مني أحد اﻷصدقاء بأن أدله على شخص خبير في مجال Data mining، فلم أجد أحد لديه هذه الخبرة، فأخبرته أنه يمكن أن يقوم بتعيين إثنين بدل واحد لكن خريجين جُدد، فقال لي ومن سوف يقوم بتدريبهم؟
    فالمشرايع الكبيرة لابد أن يقودها من لديهم خبرة.
    كذلك برمجة اﻹتصالات، نجد صعوبة في من لديهم الخبرة في هذا المجال.

  5. هذا بسبب أن التقنية مستوردة و أن مجمتعنا مازال فتيا عليها، مع تقدم الوقت سوف نجد هذه الخبرات.
    هذا الخبير يجب أن كبيرا بالعمر من 35 أو أكثر، أي لديه ليست خبرة برمجية بل خبرة بالتعامل مع الفريق.
    بعمر ال 35 لا يوجد عدد كافي من هذه الخبرات.

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

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

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

  6. إذا هذه مسئولية وأمانة في عنق كل من بلغ هذا العمر أن يقوم بتعليم الجيل القادم أخلاقيات البرمجة إبتداءً بإستخدام النسخ الأصلية وإحترام حقوق الملكية وحقوق الغير، إنتهاءً بالعمل في جماعات وعدم الأنانية وعدم كتم العلم.
    لكن هذا يتطلب منا أولاً أن نُطبق هذه الأخلاقيات.
    المشكلة أن عدد كبير من هم في جيلنا (35 – 40 عام) لايهتمون بهذه الأشياء ولايطبقونها، وهؤلاء إقناعهم أصعب من إقناع الجيل الجديد.

  7. الجيل القديم أقل بكثير، و الجديد يمثل المستقبل، أنا اتكلم عن أولادي أيضا، يعني “احنا راحت علينا” و بعد ذلك اتفق فيما ذكرته معك عدا فكرة (عدم كتم العلم) لأن لها ملابسات فقهية لا مجال مناقشاتها هنا (حتى لا يكون خروج عن الموضوع)

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

  9. شكرا على هذا الطرح المهم. أصبحت القدرة على العمل الجماعي ميزة أساسية بالفعل يبحث عنها أصحاب العمل في المرشحين اليوم كما صرح 49% من المشاركين في دراسة جديدة لبيت.كوم (Bayt.com). كما أن امتلاك شخصية قيادية هي أيضا من الصفات المرغوبة بشدة.

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

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s