كيفية جعل الإدارة تتقبل الدين الفني



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



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



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



المديرين ليسوا مبرمجين



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



تصادف أن أعمل كمسؤول تقني ومستشار ، لذلك لدي الكثير من الخبرة في هذا العمل. دعنا نشارك معك بعض القوالب.



يمكنك إعطاء خمس حجج



1) "ستساعد إعادة البناء على تقليل تقلب التكاليف الهامشية لكل وحدة من وظائف البرنامج"



هذا اقتباس دقيق من حديث جي بي راينزبيرج الممتاز في مؤتمر "اقتصاديات تطوير البرمجيات". انتظر لا تذهب! كل ما يقال هنا ، أنت تعرفه جيدًا ، تمت صياغته ببساطة في روح مجردة وغامضة.



دعنا نذهب بالترتيب:



  • "إعادة الهيكلة ستساعد في تقليل ..." - حتى الآن ، كل شيء على ما يرام
  • "... تقلب ..." - بعبارة أخرى ، عدم القدرة على التنبؤ
  • "... التكاليف الهامشية ..." - أي مقدار الموارد المطلوبة لإنتاج وحدة إضافية إضافية
  • "... لكل وحدة من وظائف البرنامج" هي ميزة لها قيمة للأعمال. الصيحة! قيمة العمل هو بالضبط ما نحتاجه.


تستند جميع الحجج الخمس إلى نفس الفكرة العامة للترجمة من لغة إلى أخرى ، والتي غالبًا ما نتجاهلها في التعامل مع أشخاص بعيدين عن مجال تكنولوجيا المعلومات. لا تستخدم اللغة العامية ، واعتمد على مفاهيم الاقتصاد والأعمال - هذا هو المكون السري بالكامل. سيؤدي ذلك إلى إنشاء اتصال بينك وبين الإدارة بشكل أسرع.



2) "خلال الشهر الماضي ، تم إنفاق 63٪ من موارد التطوير على إصلاح المشكلات المتعلقة بجودة المنتج"



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



فيما يلي بعض المقاييس التي يمكنك الاطلاع عليها:



  • . ? ?
  • -, , . , ? ?
  • , . ? ?


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



حضرت ذات مرة خطأ ما بعد الوفاة كان من الممكن تجنبه إذا تم إجراء فحص نوع البيانات. تمت كتابة الكود بلغة JavaScript. في ذلك الوقت ، كان هناك نقاش في الشركة حول التبديل إلى TypeScript.



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



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



3) "من وجهة نظر فنية ، عملنا على الائتمان لإخراج المنتج بشكل أسرع. الآن نحن بحاجة إلى سداد جزء من الدين حتى لا يزداد وقت السوق.



مرة أخرى: نحن نتحدث لغة المحاور. يمكن أن تكون الاستعارات فعالة للغاية عندما تحتاج إلى نقل رسالة: فهي تربط المفاهيم غير المألوفة بالمفاهيم المألوفة للمستمع وبالتالي تساعد على فهمها. إن مفهوم "الائتمان" معروف جيدًا لأي مدير. و "الدين الفني" نفسه هو أيضا استعارة حظيت بتداول واسع.



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



4) "إذا استثمرت 10٪ من وقتك في جودة الكود ، فإن حجم مبيعاتك سينخفض ​​بشكل كبير."



حتى الآن ، تحدثنا عن العواقب الواضحة لضعف جودة الشفرة. لكن هناك شيء واحد خبيث يسهل إغفاله: معدل الدوران.



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



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



5) "إذا استثمرت 20٪ من المورد في إعادة البناء ، فإن FRT سينخفض ​​إلى النصف وسيكون عائد الاستثمار إيجابيًا لإنتاجية المطورين"



FRT هو وقت الاستجابة ، وهو مقياس مهم لدعم المستخدم. تسعى الأعمال جاهدة لضمان رضا العملاء عن كل شيء.



هنا نقوم بما يلي:



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


في النهاية ، قرروا



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



إعادة البناء كما تذهب


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



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



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



All Articles