الديون الفنية مثل تتريس

الفوز غير ممكن. أنت فقط تقرر مدى السرعة التي ستخسرها


ما هي الخطوة التالية؟

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

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


في البداية ، المهام أبسط ، بمستوى منخفض من الصعوبة

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


الوظائف المعقدة قابلة للتطبيق بالكامل مع عدم وجود زيادة تقريبية في الديون الفنية.

يتطلب إصدار وظيفة معقدة إكمال عدة أسطر .

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


الدين الفني الصغير أمر طبيعي ويمكن التحكم فيه.

مثل هذه السيناريوهات تخلق الديون الفنية داخل الكود. ممر مخفي في تتريس هو واجب فني.

أي رمز لديه واجب فني. هذا طبيعي. يمكنك الاستمرار في اللعب مع بعض التمريرات.


دفن في الدين الفني

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

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

سداد الديون الفنية الخاصة بك يجعلك قادرة على المنافسة. إنها تبقيك في اللعبة.


انتهت اللعبة

مثل إدارة الأعمال ، في تتريس ، يزداد التعقيد مع مرور الوقت. تتحرك الأشكال بشكل أسرع وأصعب مواكبة لها.

كما هو الحال في العمل ، من المستحيل الفوز هنا. لا يوجد خط النهاية الحقيقي. والسؤال الوحيد هو متى ستخسر.

مثل العمل ، الكثير من الثغرات في تتريس تؤدي إلى خسارة.

علة مليون دولار


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

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

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

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

دفع تعويضات دائما لا تؤتي ثمارها


على الرغم من أن القصة صحيحة تمامًا ، فإن سداد الديون الفنية لا يكون دائمًا ذا تأثير كبير. نحن محظوظون.


العثور على التوازن الصحيح للدين الفني

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

لا يمكنني إلا أن أقول إن كلا من مالكي المنتجات ومطوريها يجب أن يفهموا جوهر الدين الفني وأنه لا يمكن تجنبه إلى الأبد. في النهاية ، كما في Tetris ، هنا لا يمكنك الفوز أبدًا.

Source: https://habr.com/ru/post/ar443896/


All Articles