كيفية تقدير مساهمة الفرد لمشروع البرمجيات؟ [مغلق

StackOverflow https://stackoverflow.com/questions/2437881

  •  19-09-2019
  •  | 
  •  

سؤال

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

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

فكرتي من أداة مثالية لهذا الغرض سوف:

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

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

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

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

لا يوجد حل صحيح

نصائح أخرى

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

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

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

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

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

  • -10 إذا كسروا البناء
  • -1 لكسر اختبار
  • +1 لإصلاح اختبار
  • إلخ.

هذا مرة أخرى وسيلة لتقييم بطريقة أو بأخرى مساهمة المطور.

الكل في الكل، أشعر وكأنني ما تسأل عنه، ولكن لا يزال غير ناضج للغاية.

لا أعتقد أنه يمكنك الحصول على أداة لتقييم حصتك من المشروع. قياس خطوط المصدر هو كل شيء على ما يرام، ولكن ما هي نوعية هذا المصدر؟ أنت لا تريد أن يحصل شخص ما على الائتمان لمدة 200 سطر من المصدر إذا كانت الوظيفة قد تم إظهارها في 20 ...

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

مارتن

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

في كتاب Stroustrup الخاص ب C ++ لقد قرأت مرة واحدة "لا تحاول حل المشكلات الاجتماعية بالوسائل الفنية".

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

enter image description here

التفكير كهجوم تكنولوجيا المعلومات وكخففة التحكم، لا ينبغي أن يكون هذا صعبا للغاية، لتنفيذ برنامج لتعليم الآلات القابلة للتعليم، والذي يستخدم الإصدار-Cotrol، قاعدة بيانات الأخطاء، إلخ وزيادة البيانات في الوقت الحقيقي لكل منها مساهم. على سبيل المثال r، يمكن استخدام knime أو weka لهذا الغرض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top