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

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

أين تعيش الحقائق

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

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

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

البنية

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

من المصادر إلى تقرير القيادة من دون إنسان في السلسلة
من المصادر إلى تقرير القيادة من دون إنسان في السلسلة

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

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

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

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

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

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

شهران من الوقت الصافي من مجلد فارغ إلى نظام يعمل كل يوم.

ما الذي تغير

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

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

وترى أيضًا ما تفعله أولوياتك أنت. حين يُسحب فريق إلى مشروع ثانٍ، يتعثر الأول، ويظهر التعثر على الخط الزمني مع تاريخ وسبب. تتبعنا عبر GitLab كل فترة توقف في المهام الكبرى (epics) لدينا. وقت التوقف يشكل ثلث عمر كل مهمة كبرى. وحيث أمكن التعرف على المطورين من إيداعاتهم (commits)، كانوا في 57% من أيام التوقف يودعون شيفرة في أعمال أخرى. لقد انتقلوا إلى عمل آخر. لم يعد أحد بحاجة إلى شرح ذلك للمالكين. إنه نتيجة قرار اتخذه أحدهم، وله ثمن، والذين اتخذوا القرار يرونه بأنفسهم.

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

الأرقام

  • التقارير التي كانت تُكتب يدويًا لثلاثة مستويات إدارية: صفر. كلها تُجمع وفق جدول زمني.
  • عمر البيانات في تقرير القيادة: أقل من 24 ساعة. قبل ذلك: من أيام إلى أسابيع، بحسب من كان لديه وقت للكتابة.
  • المصادر التي تقوم عليها الإجابة عن الحالة: 8 أنظمة، وكل حقيقة عن حادثة أو مشروع يمكن تتبعها إلى اقتباس. قبل ذلك: الذاكرة وبضع محادثات.
  • المشاريع التي لها سجل يومي: 70. قبل ذلك: حالة نحو 10 مشاريع رئيسية، من الذاكرة.
  • من بين 8 مشاريع ذات أولوية قصوى في الفترة الماضية، أغلق 6 منها مهمة واحدة على الأقل. أما الـ2 الآخران فأُحيلا إلى المالكين على شكل سؤال.
  • التسليم: الانتظار يشغل 55% من عمر المهمة، وطابور QA يشغل 30% من زمن الدورة. كلاهما كان غير مرئي من قبل.
  • وقت التوقف: ثلث عمر كل مهمة كبرى. وحيث أمكن التعرف على المطورين، ذهب 57% من أيام التوقف إلى أعمال أخرى. تنقل بين الأعمال، مع تاريخ وسبب بجانب كل توقف.
  • البناء: شهران من الوقت الصافي، شخص واحد ومعه وكلاء.

ما الذي دفعناه

صار لدينا معلومات أكثر الآن، ولا يزال على أحد أن يقرأها، والقائد أيضًا. انتقلت الساعات من الجمع إلى التحليل. ساعات أقل بكثير، لكنها لم تختفِ.

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

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

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

ما التالي

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

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

إذا كانت اجتماعات متابعة الحالة لديك مسرحية

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