الثلاثاء، 21 أغسطس 2012

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

 

اولاً: شركة من فردين.

الشركات متناهية الصغر التي تتكون من فردين يكون هيكلها الإداري كالآتي:
1- شخص مسئول عن الأمور الفنية ويحمل لقب CTO chief Technical officer وهو ومعني بكل ما يخص الأمور الهندسية مثل:
اعداد البنية التحتية للشركة، التخطيط للمشاريع وتقديرها وتنفيذها، التوثيق، دورة العمل، ادارة المنتج، المعمارية، البرمجة، والأختبار، والإصدار والتركيب، والصيانة والدعم الفني
2- شخص مسئول عن امور الأعمال business ، يحمل لقب مدير الشركة او الرئيس، وهو معني بمصادر التمويل، والحسابات، والأجراءات الحكومية، والبيع، وعلاقات العملاء.
وفقا لخبرات الشخصين فقد يكون هناك تفاهم في شكل المهام واعادة توزيعها.

 

ثانياً: شركة من 12 فرد:

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

 

ثالثاً: شركة من 25 الي 50 فرد.

حين تكبر الشركة ويزداد عدد موظفيها عن 12 تبدا الحاجة في فصل بعض المهام المشتركة. فتفصل ادارة الموارد البشرية عن المالية، ويفصل التسويق عن المبيعات، وتصبح المهام الهندسية وخدمة العملاء اكثر تحديدا وتوصيفا وتخصصا.
وفي الشركات التي تعمل بنموذج التطبيقات السحابية SaaS software as a Service ستظهر الحاجة لإنشاء قسم خاص بالعمليات operation dept.
حين تصل الشركة لـ 50 موظف تكون سياسة التواصل المفتوح open communication صعبة التحقيق، حيث قد تصل مسارات الحوار المحتملة بين الموظفين في شركة من 50 موظف الي   1275 مسار، الأمر الذي يحتم وضع سياسات وضوابط ولوائح لتقنين التواصل بين الموظفين.

يلاحظ ايضا فصل ادارتي خدمة العملاء عن ادارة العملاء، خدمة العملاء معنيون بالمستخدمين، في حين ادارة العملاء معنية بصناع قرار الشراء لدى العملاء.

 

 رابعاً: شركة من 100 فرد.

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

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

 

 الهيكل الهرمي

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

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

هذه العيوب تكون ظاهرة جدا في الشركات التي تدير العديد من المشاريع في نفس الوقت. لذلك تلجأ هذه الشركات الي نموذج المصفوفة كبديل عن نموذج الهيكل الإداري.

 

المصفوفة.

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

 

 فريق المنتج

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

 

 فرق العمل المرنة 

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

 

التواصل بين افراد فريق العمل الواحد.

 بصفة عامة فإن القاعدة الوحيدة التي يمكن اعتبارها ذهبية ولايمكن استثنائها في اي فريق عمل اياً كان شكله او هيكله هي التواصل. الشكل اعلاه يوضح نموذج فريق العمل team model داخل نموذج مايكروسوفت Microsoft Solution Framework MSF . الأدوار الرئيسية هي المكتوبة داخل دوائر ، اما الأدوار الأخرى التي تحيط بالدوائر فهي تشرح كيفية تطبيق النموذج داخل شركة MOVE-IT . بالطبع فإن كيفية تطبيق النموذج ستختلف من شركة لأخرى وفقا لحجم فريق العمل، وكيفية توزيع المهام. هذا النموذج لا يتعارض ابدا مع ايا من الهياكل الإدارية التي تم شرحها سابقا في هذه التدوينة، فيمكن تطبيقه داخل فريق عمل مشروع، او فريق عمل منتج، او فريق عمل وحدة وظيفية، وهكذا.

 

ملخص

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




هناك 7 تعليقات:

  1. بالنسبة لشركات البرمجيات في مصر أعتقد أن شركة من 12 فردا لا يوجد مدير تمويل حيث يقوم مدير الحسابات أو المحاسب بهذا الدور خصوصا وأن التمويل عادة يكون من الشركاء عكس الخارج حيث توجد مساهمات من شركات تمويل Venture Capitalists

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

    ردحذف
    الردود
    1. شكرا يا محمد على التفاعل مع التدوينة ... اتفق معك الي حد كبير

      حذف
  2. مقال وافي جزاك الله خيرا
    من بعد اذنك رسل لي كتاب growing software علي الايميل لو معاك نسخة

    ردحذف
  3. مسا الخير استاذي
    كنت محتاج معلومات عن الهيكل التنضيمي لشركه جوجل والمكاتب الموجوده في الشركه والاقسام
    محتاحه عشان مشروع تخرج مقر لشركه جوجل

    ردحذف

Subscribe to RSS Feed Follow me on Twitter!