
أنت تعرف ما هذا. من الصعب جدًا بالفعل دفع كل ما تحتاج إليه في سباق العدو ، ولكن لا يزال يتعين عليك العثور على 10-20٪ من وقت المطورين لاسترداد الديون الفنية . إذا سبق لك أن دافعت عن الحاجة إلى تخصيص وقت لذلك ، فأنت تعلم أن هذا يشبه حملة صليبية ذات أبعاد ملحمية.
ولكن يمكنك القيام بذلك ، وفي هذا الدليل سنكتشف بالضبط كيف.
لقد رأيت الكثير من الاجتماعات حيث تم قضاء هذا السؤال بالضبط الكثير من الوقت. عادة ما تكون الحجج لا أساس لها ، ويمكن أن تنفجر العواطف - وتربح الأصوات التي تتمتع بأعلى صوت في الغرفة.
المعضلة هي: إذا أصبح ضغط العمل في متناول اليد ، فستواجه شركتك خطر الحصول على الكثير من الديون الفنية - وبعد ذلك يفقد المطورون دوافعهم ، وتأتي الشركة في حالة إفلاس فني ، وهزم منافسيك. إذا تمكنت من التغلب على ضغوط المطورين ، فستواجه الشركة مخاطر تحمل القليل من الديون الفنية ، ومن ثم سيكون منافسيك قادرين على توفير المنتجات والميزات بشكل أسرع ، والاستيلاء على السوق ، واستخدام الأرباح التي تم تلقيها لاحقًا لإعادة ديونهم الفنية. أنت تخسر مرة أخرى.
تشير الفطرة السليمة إلى أن فرق التطوير يجب أن تطور فهمًا بديهيًا لقاعدة الشفرات ، حيث يتربص الدين الفني ، وكذلك عواقبه على الشركة ، وبالتالي بناء الثقة داخل المنظمة. إذا قال مهندسك ومؤسسك الرئيسي إنك بحاجة إلى إعادة هيكلة العقارات في الوقت الحالي ، فأنت (عادة) تأخذها وتفعلها.
من المنطقي محاولة الاحتفاظ بالمطورين لديك من أجل خلق ثقافة المعرفة والتبادل والثقة. لكن الأمر سيستغرق سنوات من العمل الشاق ، والانتهاء من إعادة بناء المساكن ، لا يزال لدينا أي فكرة تقريبًا عما إذا كنا قد ضيعنا وقتنا. ربما نحن فقط انقذت بضعة أيام من وقت التطوير في المستقبل؟ أو هل يمكننا الانتظار بعض الوقت لسداد الديون الفنية في وقت لاحق ، وإضافة بعض الميزات الجديدة؟ نحن لا نعرف على وجه اليقين وننسب جهلنا إلى حقيقة أن تطوير المنتج هو أكثر من فن وليس علمًا.
حسنًا ، لقد حان الوقت لإضافة بعض العلوم إلى العملية.
ما هي موثوقية مماثلة للموقع وميزانية الدين الفني
يمكن أن تكون الديون التقنية المدارة بشكل صحيح والمخطط لها أداة لا تقدر بثمن. إدراك ما نقوم به ، يمكننا استخدامه كما نستخدم الديون المالية كأداة للضغط. لكن إذا أخذنا ، دون التشكيك في ذلك ، أكثر من اللازم - على سبيل المثال ، فإننا لا نفهم تمامًا شروط المعاملة (أي تأثير الدين الفني على قاعدة الكود وعملائنا وفريقنا وشركتنا) - قد ينتهي العمل في انهيار شركتنا.
تعمل أفضل فرق إدارة موثوقية الموقع مع ميزانية موثوقية الموقع من حيث الديون الفنية المدارة. موثوقية الموقع هي مفهوم شائع بواسطة Google ؛ إنها مسؤولة عن الحفاظ على البرنامج في حالة "التشغيل والتشغيل" ، ولكن المثير للاهتمام أن شركات مثل Google لا تهدف إلى زيادة مدة التشغيل إلى 100٪. والسبب هو أن وقت التشغيل بنسبة 99.99٪ يكفي لأن تكون منتجات Google موثوقة بشكل استثنائي للمستخدمين الحقيقيين. وهذا 0.01٪ الأخير صعب التحقيق ، وليس هناك أي جدوى في القتال من أجله.
لذلك ، إذا كان هذا يعطي ما مجموعه 52 دقيقة من التوقف في السنة ، فستحاول Google الاقتراب من هذا الرقم قدر الإمكان ؛ ولكن كل ما هو أقل من 52 دقيقة في السنة هو فرصة ضائعة لتحمل مخاطر إضافية وتوفير أي ميزات واعدة لعملائها بسرعة.
فكر في ميزانية الدين الفني الخاصة بك كميزانية لموثوقية الموقع. شريطة أن تتحمل دينًا تقنيًا معقولًا وتبقى أقل من الحد الأقصى لمقدار الدين الذي يمكنك تحمله قبل أن تبدأ في التأثير على عملائك وعملك ، يجب عليك زيادة مقدار الدين من أجل تحمل المزيد من المخاطر والفوز منافسيهم.

إذا كان دينك الفني في المنطقة الحمراء ، فأنت بحاجة إلى سداده جزئيًا. إذا كان في المنطقة الخضراء ، يمكنك تحمل المزيد من المخاطر والمزيد من الديون. هدفك هو الحفاظ باستمرار على مبلغ الديون أقرب ما يكون إلى المستوى المثالي. بمعنى آخر ، إذا كنت في ذروة الجزء الأحمر من الرسم البياني ، فإن الميزانية المثالية للدين الفني هي A ⇒ B. إذا كنت في الجزء السفلي من الجزء الأخضر من الرسم البياني ، فإن الميزانية المثالية هي C ⇒ B. تذكر فقط أن A ⇒ كبيرة جدًا للديون الفنية .
نظرًا لأنه يمكن قياس الدين الفني (كتبنا عن ذلك في مقال آخر ) ، فإن هذا ليس مفهومًا الآن - إنه يلبي تمامًا الاحتياجات العملية.
كيفية الحصول على أقصى استفادة من ميزانية الديون الفنية الخاصة بك
يجب أن تسعى جاهدين للحصول على ميزانية الدين الفني الذي يعيدك لأعلى أو لأسفل ، إلى الحد الأقصى لمقدار الدين الفني الذي يمكنك تحمله. لتحديد هذه الميزانية ، حدد الخطوط العريضة في مناطق قواعد الشفرة الخاصة بك حيث يجب سداد الديون الفنية فورًا ، أي الديون التي تمنع شركتك من تحقيق أهدافها الحالية. لا ينصح لك بسداد ديون قليلة جدًا أو مبالغ كبيرة.
يوضح أندرياس كلينجر ، منسق فريق العمل عن بعد في AngelList ، هذا الأمر جيدًا في مقالته " إعادة إحياء القواعد الكبيرة للرمز الوراثي :
ليس كل شيء يحتاج إلى إعادة بناء. إذا لم يكن هذا جزءًا مهمًا ، أو لا يحتاج أي شخص إلى تحسين هذه الوظيفة في الأشهر القادمة ، أو إذا كان الأمر معقدًا جدًا ، فكر في الاعتراف بهذا المكان كدين تقني.

ببساطة ، هدفك هو العثور على مكان تداخل شيئين: ما ستعمل عليه في السباق الحالي أو الشهر أو الربع الحالي ، وتلك الأجزاء من قاعدة الكود الخاصة بك والتي تحتوي على دين تقني. دفع الدين في منطقة هذا التقاطع ، ولكن ليس بعده.
وهنا يكمل العلم الفن. يمكنك استخدام البيانات لتحديد المناطق التي تحتاج فيها إلى سداد الديون الفنية في المستقبل القريب:
- قم بتمييز الملفات ذات الملكية الضعيفة في قاعدة الشفرة الخاصة بك ، لأن ملكية الشفرة هي مؤشر رئيسي لرفاهية قاعدة الشفرة الخاصة بك. المزيد حول هذا الموضوع في مقالتنا "سمة واحدة من سمات ثقافة الشركات اللازمة لرفاهية قاعدة الشفرة" .
- قياس التماسك والاقتران لهذه الملفات واترك فقط الملفات ذات الملكية الضعيفة ، والاتصال المنخفض والعتاد العالي في القائمة. يمكنك معرفة المزيد حول كل من هذه المؤشرات في مقالتنا "استخدام دراسات رواد الصناعة لقياس الديون الفنية" .
- حساب النشاط المتكرر (churn) لكل من هذه الملفات لتحديد مجموعة فرعية من الملفات problematic. وفقًا لدراسة أجرتها شركة Microsoft ، فإن تغيير الملفات بشكل نشط لا يشكل سوى 2 إلى 8٪ من إجمالي الملفات في النظام ، ولكنه يمثل 20-40٪ من جميع التغييرات ، وهي مسؤولة عن 60-90٪ من جميع الأخطاء.
- قم بربط قائمة الملفات الناتجة بخططك الفصلية. هل ستتطلب منك أي من الميزات المدرجة في خططك العمل على مجموعة فرعية من ملفات المشاكل التي حددتها؟ إذا كانت الإجابة بنعم ، حدد الأهداف المتعلقة بإعادة تشكيل هذه الملفات ، وقم بتقييم مقدار العمل الضروري وتعيين المهام لمطوّرين محددين ، ويفضل أن يكون هؤلاء الذين يمتلكون الملفات المقابلة. أدرج هذا العمل في خططك.
للبدء ، ألق نظرة على ملحق VSCode المجاني - سيساعدك باستمرار على مراقبة ودفع الديون الفنية الأكثر إلحاحًا.
الدخول في علاقة طويلة الأجل مع الديون الفنية
قمنا بتطبيق هذا النهج القائم على البيانات في Stepsize ، وكذلك في العديد من شركات البرمجيات ذات المستوى العالمي. ليس فقط موضوع الدين الفني أصبح الآن أكثر وضوحًا ، بل نعلم أيضًا مقدار الدين الذي نحن مستعدون لتحمله على أنفسنا ، ومتى / كيف نعيده. نادراً ما نفكر فيما إذا كنا قد اخترنا بشكل صحيح حل وسط بين الميزات الجديدة والديون الفنية. تمكنا من القضاء على جزء كبير من التخمين ، وكذلك العديد من المخاوف والقلق الذي صاحب هذا الاختيار.
دعنا نوضح مرة أخرى: هذه ليست رصاصة فضية يمكن استخدامها مرة واحدة في السنة ومن ثم نسيانها. تحتاج إلى التعرف على واجبك الفني بشكل أفضل. تتبع التقدم المحرز الخاص بك على جميع مؤشرات كل سباق ومواصلة تحسين العملية برمتها لتحقيق الرفاه الفني .
لقد كتبنا عن عدة طرق للقيام بذلك ، وذلك لخلق الدافع الصحيح ، وقراءة حول تنمية ثقافة التنمية القائمة على الملكية وتكريم المطورين الذين يعيدون الديون الفنية .