HamidReza Ireh
HamidReza Ireh
خواندن ۶ دقیقه·۵ سال پیش

پیامدهای بدهی فنی

با افزایش سطح بدهی فنی، شدت پیامدهای آن نیز افزایش می‌یاید. در ادامه تعدادی از برجسته‌ترین پیامدهای سطوح بالای بدهی فنی را بررسی می‌کنیم.

پیشنهاد میکنم ابتدا پست بدهی‌فنی را مطالعه کنید.
  • نقطه‌ی اوج غیرقابل پیش‌بینی

از خصوصیات مهم بدهی فنی، افزایش غیر قابل پیش‌بینی و غیر خطی آن است. اضافه شدن هر بدهی فنیِ کوچک به مجموعه‌ی بدهی‌های فنی موجود معمولاً منجر به خسارت قابل توجهی می‌شود که با اندازه‌ی این بدهی جدید قابل مقایسه نیست. در برخی موارد بدهی فنی باعث ایجاد نوعی «جِرم بحرانی» می‌شود تا جایی که محصول به نقطه‌ی اوجی می‌رسد که در آن نقطه، بی‌نظم و غیرقابل مدیریت می‌شود. غیرخطی بودن، ریسک مهمی در کسب‌وکار به شمار می‌رود؛ چون معلوم نیست که کدام اتفاق بدِ بعدی همه چیز را نابود خواهد کرد، اما اگر این اتفاق روی دهد، همه چیز با هم و یکجا خراب خواهد شد.

  • افزایش زمان تحویل

بدهی فنی مانند وامی است که امروز دریافت می‌کنید و در ازای آن باید کاری را در آینده انجام دهید. هر چه امروز بدهی بیشتری داشته باشید، فردا سرعت کمتری خواهید داشت. زمانی که سرعت کاهش می‌یابد، تحویل ویژگی‌های جدید و خطاهای رفع شده به مشتری نیز بیشتر طول می‌کشد و در نتیجه، با داشتن بدهی فنی زیاد عملاً زمان تحویل‌ها به جای کاهش، افزایش می‌یابد. اگر بازار فروش محصول، بازاری رقابتی باشد، بدهی فنی دقیقاً نقش رقیب و دشمن ما را بازی می‌کند و بر ضد منافع ما می‌جنگد.

  • تعداد زیاد نقص‌ها

محصولاتی که بدهی فنیِ قابل توجهی داشته باشند پیچیده‌تر می‌شوند و این موضوع شرایط را برای انجام درست کارها دشوارتر می‌کند. ترکیب نقص‌ها می‌تواند باعث خرابی‌های اساسی با فرکانس‌های شدید برای محصول شود. چنین خرابی‌هایی باعث ایجاد اختلال بزرگی در جریان طبیعی و ارزش آفرین توسعه می‌گردند. به علاوه، سربار مدیریت این همه نقص باعث کاهش زمان تولید ویژگی‌های با ارزش برای مشتری می‌شود. گاهی در حال غرق شدنیم اما آنقدر گرم فرو رفتن در باتلاق نقص‌ها هستیم که نمی‌توانیم راهی برای خلاص شدن از منجلابی که در آن گرفتار شده‌ایم، پیدا کنیم.

  • افزایش هزینه‌های توسعه و پشتیبانی

با افزایش بدهی‌فنی، هزینه‌های توسعه و پشتیبانی شروع به افزایش می‌کند. کاری که قبلاً ساده و کم هزینه بود، پیچیده و پر هزینه می‌شود. با افزایش سطح بدهی فنی، حتی تغییرات کوچک نیز بسیار پرهزینه می‌شوند. زمانی که منحنی «بدهی‌فنی زیاد» با شیب تند بالا می‌رود، به جرمی بحرانی از بدهی فنی می‌رسیم و در نقطه اوج قرار می‌گیریم. برای ادامه کار گزینه‌های «توسعه‌ی یک ویژگی جدید» و «اصلاح یک نقض» وجود دارد. افزایش هزینه‌های می‌تواند موجب تغییر در مباحث اقتصادی و هزینه‌های مربوط به انتخاب یکی از این دو گزینه گردد. اگر بدهی‌فنی کم باشد، ساخت یک ویژکی یا رفع یک نقص کم‌هزینه است، اما همین کار در صورتی که بدهی‌فنی زیاد باشد، بسیار پرهزینه خواهد بود. نتیجه‌ی افزایش هزینه‌ها، انطباق پذیری کمتر محصولات در محیط درحال رشدی است که ناگزیریم در آن حضور داشته باشیم.

  • آتروفی محصول

اگر افزودن ویژگی‌های جدید یا اصلاح نقص‌ها که می‌تواند محصول سالخورده‌ی ما را جوان کند، متوقف شود، محصول آرام آرام جذابیت خود را برای مشتریان فعلی و مشتریان بالقوه از دست می‌دهد. در نتیجه محصول رفته رفته دچار آتروفی می‌شود و به راحتی جایگاه خود را به عنوان گزینه‌ای موفق نزد اکثر مشتریان از دست می‌دهد. آنهایی هم که همچنان با محصول کار می‌کنند، برای مدت کوتاهی و از روی ناچاری آن را تحمل می‌کنند. اما در اولین فرصتی که بتوانند محصول نویی را جایگزین آن کنند، حتماً این کار را خواهند کرد.

  • کاهش قابلیت پیش‌بینی

در محصولی که سطح بدهی‌فنی در آن زیاد است، امکان هرگونه پیش‌بینی تقریباً غیر ممکن است. برای نمونه حتی برآوردهای باتجربه‌ترین افراد تیم نیز برآوردهای بسیار نادرستی خواهد شد. در واقع در هر محصول ورشکسته یعنی محصولی که بدهی‌اش بیشتر از توان پرداخت تیم است، عدم قطعیت زیادی درباره‌ی مدت زمان انجام کارها وجود دارد. در نتیجه توانایی تیم در تعهدسپاری و انتظار منطقی از انجام آنها دچار مشکل جدی می‌شود. کسب‌وکار اعتمادش را به تیم‌توسعه از دست می‌دهد و به دنبال آن، مشتریان نیز اعتماد خود را به کسب‌وکار از دست می‌دهند.

  • افت کارایی

متأسفانه با افزایش بدهی فنی، انتظار افراد از کارایی تیم توسعه و حتی کارهای قابل انجام نیز بیش از پیش کاهش می‌یابد. البته کاهش یافتن انتظارات در زنجیره‌ی ارزش شروع می‌شود و به همه جای آن سرایت می‌کند که نتیجه آن افت کارایی در کل سازمان خواهد بود.

  • ناامیدی عمومی

نا امیدی افراد حاضر در زنجیره ارزش، یکی از پیامدهای تأسف‌بار و انسانیِ بدهی‌فنی بالاست. زمانی که همه‌ی میانبرهای (بدهی‌های فنی) کوچک اما آزاردهنده روی هم انباشته شوند، کار بر روی محصول را سخت و رنج‌آور می‌کنند. در نهایت لذت توسعه از بین می‌رود و جای خود را به خستگی و اعصاب خردی هر روزه می‌دهد که ناشی از مسائلی‌اند که محل مناقشه و دعوا هستند و هیچکس حاضر به حل و فصل آنها نیست. افراد به شدت احساس خستگی می‌کنند و دیگر قادر به ادامه‌ی کار نیستند. اعضایی از تیم توسعه که به کار مسلط هستند و دانش محصول در اختیار آنهاست، شروع به ترک تیم می‌کنند تا فرصت‌های شغلیِ راضی کننده‌تری پیدا کنند. در واقع این افراد بهترین گزینه برای رفع مشکلات فنی هستند و خروج آنها از تیم، اوضاع را برای افراد باقی مانده بدتر می‌کند. روحیه افراد به سرعت و با شدتی بیش از پیش کاهش می‌یابد.

بدهی فنی نه تنها شادی و لذت را از فنی می‌گیرد، بلکه تأثیر مشابهی روی افراد کسب‌وکار دارد. تا کی می‌خواهیم به دادن تعهداتی که نمی‌توانیم آنها را انجام دهیم، ادامه دهیم؟ چه بر سر مشتریان بیچاره‌ی ما که می‌خواهند کسب‌وکار خود را با محصول ورشکسته‌ی ما اداره کنند، خواهد آمد؟ آنها نیز به سرعت از خرابی‌های پی در پی محصول و وعده‌های سرخرمن ما خسته می‌شوند. اعتمادی که زمانی در زنجیره‌ی ارزش وجود داشت، جای خود را به نا امیدی و ناراحتی می‌دهد.

  • کاهش رضایت مشتری

با افزایش ناامیدی مشتریان، میزان رضایت آنان نیز کاهش می‌یابد. بنابراین وسعت خرابی ناشی از بدهی فنی فقط به تیم توسعه یا حتی کل سازمان توسعه محدود نمی‌شود، بلکه حتی بدتر از آن می‌تواند به شکل قابل ملاحظه‌ای روی مشتریان و برداشت آنان از ما تأثیر بگذارد.

کنی اس. روبین

بدهی فنیtechnical debtتوسعه نرم افزارمهندسی نرم افزارمدیریت پروژه
http://ireh.ir (Software Developer)
شاید از این پست‌ها خوشتان بیاید