3.4

3.4 مقاييس النشاط وحدودها

نظرة عامة والدوافع

النشاط، حرف A في SPACE (الموضوع 3.1)، يعدّ حجم عمل الهندسة القابل للملاحظة من الأدوات القياسية للنظام: الالتزامات، وطلبات السحب المفتوحة، وأسطر الكود المُغيَّرة، وتعليقات مراجعة الكود المتروكة. إنه أسهل بُعد SPACE قياسًا، لأن كل واحد من هذه الأحداث مُسجَّل بالفعل تلقائيًا بواسطة أدوات تستخدمها فرق الهندسة يوميًا، وتلك السهولة في القياس بالضبط ما يجعل هذا البُعد الأخطر ترجيحًا مفرطًا. النشاط إشارة حقيقية ومشروعة عند استخدامها بحذر. عند استخدامها كمؤشر بديل مستقل للإنتاجية، فهي عائلة المقاييس الأكثر تلاعبًا وتضليلًا في تاريخ قياس هندسة البرمجيات بأكمله.

المشكلة الأساسية أن النشاط يقيس الحركة، لا القيمة. عدد الالتزامات لا يميّز بين التزام حلّ مشكلة صعبة بأناقة والتزام قسّم تغييرًا واحدًا ذا معنى إلى خمسة ليبدو أكثر إنتاجية (تلاعب الاستبدال من الموضوع 1.2، مُطبَّقًا مباشرة على عائلة المقاييس هذه). أسطر الكود المُغيَّرة تُكافئ الإطناب على مهارة حذف الكود غير الضروري الأكثر قيمة بكثير. مهندس يقضي يومًا كاملًا في تفكير عميق وغير منقطع قبل كتابة عشرة أسطر أنيقة ومختبرة جيدًا يبدو أقل “نشاطًا” وفق هذه المقاييس من مهندس يُلزِم تغييرات سطحية وغير مُراجَعة كل عشرين دقيقة، مع أن الأول غالبًا ما ينتج قيمة حقيقية أكبر بكثير.

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

المبادئ الأساسية

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

التوصيات

لا ترتِّب أو تُقيِّم الأفراد أبدًا بأعداد النشاط الخام

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

استخدم بيانات النشاط إجمالًا، كسياق، لا كحكم

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

فضِّل إشارات نشاط مُعدَّلة بالجودة على الحجم الخام

حيثما كانت بيانات النشاط مفيدة على الإطلاق، فضِّل إشارات مُعدَّلة بالجودة على الأعداد الخام: حجم طلب السحب نسبة لعمق المراجعة (الموضوع 2.9)، أو نسبة الكود الجديد إلى الكود المحذوف، الذي يمكن أن يكشف ما إذا كان فريق يُراكِم تعقيدًا أو يُبسِّط بنشاط. هذه الإشارات المُعدَّلة لا تزال بيانات بُعد النشاط لكنها تقاوم أكثر أشكال التلاعب فظاظة التي تدعو إليها الأعداد الخام.

راقب تحديدًا نمط تلاعب الاستبدال في بيانات النشاط

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

سمِّ وثبِّط استعراض النشاط صراحة

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

المفاضلات: الإيجابيات والسلبيات

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

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

أسئلة للنقاش مع فريقك

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

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

  3. عندما تتحرك بيانات نشاطنا على مستوى الفريق، هل نفسرها إلى جانب أبعاد SPACE الأخرى، أم بمعزل عن غيرها؟ انخفاض في النشاط يُقرَأ بمعزل عن غيره يبدو مقلقًا؛ نفس الانخفاض يُقرَأ إلى جانب تحسن في الرضا أو الأداء يمكن أن يبدو نمطًا إيجابيًا حقًا. تحقق من ممارسة مراجعتك الفعلية مقابل هذا التمييز.

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

  5. كيف نتحدث حاليًا عن “من يُساهم الأكثر” في فريقنا، وهل تلك المحادثة تعتمد ضمنيًا على بيانات النشاط حتى بدون مقياس رسمي؟ التحيز غير الرسمي وغير المقيس نحو الانشغال المرئي يمكن أن يُشكِّل التصور والمكافأة حتى بدون سياسة صريحة قائمة على النشاط؛ أظهر هذا بصدق.

  6. كيف يبدو العمل القيّم حقًا لكن الهادئ، التفكير العميق، والتصميم الدقيق، والتوجيه، على فريقنا، وكيف نتأكد أنه معترف به رغم توليده بيانات نشاط مرئية قليلة؟ هذا السؤال المُكمِّل الإيجابي للأسئلة السابقة: تسمية شكل العمل الجيد والهادئ تساعد على حمايته من التجاهل لصالح عمل أعلى صوتًا وأكثر قابلية للعد.

منظور القطاع

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

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

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

الحكومة. يمكن أن تكون مقاييس النشاط مُغرية للاستشهاد بها في تقرير عام كدليل على الإنتاجية (“عشرة آلاف التزام هذا العام”)، لكن هذا النوع من العناوين لا معنى له تقريبًا ويمكن أن يدعو بالضبط إلى التدقيق الخاطئ فور أن يشير مراجع مطّلع إلى أن النشاط الخام لا يقول شيئًا عن النتائج. أبلِغ عن بيانات النتيجة والأداء (الموضوع 3.3) بدلًا من ذلك، وتجنب أعداد النشاط في أي تواصل يواجه الخارج.

أمثلة

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

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

الحالة التجارية: الدوافع والعائد على الاستثمار وإجمالي تكلفة الملكية

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

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

الأنماط المضادة والمزالق

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

نموذج النضج

  • المستوى 1، البدء: تُستخدَم مقاييس النشاط، رسميًا أو غير رسمي، لتقييم أو ترتيب الأفراد، بدون وعي بالخطر.
  • المستوى 2، التطوير: يوجد بعض الوعي بالخطر، لكن لا سياسة صريحة تمنع بيانات النشاط من التأثير غير الرسمي على المراجعات أو مناقشات الترقية.
  • المستوى 3، التوحيد القياسي: تحظر سياسة صريحة ومُبلَّغة على مستوى المنظمة ترتيب النشاط الفردي، وتُستخدَم بيانات النشاط فقط في سياق إجمالي على مستوى الفريق.
  • المستوى 4، الإدارة: تُدقَّق ممارسات مراجعة الأداء والترقية دوريًا لتأكيد اتباع السياسة في الممارسة، وتحل إشارات نشاط مُعدَّلة بالجودة محل الأعداد الخام حيثما استُخدِمت بيانات النشاط على الإطلاق.
  • المستوى 5، التنسيق الشامل: حوّلت المنظمة ثقافة التقييم بشكل واضح بعيدًا عن مقاييس النشاط نحو نهج الأداء متعدد الإشارات من الموضوع 3.3، مع تحسن مرئي في التعاون وانخفاض في سلوك التلاعب كدليل على نجاح التحول.

أفكار للنقاش

  1. هل شعر أي أحد هنا يومًا بأنه مُقيَّم، حتى بشكل غير رسمي، بمدى “انشغال” نشاطه؟
  2. كيف سيبدو استعراض النشاط تحديدًا على فريقنا؟
  3. هل لدينا سياسة صريحة ومكتوبة ضد ترتيب النشاط الفردي، وهل تُتبَع فعليًا؟
  4. أي عمل هادئ وعالي القيمة على فريقنا يُولِّد حاليًا أقل بيانات نشاط مرئية؟
  5. كيف سنُعيد تصميم أدلة مراجعة أدائنا لإزالة أعداد النشاط كليًا؟

أهم الاستنتاجات

  • يقيس النشاط الحركة، لا القيمة؛ إنه عائلة المقاييس الأكثر إساءة استخدامًا تاريخيًا في هندسة البرمجيات.
  • لا ترتِّب أو تُقيِّم الأفراد أبدًا بأعداد النشاط الخام؛ هذه القاعدة الأصعب والأهم في هذا الموضوع.
  • استخدم بيانات النشاط إجمالًا، كسياق لأبعاد SPACE الأخرى، أبدًا كحكم مستقل.
  • راقب استعراض النشاط ونمط تلاعب الاستبدال (الموضوع 1.2) تحديدًا داخل عائلة المقاييس هذه.
  • العمل العميق وعالي القيمة غالبًا ما يُولِّد أقل بيانات نشاط مرئية؛ احمه من التقليل المنهجي من قيمته.

المراجع وقراءات إضافية

  • Forsgren, Nicole, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, “The SPACE of Developer Productivity,” ACM Queue (2021).
  • Peopleware: Productive Projects and Teams، بقلم Tom DeMarco وTimothy Lister (الحجة ضد قياس المهندسين بالانشغال المرئي).
  • Deep Work: Rules for Focused Success in a Distracted World، بقلم Cal Newport (قيمة العمل الهادئ وغير المنقطع الذي تُقلِّل مقاييس النشاط من عدّه منهجيًا).
  • The Tyranny of Metrics، بقلم Jerry Z. Muller (هوس المقاييس وتكاليفه، ينطبق مباشرة على التقييم القائم على النشاط).