بدهی فنی یا تکنیکال، در واقع شامل بدهی‌هایی میشه که در محیط کار و خصوصا در بین مهندسان کامپیوتر و برنامه‌نویسان شناخته میشه و منظور از بدهی فنی در این مواقع، انباشتی از کارهای معوقه به حساب میاد. بدهی فنی، یکی از بدترین بدهی هایی است که ممکنه بر سر یک کسب‌وکار یا یک استارتاپ بیاد. علاوه بر این، تاحالا به بدهی فنی و تاثیرش بر روی زندگی خودتون فکر کردید؟ چون این لعنتی، خیلی داره تاثیر میذاره روی همه‌چی ما! چقدر جمله دوم آشناست. وقتی داشتم مطلب رو میخوندم، وسطای متن چشمم خورد به دو کلمه "بدهی تکنیکال". توضیح خود نویسنده مطلب، کامله: اما با یه جستجو ساده در گوگل، دنبال مطلب بیشتر در این مورد رفتم. محتوای فارسی پیدا نکردم، پس تصمیم گرفتم سایت های انگلیسی زبان رو زیرورو کنم. با تعریف ساده ویکی‌پدیا شروع کنیم: در واقع میشه بدهی های فنی رو با بدهی های مالی مقایسه کرد. اگر بدهی های فنی بازپرداخت نشوند، می‌تونه علاقه‌ای که مولد شروع کار بود رو از بین ببره، و پس از آن، تغییر سخت و زمان بره. بدهی های فنی، ناخواسته آنتروپی (میزان آشفتگی و بی‌نظمی) نرم افزار رو افزایش میده. بدهی فنی لزوما چیز بدی نیست، گاهی اوقات نیاز هست تا پروژه ها را به سمت جلو حرکت کند. هنگامی که در یک پایگاه کد نیاز به تغییر است، اغلب یک تغییر روی کل پروژه تاثیر گذاره و باید تمامی کدها اصلاح و هماهنگ سازی شوند تغییرات اجباری که تکمیل نشده باشند، بدهی محسوب می‌شود که بایند در برخی موارد در آینده پرداخت شوند. درست مانند بدهی مالی، این تغییرات غیرقابل اجتناب، بدهی را سنگین‌تر میکند و به مرور زمان تاثیر مخرب به جای میگذارند. اگرچه این اصطلاح در توسعه نرم افزار و برنامه نویسی استفاده می‌شود، اما در بقیه حرفه ها نیز قابل مشاهده است. علت ها علل رایج بدهی های فنی عبارتند از: وقتی که توسعه و پیاده سازی، قبل از هرگونه طراحی آغاز شود. این کار برای صرفه جویی در وقت انجام می‌شود، اما اغلب باید دوباره انجام گیرد. جایی که کسب و کار تصمیم میگیرد محصول را سریع‌تر منتشر کند، قبل از اینکه تمامی تغییرات لازم انجام شده باشد. بدهی های فنی را شامل تغییرات ناتمام میکند. که در آن شرکت‌ها به مفهوم بدهی های فنی توجه نمی‌شود و بدون در نظر گرفتن مفاهیم تصمیم گیری می‌کنند. جایی که تابع به اندازه کافی انعطاف پذیر نیست تا بتواند با تغییرات در نیازهای تجاری هماهنگ شود. عدم وجود یک مجموعه آزمایشی که باعث رفع باگ ها و ریسک کردن قبل از انجام محصول نهایی باشد. جایی که دانش در سراسر سازمان به اشتراک گذاشته نمی‌شود و کارآیی کاهش می‌یابد و یا توسعه دهندگان از تجربه کافی برخوردار نیستند. همانطور که الزامات پروژه تکامل یافته است، ممکن است واضح شود بخش‌هایی از کد، ناکارآمد یا پیچیده شده باشد و باید اصلاح شوند تا بتوانند از نیازهای آینده پشتیبانی کنند. جایی که توسعه دهنده با سادگی نمی‌داند چگونه کد زیبا را بنویسد. که در آن دستورات ضعیف فکر شده و بدهی فنی بجای کاهش، افزایش می‌یابد. خب حالا اینارو گفتی که چی؟ لزوما هیچی. صرفا خودم کنجکاو شدم ببینم این دو کلمه در معنای بزرگتر چی میخوان بگن: ) اما بیاین به راهکاراش فکر کنیم. تلنبار شدن کارها، درس‌ها و پروژه‌ها به شدت آدم رو خسته و بعد از مدتی دلزده میکنه. حتما برای شما هم پیش اومده که این بدهی های فنی دایما رو به افزایشه. یه دوره کامپیوتر رفتی و قرار بوده از شروع دوره بری کتاب مربوطه رو بگیری و تا وقتی دوره تموم میشه تو هم چند کتاب رو در همون مورد رو تموم کرده باشی، یا کلاس زبانی رفتی که از اول ترم هی میگفتی از جلسه بعد تمرینا رو انجام میدم، لسنینگ‌های کتاب رو گوش میدم (به شخصه هیچ‌وقت حوصله‌شون رو ندارم، چیه آخه) یا از ترم بعد ایشالا هم که و رد زبونه اصن. همه ما بدهی هایی داشتیم، داریم (و خواهیم داشت از این لحظه به بعد انشالله تموم بشه) ، اما چی بدهی‌ها رو میتونه تموم کنه و ما رو خلاص؟ ! اطلاعاتتون رو شروع کنید به افزایش دادن درباره همه اون چیزی که نمی‌دونستید. منابع رو مشخص کنید و خواهشا با ده تا منبع مختلف خودتون رو گیج نکنید. اینکه در یک شاخه عمیق بشید بهتر از اینه که چند تا شاخه رو با دانش کم یاد داشته باشید. (بعدا یادم باشه یه مطلب درباره همین استرس و سندرمی که ناشی میشه از منابع مختلف بنویسم. خیلی اذیت میکنه آدمو. بالاخره عصر تکنولوژی و اطلاعات این بدی ها رو هم داره) ددلاین (مهلت به سرانجام رسیدن) برای هر کار عقب افتاده‌ای که داشتید تعریف کنید. اینکه بدونید در طی یک مدت زمان مشخص کار عقب افتاده به پایان میرسه، حس خوبی رو منتقل میکنه. تلاشتون رو باید روی کاغذ ببینید تا وسط راه ول نکنید. تمام و انواع مشکلاتی که با آن ها سروکله میزنیم در اشتراک با کار ما هستند. شاید واقعا این کار رو دوست ندارید، تاحالا بهش فکر کردین؟ خب من زبان فرانسه دوست نداشته باشم که هرچقدم بخوام تلاش کنم بخونم خب مشخصه نمیخونم. هدفو اشتباه شاید انتخاب کردید. قسمت در این مطلب درسته داره درباره کد و سازمان صحبت میکنه، اما کوچک شده همون زندگی ماست. لیستی از چیزهایی که باید در ادامه انجام شود تهیه کنید. لیست"! To Go " رو کاغذ آوردن مطالب مهمه. اینکه تو ذهنم خیال پردازی کنم بگم آره فلان کار بود، فلان کارم هست و غیره کمکی نمیکنه. خب مشخصا بعد یک مدت کوتاهی، دوباره دلسرد میشم و روز از نو روزی از نو. هنر اینه فکرا بیان رو کاغذ و پلن هرکدوم به طور دقیق و راهبردی مشخص شده باشه. دو تا سوال رو هم صادقانه به خودتون جواب بدید: آیا واقعا میخواین اون آدم باشین که تمام کارهاش همیشه روی هم ریخته شده و دایما عقبه از زندگی‌که میتونست راضیش کنه؟ هروقت ازش بپرسن خب زبان رو به کجا رسوندی، درس به کجا رسید، در شغلت به کجا رسیدی، هنوز میگه دارم میخونم، یه ترم دیگه مونده، هنوز تو همون شرکتم. خب کی بالاخره میخواد تموم بشه. کی آدم پیشرفت کنه؟ ! آیا واقعا میخواین اون آدم باشین که هممون میشناسیمش، کاراش رو به جلو حرکت میکنه، موفقه، تلاش میکنه و پیشرفتش نمایانه؟ جواب شما به این دو سوال، مطلب انگیزشی نمیخواد. فقط لازمه بشناسی دنبال چی هستی.