1.1 لماذا نقيس هندسة البرمجيات
نظرة عامة والدوافع
تقاوم هندسة البرمجيات القياس بطريقة لا يقاومها التصنيع. فخط الإنتاج ينتج وحدات متطابقة، لذا فإن عدّها يخبرك بشيء حقيقي. أما عمل البرمجيات فينتج قطعًا فريدة من نوعها في ظل متطلبات متغيرة باستمرار، لذا فإن العدّ الساذج، للالتزامات، أو الأسطر، أو التذاكر المغلقة، لا يخبرك بشيء تقريبًا عن القيمة المُقدَّمة. هذه الفجوة بين صعوبة قياس عمل البرمجيات والحاجة الحقيقية جدًا لمعرفة ما إذا كان الأمر يسير على ما يرام هي حيث يعيش هذا الكتاب بأكمله. يتناول هذا الموضوع سدّ تلك الفجوة بأمانة: ليس بالتظاهر بأن عمل البرمجيات قابل للعدّ مثل القطع الصناعية، بل بالدقة في تحديد ما يمكن للقياس أن يفعله وما لا يمكنه فعله لمنظمة هندسية.
يوجد القياس للإجابة عن أسئلة لا يمكن لمنظمة أن تجيب عنها بثقة بطريقة أخرى: هل يتسارع تسليمنا أم يتباطأ، هل تتحسن الجودة أم تتدهور، هل يعاني المهندسون من الإرهاق، هل يؤتي هذا الاستثمار ثماره. بدون مقاييس، تتم الإجابة عن هذه الأسئلة من قِبل من يتحدث بثقة أكبر في الغرفة، وعادة ما يكون الشخص الأكبر منصبًا أو الأكثر إقناعًا، وغالبًا ما تكون تلك الإجابة خاطئة. إن فرق هندسة البرمجيات التي تتجاوز القياس لا تتجنب إصدار أحكام على أدائها الخاص. إنها فقط تصدر تلك الأحكام بناءً على الحدس والحكايات والتحيز للأحداث الأخيرة بدلًا من الأدلة.
بالنسبة للفرق الكبيرة، يتوقف هذا عن كونه أمرًا لطيفًا ويصبح بنيويًا. يمكن لفريق من ستة أشخاص أن يتشارك نموذجًا ذهنيًا لكيفية سير الأمور من خلال المحادثة اليومية. أما قسم من ستمائة شخص، موزّعين عبر مناطق زمنية ووحدات أعمال مختلفة، فلا يمكنه ذلك. عند هذا الحجم، تكون مجموعة أرقام مشتركة وموثوقة البديل العملي الوحيد للوعي غير الرسمي الذي يحصل عليه الفريق الصغير مجانًا. تحتاج قيادة المؤسسات الكبرى إلى مقاييس لتوزيع الاستثمار عبر عشرات الفرق المتنافسة على نفس الميزانية. وتحتاج منظمات الهندسة الحكومية إلى مقاييس لإثبات للهيئات التشريعية والجمهور أن الأموال المخصصة أنتجت قدرة حقيقية، وليس مجرد نشاط. في كلتا الحالتين، ليست عبارة “لقد عملنا بجد” دليلًا؛ الرقم القابل للدفاع عنه هو الدليل.
المبادئ الأساسية
- قِس لتتعلم، لا لتحكم. الغرض الأساسي من مقياس هندسي هو إثراء قرار، وليس تسجيل نقاط لشخص أو فريق.
- الرقم بلا قرار مرتبط به هو زخرفة. إذا كانت أي قراءة لمقياس لن تغيّر ما ستفعله بعد ذلك، فلا مكان له في لوحة معلومات.
- القياس وسيلة، لا غاية. الغاية هي برمجيات أفضل، تُسلَّم بشكل أكثر موثوقية، بواسطة فريق مستدام. توجد المقاييس فقط لخدمة تلك الغاية.
- لكل مقياس تكلفة. الأدوات القياسية ووقت المراجعة ومخاطر التشويه السلوكي التي يتناولها الموضوع 1.2 كلها تكلّف شيئًا. يجب على المقياس أن يستعيد تلك التكلفة.
- الصمت أيضًا قرار. اختيار عدم قياس شيء ما هو خيار له عواقب، وليس افتراضيًا محايدًا.
التوصيات
ابدأ من القرار، لا من لوحة المعلومات
قبل تركيب أي أداة قياسية، سمِّ القرار الذي سيثريه المقياس. عبارة “نريد أن نعرف ما إذا كان خط أنابيب النشر الجديد قد قلّل من معدلات الأعطال” سؤال على شكل قرار؛ أما “دعنا نتتبع كل ما يمكن للأداة تصديره” فليست كذلك. العمل بالتفكير العكسي من القرار يبقي مجموعة المقاييس صغيرة ويجعل كل بطاقة قابلة للدفاع عنها عندما يسأل أحدهم عن سبب وجودها. إذا لم تستطع تسمية القرار الذي سيثريه مقياس، فلا تبنه بعد. يتعمق الموضوع 1.3 أكثر في نسخة “النتائج قبل الناتج” من هذا الانضباط.
افصل الاستخدام التشخيصي عن الاستخدام التقييمي
يتصرف المقياس المستخدَم لتشخيص مشكلة في النظام (لماذا يتزايد وقت التسليم لدينا تدريجيًا) بشكل مختلف تمامًا عن نفس المقياس المستخدَم لتقييم شخص أو فريق (وقت تسليم من هو الأسوأ). الأول يدعو إلى التحقيق والتحسين. أما الثاني فيدعو إلى الإخفاء والتلاعب، لأن الرقم الآن أصبحت له عواقب تتعلق بالسمعة أو المال. قرر بشكل صريح، كتابيًا، أي استخدام مخصص له المقياس، ولا تدع أبدًا مقياسًا تشخيصيًا ينزلق إلى الاستخدام التقييمي دون إعادة النظر بشكل مقصود في الخطر. يتكرر هذا التمييز باستمرار عبر هذا الكتاب ويُصاغ رسميًا في قسم اللا-أهداف من ميثاق المقاييس الموصوف في الموضوع 1.4.
عامل القياس كفرضية، لا كحقيقة
المقياس مؤشر بديل لشيء تهتم به فعليًا، وليس الشيء نفسه. تكرار النشر مؤشر بديل لقدرة التسليم، وليس قدرة التسليم نفسها. عامل كل مقياس كفرضية قيد الاختبار المستمر: هل لا يزال هذا الرقم يتتبع الشيء الذي نهتم به، أم أن العالم قد تحرك وترك المؤشر البديل خلفه؟ أعد النظر في هذا السؤال بوتيرة ثابتة بدلًا من افتراض أن مقياسًا اختير جيدًا قبل عامين لا يزال مختارًا جيدًا اليوم، خاصة مع تغيّر الأدوات أو هيكل الفريق أو (انظر الجزء 7) طبيعة العمل نفسه.
اجعل غياب القياس مرئيًا
في المنظمات الكبيرة، الفجوة الأكثر خطورة ليست مقياسًا سيئًا، بل مجالًا لا يقيسه أحد على الإطلاق لأنه يصعب تركيب أداة قياسية له: تجربة المطورين، احتكاك الاعتماديات بين الفرق، تآكل المعرفة المؤسسية. سمِّ هذه الفجوات صراحة في ميثاق مقاييسك بدلًا من تركها غير مرئية بشكل افتراضي. المنظمة التي تعرف ما لا تقيسه، ولماذا، في موقف أقوى بكثير من تلك التي نسيت بهدوء أن تلك المجالات موجودة.
المفاضلات: الإيجابيات والسلبيات
| النهج | الإيجابيات | السلبيات |
|---|---|---|
| أدوات قياسية مكثفة، مقاييس كثيرة | رؤية واسعة، نقاط عمياء أقل | إرهاق من لوحة المعلومات، سطح أكبر للتلاعب، تكلفة صيانة أعلى |
| مقاييس دنيا مدفوعة بالقرار | تركيز، عبء منخفض، كل مقياس قابل للدفاع عنه | خطر تفويت مشكلة ناشئة خارج المجموعة المختارة |
| مقاييس للتشخيص فقط | تشجع الإبلاغ الصادق والتحقيق | قد تستخدمها القيادة بشكل غير رسمي تقييميًا رغم ذلك |
| مقاييس مرتبطة بالتقييم الفردي | تبدو خاضعة للمساءلة، سهلة الشرح للتنفيذيين | حافز تلاعب قوي؛ تضر بالثقة؛ عادة ما تقيس الشيء الخاطئ |
التوتر المركزي هو التغطية مقابل التركيز، ويزداد حدة بـالتشخيص مقابل الحكم. مقاييس قليلة جدًا وتُطوّر نقاطًا عمياء لا تظهر إلا كأزمة؛ ومقاييس كثيرة جدًا ولا يستطيع أحد التصرف بناءً على أي منها، بينما كل مقياس تُرفق به وزنًا تقييميًا يدعو إلى التشويه. حُلّ ذلك بالبدء بشكل أدنى ومدفوع بالقرار، وإضافة مقياس فقط عندما يحتاجه قرار محدد ومسمّى، وبالدفاع صراحة عن حدود الاستخدام التشخيصي فقط في عمل الحوكمة بالموضوع 1.4 بدلًا من تركها تتآكل بشكل افتراضي.
أسئلة للنقاش مع فريقك
لكل مقياس في لوحة معلوماتنا الحالية، ما القرار الذي ستُحفّزه كل من القراءة الجيدة والقراءة السيئة؟ إذا أدت كلتا القراءتين إلى نفس الإجراء، أو إلى لا إجراء على الإطلاق، فالمقياس زخرفة. استعرض لوحة معلوماتك بطاقة تلو الأخرى وأجبر إجابة صادقة عن كل واحدة. يُقلّل هذا التمرين عادة لوحة معلومات منتفخة إلى النصف في جلسة واحدة، لأن معظم التضخم يتراكم من مقاييس لم يزلها أحد قط بدلًا من مقاييس أضافها أحدهم عن قصد لسبب لا يزال قائمًا.
أي مقاييسنا تُستخدم تشخيصيًا، وأيها أصبح تقييميًا بهدوء؟ يمكن لمقياس بُني لفهم قيد نظام أن ينزلق إلى استخدامه لترتيب الفرق أو الأفراد دون أن يقرر أحد ذلك عن قصد، غالبًا من خلال تعليق عابر في اجتماع مراجعة يتحول إلى عادة. بمجرد حدوث هذا الانزلاق، يتوقف الرقم عن كونه موثوقًا، لأن الناس الآن لديهم سبب لجعله يبدو جيدًا بدلًا من جعله دقيقًا. سمِّ الاستخدام المقصود لكل مقياس كتابيًا وتحقق من الممارسة الحالية مقابله.
ما الذي لا نقيسه لأنه يصعب تركيب أداة قياسية له، وما الذي تكلّفنا إياه تلك الفجوة؟ أخطر النقاط العمياء هي تلك التي لا تصل أبدًا إلى لوحة معلومات تحديدًا لأنها تقاوم القياس السهل: احتكاك الاعتماديات بين الفرق، أو تآكل المعرفة المؤسسية، أو التراكم الهادئ للحلول الترقيعية الهشة. أحضر قائمة بالأشياء التي يقلق منها الجميع سرًا لكن لا يتتبعها أحد، وكن صادقًا حول السبب.
إذا حذفنا هذا المقياس غدًا، من سيلاحظ، وماذا سيخسر؟ المقياس الذي لن يفتقده أحد هو مقياس لا يُثري أي قرار. يكشف هذا السؤال البطاقات الزائفة التي تبقى فقط بفعل القصور الذاتي. بالنسبة لمنظمة كبيرة لديها عشرات لوحات معلومات الفرق، هذا الانضباط في التقليم مهم بقدر أهمية انضباط إضافة مقاييس جديدة أصلًا.
كم يكلّف كل مقياس في لوحة معلوماتنا فعليًا إنتاجه وصيانته، بما في ذلك وقت الهندسة وراء الأدوات القياسية؟ المقاييس ليست مجانية. تحمل خطوط الأنابيب ولوحات المعلومات ووقت المراجعة المُنفَق في مناقشة رقم تكلفة متكررة يسهل التقليل من شأنها لأنها موزعة عبر مهام صغيرة كثيرة بدلًا من بند واحد مرئي. أحضر جهد التركيب والصيانة الفعلي لديك وقارنه بقيمة القرار من السؤال 1.
أين أصبح القياس بديلًا عن الحكم، وأين أصبح الحكم بديلًا عن القياس؟ كلا نمطي الفشل حقيقيان. الفريق الذي يُسند كل قرار إلى لوحة معلومات يفقد الحكم السياقي الذي يلتقط ما يفوته الرقم؛ والفريق الذي يتجاهل البيانات المتاحة لصالح الصوت الأعلى في الغرفة يكرر بالضبط المشكلة التي يفتتح بها هذا الموضوع. الهدف هو مقاييس تُثري الحكم، لا مقاييس تحل محله.
منظور القطاع
الشركات الناشئة. مع حفنة من المهندسين، معظم ما يحذّر منه هذا الموضوع، الانزلاق نحو الاستخدام التقييمي، النقاط العمياء، تضخم لوحة المعلومات، سهل التجنب لمجرد أن الجميع يتحدثون يوميًا. الخطر هو العكس: تجاوز القياس تمامًا لأنه يبدو عبئًا لا يستطيع الفريق تحمله. اختر سؤالين أو ثلاثة أسئلة على شكل قرار (هل نُسلّم بسرعة كافية، هل الجودة صامدة) وركّب أدوات فقط لتلك.
الشركات الصغيرة. بدون منصة أو فريق بيانات مخصص، اعتمد على ما تُبلّغ عنه أدواتك الحالية بالفعل بدلًا من بناء أدوات قياسية مخصصة. لوحة معلومات معالج مدفوعات، ومقاييس استجابة أداة الدعم، وسجل بناء مزوّد التكامل المستمر لديك عادة ما تغطي القرارات الأكثر أهمية. قاوم إغراء شراء منصة تحليلات هندسية مخصصة قبل أن تثبت أنك ستتصرف بناءً على ما تخبرك به.
المؤسسات الكبرى. الخطر الأساسي هو مقاييس تنزلق بصمت من الاستخدام التشخيصي إلى التقييمي بينما تتصاعد عبر طبقات الإدارة، ولوحات معلومات تنمو بالتراكم لأن لا أحد يملك مهمة تقليمها. الحوكمة (الموضوع 1.4) ليست اختيارية عند هذا الحجم. وحّد التعريفات عبر وحدات الأعمال، وابنِ مراجعة تقاعد منتظمة في برنامج المقاييس نفسه.
الحكومة. غالبًا ما تحمل المقاييس هنا وزنًا قانونيًا أو ميزانيًا، مما يرفع من قيمة ضبطها بشكل صحيح ومن تكلفة إخطائها. الرقم المُبلَّغ إلى هيئة تشريعية أو جهة رقابية يحتاج إلى منهجية موثقة، وتعريف مستقر عبر فترات الإبلاغ، وأمانة بشأن قيوده. عامل عبارة “لا نقيس هذا حاليًا” كإجابة قد تحتاج للدفاع عنها، لا كتقصير خاص يُخفى.
أمثلة
المؤسسات الكبرى. نمت منظمة الهندسة في شركة تأمين عالمية إلى أكثر من ستين فريق سكرم، لكل منها لوحة معلومات غير رسمية خاصة به، لا يمكن مقارنة أي منها بالآخر. لم تستطع القيادة الإجابة عن سؤال أساسي: أي من استثماراتنا المنصّية الاستراتيجية العشرة يُسلّم فعليًا برمجيات أسرع. لم يكن الحل مزيدًا من المقاييس، بل مقاييس أقل وأفضل: عرّفت المنظمة نواة مشتركة مدفوعة بالقرار من مقاييس DORA (الموضوع 2.10) تُحسب بشكل مماثل في كل مكان من نفس بيانات خط الأنابيب، وأزالت أربعين لوحة معلومات خاصة بالفرق، واستطاعت أخيرًا مقارنة مجالات الاستثمار على أساس مشترك خلال ربعين.
الحكومة. طُلب من فريق الخدمة الرقمية في وكالة ضرائب وطنية من قِبل لجنة رقابية إثبات العائد على برنامج تحديث متعدد السنوات. كانت مقاييس الفريق الحالية داخلية بالكامل ومبنية على النشاط: نقاط القصة المُنجزة، والسباقات المُغلقة. لم يُجب أي منها عن سؤال اللجنة الفعلي. بنى الفريق بدلًا من ذلك مجموعة صغيرة من مقاييس النتائج، الوسيط الزمني لحل مشكلة تقديم طلب مواطن، ومعدل تبني القناة الرقمية، ومعدل الأعطال المُفلِتة في النظام الجديد، وأبلغ عنها ربع سنويًا بمنهجية موثقة. تحولت أسئلة اللجنة من “أثبت أنك تعمل” إلى “كيف نكرر هذا في الوكالة التالية”، وهي النتيجة التي من المفترض أن تُنتجها مجموعة مقاييس مختارة جيدًا.
الحالة التجارية: الدوافع والعائد على الاستثمار وإجمالي تكلفة الملكية
العائد على القياس المتعمد هو جودة القرار. المنظمة التي تستطيع القول، بالدليل، “تحسّن وقت التسليم لدينا بنسبة 30% بعد الاستثمار في المنصة” يمكنها الدفاع عن ذلك الاستثمار، وتكرار ما نجح، وإيقاف ما لم ينجح. أما المنظمة التي تعتمد على الحكايات فلا يمكنها فعل أي من ذلك بثقة، وتنتهي بإعادة التقاضي في نفس الحجج في كل دورة ميزانية لأن لا أحد يستطيع الإشارة إلى رقم يثق فيه الطرفان.
تكلفة القياس ليست لوحة المعلومات. إنها الانضباط المستمر: الأدوات القياسية، وصيانة التعريفات، والتقليم الدوري الذي يوصي به هذا الموضوع. إجمالي تكلفة الملكية هذه حقيقية لكنها متواضعة مقارنة بتكلفة البديل، وهو منظمة كبيرة تتخذ قرارات تقنية بملايين الدولارات على أساس من جادل بأكثر إقناع في الغرفة. العائد على برنامج مقاييس ليس المقاييس نفسها؛ بل القرارات التي أصبحت أفضل بفضلها.
الأنماط المضادة والمزالق
- قياس كل ما تصدّره الأداة: يحوّل لوحة المعلومات إلى ضوضاء ويدعو إلى التلاعب عبر سطح ضخم بلا قيمة قرار مقابلة.
- مقاييس بلا قرار مُسمّى: زخرفة تكلّف جهد صيانة ولا تخبر أحدًا بشيء قابل للتصرف.
- الانزلاق الصامت من الاستخدام التشخيصي إلى التقييمي: الطريقة الأسرع الوحيدة لتدمير الثقة في رقم.
- معاملة مقياس كحقيقة بدلًا من فرضية: مؤشر بديل كان صحيحًا قبل عامين قد يكون خاطئًا اليوم، ولا يتحقق أحد من ذلك.
- الخلط بين غياب رقم سيء وحضور رقم جيد: مقياس لا تنظر إليه أبدًا لا يمكنه أن يخبرك بأن شيئًا خاطئًا.
- بناء قدرة قياس قبل تحديد ما يجب تقريره: الأدوات القياسية بحثًا عن سؤال تُهدر وقت هندسة حقيقيًا.
نموذج النضج
- المستوى 1، البدء: المقاييس، إن وُجدت أصلًا، عشوائية وشخصية لمن بناها، ولا يستطيع أحد القول بأي قرار تُثري أي منها.
- المستوى 2، التطوير: توجد مجموعة أساسية من المقاييس لبعض الفرق، منسوخة في الغالب من إطار عمل أو إعدادات أداة افتراضية، دون رابط واضح بقرار.
- المستوى 3، التوحيد القياسي: لكل مقياس متتبَّع غرض موثق وتصنيف صريح تشخيصي مقابل تقييمي، مُطبَّق باتساق عبر المنظمة.
- المستوى 4، الإدارة: تُراجَع المقاييس بوتيرة ثابتة مقابل القرارات التي تُثريها؛ تُقاعَد المقاييس التي تتوقف عن استحقاق مكانتها، وتُقاس المجموعة بأكملها من حيث التكلفة والقيمة.
- المستوى 5، التنسيق الشامل: القياس قدرة حية: تُحدّد المنظمة روتينيًا نقاطها العمياء الخاصة، وتختبر ما إذا كانت مؤشراتها البديلة لا تزال تتتبع الواقع، وتعامل برنامج المقاييس نفسه كشيء يجب تحسينه، لا مجرد صيانته.
أفكار للنقاش
- أي مقياس في لوحة معلوماتنا سنجد أصعب مشقة في تبرير الاحتفاظ به إذا سُئلنا اليوم؟
- ما القرار الذي اتخذناه في الربع الأخير باستخدام مقياس، بدلًا من رأي؟
- أين في منظمتنا أصبح مقياس تشخيصي تقييميًا بهدوء؟
- ما الذي نخشى قياسه، ولماذا؟
- لو اختفى برنامج مقاييسنا غدًا، أي القرارات ستسوء؟
أهم الاستنتاجات
- يوجد القياس لخدمة القرارات، لا ليوجد لذاته؛ المقياس بلا قرار مرتبط زخرفة.
- أبقِ الاستخدام التشخيصي منفصلًا عن الاستخدام التقييمي، كتابيًا، وراقب الانزلاق الصامت بينهما.
- عامل كل مقياس كـفرضية حول ما يمثله، لا كحقيقة مستقرة، وأعد النظر في تلك الفرضية بوتيرة منتظمة.
- الصمت، اختيار عدم قياس شيء ما، هو بحد ذاته قرار له عواقب؛ اجعل النقاط العمياء مرئية بدلًا من تركها غير مرئية بشكل افتراضي.
- التكلفة الإجمالية لبرنامج مقاييس حقيقية؛ زنها صراحة مقابل قيمة القرار التي يوفرها كل مقياس.
المراجع وقراءات إضافية
- Accelerate: The Science of Lean Software and DevOps، بقلم Nicole Forsgren وJez Humble وGene Kim (الأساس البحثي للقياس الهندسي المبني على النتائج).
- How to Measure Anything، بقلم Douglas W. Hubbard (إطار عام لتحديد قيمة الأشياء التي تبدو غير قابلة للقياس).
- Measuring and Managing Performance in Organizations، بقلم Robert D. Austin (التحليل التأسيسي للخلل الوظيفي الذي يمكن أن يُدخله القياس إلى منظمة).
- Thinking, Fast and Slow، بقلم Daniel Kahneman (التحيزات المعرفية التي تجعل الحكم غير المدعوم بديلًا غير موثوق عن القياس).
- برنامج Google لبحث وتقييم DevOps (DORA)، dora.dev (بحث حالة DevOps المستمر الذي يعتمد عليه هذا الكتاب بأكمله).