دليل الممارس: الاستجابة

المقاييس الأولية:

إذا لم تكن قد قرأت بالفعل دليل الممارس: مقدمة - الأشياء التي يجب التفكير فيها عند تفسير المقاييس، يرجى التوقف الآن وقراءة هذا الدليل.

تعد مقاييس الاستجابة جزءًا مهمًا من تقييم صحة المشروع (Eghbal, 2020)، وهي ذات صلة بشكل خاص بتوظيف المساهمين الجدد والاحتفاظ بالمساهمين الحاليين. تعد الاستجابة، بما في ذلك وقت الإغلاق، أحد أهم العوامل في جذب القادمين الجدد للمشروع (Fronchetti et al. 2019). وجد استطلاع أجرته GitHub في عام 2017 أنه عند التفكير في المساهمة في مشروع مفتوح المصدر، قال 95% من المساهمين إن المشرفين المستجيبين مهمون جدًا أو إلى حد ما. يمكن أن يشعر المساهمون بالإحباط عندما لا يتلقون استجابة مناسبة وفي الوقت المناسب لمساهمتهم، ولكن يمكن تشجيعهم عندما يحصلون على حل سريع ومفيد لمساهمتهم. عندما تكون المشاريع سريعة الاستجابة، يمكن أن يجعل الناس يرغبون في المساهمة بشكل أكبر أو الاستمرار في المساهمة. تشير الاستجابات الجيدة والمدروسة واللطيفة للمساهمين إلى أنك تقدر عملهم.

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

الخطوة 1: تحديد الاتجاهات

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

حان وقت الاستجابة الأولى

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

وقت الاستجابة الأولى يوضح أن معظم العلاقات العامة مغلقة خلال يومي عمل

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

حان وقت الإغلاق

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

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

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

متوسط ​​وقت الإغلاق 8.941 يومًا ومتوسط ​​وقت الإغلاق 4.022 يومًا

نسبة الإغلاق

بالإضافة إلى النظر في الوقت الذي يستغرقه الحصول على استجابة أولية ونقل المساهمة إلى الإغلاق، من المهم أيضًا فهم مدى مواكبة المشروع للمساهمات. على سبيل المثال، يُنظر أحيانًا إلى الأعداد الكبيرة من طلبات السحب المفتوحة على أنها علامة على أن المشرفين "ليسوا واعين بشكل خاص في التعامل مع الأشخاص خارج المشروع، نظرًا لأن كل طلب سحب مفتوح يشير إلى عرض من التعليمات البرمجية التي يتم تجاهلها بدلاً من قبولها أو رفضها" أو تم التعليق عليه" (Dabbish et al. 2012).

نسبة الإغلاق - تدعم وتواكب المساهمات التي تظهر أنها متخلفة في شهري يوليو وأغسطس

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

الخطوة الأولى: التشخيص

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

نسبة الإغلاق - يحافظ على المساهمات ويواكبها مما يدل على توقف المشروع تدريجياً عن المتابعة

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

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

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

يؤدي الوقت الذي يظهر فيه وقت الإغلاق إلى زيادة تدريجية

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

الخطوة 3: جمع بيانات إضافية إذا لزم الأمر

توفر الأمثلة المستخدمة في الخطوتين 1 و2 نقطة بداية يمكن توسيعها للنظر في مقاييس الاستجابة المماثلة عبر مجموعة متنوعة من القنوات (على سبيل المثال، المشكلات وطلبات التغيير والمراجعات)

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

المقاييس:

الخطوة 4: إجراء التحسينات

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

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

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

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

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

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

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

الخطوة 5: مراقبة النتائج

ستعتمد كيفية مراقبة النتائج على التحسينات التي قررت إجراؤها. يعد الاستمرار في مراقبة وقت الاستجابة الأولى ووقت الإغلاق وتغيير نسبة إغلاق الطلب بداية جيدة. إذا استخدمت بيانات أخرى من الخطوة 3، فيجب عليك أيضًا مراقبة هذه المقاييس.

إذا كنت تقوم بتعيين معتمدين ومشرفين جدد، فقد يستغرق الأمر بعض الوقت لرؤية نتائج هذه الجهود، لذلك قد لا ترى تحسينات كبيرة لمدة 3 إلى 6 أشهر.

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

تحذيرات واعتبارات

  • من الصعب تشخيص الاستجابة لأن أشياء كثيرة يمكن أن تؤثر على الاستجابة، لذلك لا تثبط عزيمتك إذا لم تؤدي محاولتك الأولى إلى التحسن.

قراءة إضافية

مشاركة الرأي

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

المساهمين

ساهم الأشخاص التالية أسماؤهم في هذا الدليل:

  • داون فوستر
  • تشان فونج
  • ريمي ديكوزيماكر
  • لويس كانياس دياز
  • يواكيم نوريكو

مراجع حسابات

أدلة ممارس CHAOSS هي وثائق حية مرخصة من معهد ماساتشوستس للتكنولوجيا (MIT)، ونحن نرحب بتعليقاتك ومدخلاتك. يمكنك اقتراح تعديلات على هذا المستند على https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/responsiveness.md