شركة برمجيات

شركة البرمجيات هي منظمة - مملوكة إما للدولة أو للقطاع الخاص - أنشئت بهدف الربح ومنتجاتها الأساسية هي أشكال مختلفة من البرمجيات وتكنولوجيا البرمجيات والتوزيع وتطوير منتجات البرمجيات. [1] وهم يشكلون صناعة البرمجيات .

أنواع

هناك عدد من أنواع شركات البرمجيات المختلفة:

الأدوار الشائعة في شركة البرمجيات

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

تتكون شركة البرمجيات الاحترافية عادة من ثلاثة فرق فرعية مخصصة على الأقل:

في شركات البرمجيات الأكبر حجمًا، يتم توظيف تخصص أكبر، وفي كثير من الأحيان يوجد أيضًا:

بناء

يُطلق على مدير شركة البرمجيات عادةً اسم رئيس التطوير (HOD)، [2] ويقدم تقاريره إلى أصحاب المصلحة . وهو أو هي يقود الفرق الفرعية بشكل مباشر أو عبر المديرين/القادة حسب حجم المنظمة . وعادةً ما تكون الفرق التي يصل عدد أفرادها إلى 10 أشخاص هي الأكثر تشغيلية. في المنظمات الأكبر حجمًا، يوجد بشكل عام نموذجان للتسلسل الهرمي:

الهيكل النموذجي لشركة برمجيات

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

هيكل المصفوفة

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

هناك أيضًا عدد من المتغيرات لهذه الهياكل، ولدى عدد من المنظمات هذا الهيكل المنتشر والمقسم داخل الإدارات والوحدات المختلفة.

المنهجيات

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

هناك أيضًا بعض المنهجيات التي تجمع بين الاثنين، مثل نموذج الحلزون ، أو العملية الموحدة العقلانية (RUP) [7] أو MSF . [8]

دورة حياة المنتج

بغض النظر عن المنهجية المستخدمة، فإن دورة حياة المنتج تتكون دائمًا من ثلاث مراحل على الأقل:

  • التصميم - بما في ذلك المواصفات التجارية والفنية
  • البرمجة – التطوير نفسه
  • الاختبار – إدارة الجودة

تستغرق كل مرحلة بشكل مثالي 30% من إجمالي الوقت، مع 10% المتبقية كاحتياطي.

قد يبدو مخطط تسلسل UML للتفاعل بين هذه المجموعات كما يلي:

التفاعل العام بين المجموعات الأربع الرئيسية

في كل مرحلة تلعب مجموعة مختلفة دورًا رئيسيًا، ومع ذلك يجب أن يشارك كل نوع من الأدوار طوال عملية التطوير بأكملها:

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

الأنظمة والإجراءات

تمتلك شركات البرمجيات أنظمة وإجراءات مختلفة يتم تنفيذها والعمل بها داخليًا عبر جميع الفرق الفرعية. وتشمل هذه:

محللون الأعمال

المبرمجون

المُختبرين

مديري المشاريع/المنتجات

توجد أيضًا إدارة دورة حياة التطبيق (ALM)، والتي تتضمن بعض هذه الوظائف في حزمة واحدة وتُستخدم عبر المجموعات. يتم توفيرها من بائعين مختلفين مثل Borland أو ECM أو Compuware .

عمليات تدقيق الكفاءة

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

  • متوسط ​​عدد الأخطاء التي ارتكبها المطور لكل وحدة زمنية أو أسطر مصدرية من الكود
  • عدد الأخطاء التي وجدها المُختبر لكل دورة اختبار
  • متوسط ​​عدد دورات الاختبار حتى Zero Bug Bounce (ZBB)
  • متوسط ​​وقت دورة الاختبار
  • الوقت المقدر للمهمة مقارنة بالوقت الحقيقي للمهمة (دقة التخطيط)
  • عدد التصحيحات على خط الأساس
هرم يوضح المخاطر والوقت والتكلفة المالية المترتبة على إدخال التغييرات

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

انظر أيضا

مراجع

  1. ^ "ما هي شركة البرمجيات اليوم؟". RedMonk. 2014. تم الاسترجاع في 2 يونيو 2017 .
  2. ^ Greenlit: تطوير أفكار تلفزيون الواقع/الواقع من المفهوم إلى العرض، ص 12
  3. ^ إدارة المشاريع الناجحة باستخدام PRINCE2
  4. ^ دليل المستخدم لدليل PMBOK
  5. ^ تخطيط البرمجة المتطرفة
  6. ^ إدارة المشاريع الرشيقة باستخدام سكروم
  7. ^ عملية موحدة عقلانية سهلة: دليل الممارس لعملية RUP
  8. ^ إطار عمل حلول Microsoft (MSF): دليل الجيب
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=شركة_برمجيات&oldid=1244944728"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate