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