بدهی فنی یا تکنیکال چیست؟ چه تاثیری بر روی زندگی ما دارد؟

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