কারিগরি debtণের যত্ন নেওয়া থেকে আপনি কী পেওফ দেখেছেন?


29

কারিগরি debtণ সম্পর্কিত এই নিবন্ধটির কয়েকটি ভাল পয়েন্ট রয়েছে:

"প্রযুক্তিগত বিষয়গুলি" নিয়ে কাজ করা যখন গল্প দ্বারা চালিত হয় তখন সবচেয়ে ভাল কাজ করে। কোড বেসটি সম্ভবত সর্বত্র কাজের প্রয়োজন, তবে ব্যবহারকারীর মুখোমুখি কারণে কোডটি যেখানে কাজ করা হবে কেবল সেখানেই পেঅফটি পাওয়া যাবে। কোনও গল্প যদি কিছু ক্রুফটি অঞ্চলে যেতে না থাকে, তবে এটিতে কাজ করা বেশিরভাগ সময় নষ্ট হয়।

অতএব, আমি যথারীতি গল্পগুলি গ্রহণ করার পদ্ধতিকে প্রাধান্য দিয়েছি (তবে তাদের মধ্যে সম্ভবত খুব কম) এবং ক্যাম্পগ্রাউন্ডটি আপনি এটির চেয়ে ভাল রেখে দেওয়ার "বয় স্কাউট নিয়ম" অনুসরণ করে। অন্য কথায়, গল্পগুলি যেখানেই আমাদের নেতৃত্ব দেয়, আসুন আরও পরীক্ষা লিখি, আসুন আরও আক্রমণাত্মকভাবে রিফ্যাক্টর।

এই পদ্ধতির কমপক্ষে এই সুবিধা রয়েছে:

  • গল্পের "সেরা বোধগম্য" প্রবাহ বজায় রাখে;
  • সমস্ত দলের প্রতিভা থেকে সহায়তা সরবরাহ করে;
  • কীভাবে কোড পরিষ্কার রাখতে হয় তা শেখার জন্য পুরো দলকে সরবরাহ করে;
  • যেখানে প্রয়োজন ঠিক সেখানে উন্নতির দিকে দৃষ্টি নিবদ্ধ করে;
  • "প্রয়োজন" প্রয়োজন হতে পারে এমন উন্নতি নষ্ট করে না;

আমি দেখেছি কোড মানের দীর্ঘমেয়াদী উত্পাদনশীলতায় খুব বড় প্রভাব ফেলেছে, তাই আমি বিশ্বাসী যে প্রযুক্তিগত debtণের যত্ন নেওয়া উচিত। আমি মনে করি উপরের পোস্টটি অর্থবোধ করে, তবে আমি শেষ দুটি পয়েন্ট সম্পর্কে এতটা নিশ্চিত নই। প্রযুক্তিগত debtণ সাফ করা থেকে উপকারের বাস্তব অভিজ্ঞতা সন্ধান করতে আমি আগ্রহী, এমনকি এটি ব্যবহারকারীর গল্পের সাথে সম্পর্কিত না হলেও।

আপনার কোড বেস পরিষ্কার করা এবং প্রযুক্তিগত debtণ থেকে নিজেকে মুক্তি দেওয়া থেকে আপনি কোন ইতিবাচক সুবিধা দেখেছেন? কাজটি শেষ করতে আপনি কোন পদ্ধতি ব্যবহার করেছেন?


1
কোড এমনকি কেন উপস্থিত থাকবে, যদি এটি কোনও ব্যবহারকারীর গল্পকে প্রভাবিত করে না? (কোনও সিস্টেমের প্রশাসকরা এখনও ব্যবহারকারী রয়েছেন - সুতরাং লগিং এবং 'কভারের আওতায়' স্টাফ এখনও প্রযোজ্য)
স্টিভেন ইভার্স

2
@ Sn0rfus এটি একটি ভাল বিষয়। যাইহোক আমি এমন দলগুলির সাথে কাজ করেছি যেগুলি "কাজ করা" হিসাবে বিবেচিত কিছু সঠিকভাবে করা হয়েছিল কিনা তা নিয়ে পুনর্বিবেচনা করতে অস্বীকার করেছিল। এগুলি কখনই পরিষ্কার হবে না কারণ বৈশিষ্ট্যগুলি "সম্পন্ন" হিসাবে বিবেচিত হয়েছিল। তারা প্রায়শই ভবিষ্যতের বিকাশের উপর বিশাল অপ্রত্যক্ষ প্রভাব ফেলত কারণ এগুলি খারাপভাবে করা হয়েছিল, তবে বিকাশকারীরা এবং আমাদের ব্যবস্থাপক উভয়ই কেবল অন্ধ চোখ বানাবেন।
নিকোল

(ক্লোপ সম্পর্কে আপনার মন্তব্য) +1। আপনি ঠিক কী বিষয়ে কথা বলছেন তা আমি জানি।
ট্যালনক্স

উত্তর:


31

আমি আমার অভিজ্ঞতা থেকে একটি উদাহরণ দিতে পারি।

প্রায় 10 বা 12 বছর আগে আমি বিকাশকারীদের একটি দল থেকে উত্তরাধিকার সূত্রে পেয়েছি যা সংস্থা ছেড়ে চলে গেছে (এখানে hereুকতে খুব বেশি দীর্ঘ ...)। সিস্টেমটি ছিল একটি বড় গৃহ-উত্পাদিত মিডলওয়্যার রিপোর্ট জেনারেশন সিস্টেম। এটি প্রতি সপ্তাহে রাতে চলত এবং একটি ফরচুন 500 কোম্পানির সিনিয়র এক্সিকিউটিভদের জন্য প্রায় 2 ডজন এক্সেল প্রতিবেদন তৈরি করে। যখন আমি এটি উত্তরাধিকার সূত্রে পেয়েছি, এটি চালাতে প্রায় 5-6 ঘন্টা সময় লেগেছে এবং যে কোনও সপ্তাহের মধ্যে কমপক্ষে 2 রাত ব্যর্থ হবে।

এই জগাখিচুড়ি দেওয়ার জন্য আমি কোনও খুশি ক্যাম্পার নই।

প্রাথমিকভাবে আমার পরিকল্পনাটি ছিল রক্তপাত বন্ধ করা এবং ব্যর্থতার মূল কারণটি ঠিক করা। আমি কোড বেসটি আরও স্বাচ্ছন্দ্যযুক্ত হওয়ার পরে, আমি সেই জায়গাগুলি সন্ধান করতে শুরু করি যেখানে আমি রিফ্যাক্টর করতে পারি এবং স্থায়িত্ব এবং কার্য সম্পাদন যুক্ত করতে পারি। 2 বছর বা তার বেশি সময় ধরে আমি সিস্টেমে অনেকগুলি, অনেক পরিবর্তন করেছি। আমরা কয়েক বছর আগে সেই ব্যবস্থাটি অবসর নিয়েছি এবং এই পর্যায়ে পুরো প্রক্রিয়াটি চালাতে 45 ​​মিনিট সময় নিয়েছিল এবং কয়েক বছরে কোনও সমস্যা তৈরি হয়নি।

প্রযুক্তিগত debtণ পরিশোধে অনেক কাজ চলে গেল তবে এটি ভাল ছিল, এটির পক্ষে ভাল ছিল। মধ্যরাতে কোনও ফোন কল না পেয়ে খুব ভাল লাগল যে সিস্টেমটি ব্যর্থ হয়েছিল। মনিরিংয়ে অফিসে এসে লগগুলিতে সুসংবাদ ছাড়া কিছুই না দেখে খুব ভাল লাগছিল।

(পাশে ... কয়েক বছর পরে আমি এই ব্যবস্থার মূল বিকাশকারীদের মধ্যে একজনের দিকে ছুটলাম He তিনি আমাকে জিজ্ঞাসা করলেন এটি কীভাবে চলছে এবং আমি তাকে বলেছিলাম যে সিস্টেমটি কতটা খারাপ। তিনি আসলে ক্ষমা চেয়েছিলেন এবং আমাকে বলেছিলেন যে এটি হতে পারে তিনি চলে যাওয়ার পরে মুষ্টিমেয় সমর্থন করার জন্য এবং আশা করেছিলেন যে তিনি এটিতে আরও ভাল কাজ করেছেন)।


8
খুব, বেদনাদায়ক অভিজ্ঞতার মতো শোনাচ্ছে তবে ইতিবাচক ফলাফল সহ। ভাগ করে নেওয়ার জন্য ধন্যবাদ.
আলী

11

আমার অভিজ্ঞতা হয়েছে যে কোড ক্লিনআপের সুবিধাগুলি সর্বাধিক নজরে আসে যখন আমাকে এমন কোড বজায় রাখতে হয় যেখানে ক্লিনআপটি করা হয়নি। ক্লিনআপটি যেখানে সম্পন্ন হয়েছে সেখানে আমার পরিবর্তনগুলি কোডের মাধ্যমে পড়া, পরিবর্তিত হওয়া দরকার দুটি বা দুটি জায়গাগুলি চিহ্নিত করে এবং সেখান থেকে চলে। যদি ক্লিনআপটি সম্পন্ন না হয়ে থাকে তবে কোডটি কয়েকবার পড়ার এবং প্রাথমিকভাবে লেখার (কখনও কখনও আমাকে) লেখার সময় তিনি কী ভাবছিলেন তা বোঝার চেষ্টা করার একটি প্রাথমিক পদক্ষেপ যুক্ত করুন।


2
আমি সম্মত হই - সেরা বেতনটি সাধারণত দেখা যায় না, এবং এটি উত্পাদনশীলতা বৃদ্ধি করে।
মাইকেল কে

5

প্রযুক্তিগত debtণ অপসারণ কম প্রযুক্তিগত সহায়তা দেয় এবং বর্ধনের জন্য আরও ভাল ভিত্তি দেয়

সর্বদা


4
এটি অগত্যা সত্য নয়। ওপির মন্তব্যে শেষ দুটি বুলেট পয়েন্টের অর্থ হল যে আপনার উইলি-নিলির সংশোধন করার কাজ করা উচিত নয়। যদি আপনি দেখতে পান যে খুব কম ব্যবহৃত কোডের টুকরোটি খুব খারাপভাবে লেখা হয়েছে এবং আপনি সেই প্রযুক্তিগত debtণটি নির্মূল করার সিদ্ধান্ত নিয়েছেন, এর অর্থ হল আপনি নতুন কার্যকারিতা যুক্ত করতে পারবেন না বা অন্য কোথাও কোনও প্রযুক্তিগত debtণ অপসারণ করতে পারবেন না, কোথাও বলুন যে আইএস প্রচুর ব্যবহার করেছেন। বাস্তবতাটি হ'ল আমাদের সীমাবদ্ধ সময় রয়েছে এবং প্রযুক্তিগত removeণ অপসারণের সিদ্ধান্তটি আমরা কোথায় এবং কখন স্থির করব।
নেমি 18

@ নেমি: সমস্ত প্রযুক্তি debtণ সমানভাবে তৈরি হয় না; ভাল রায় ব্যবহার করুন।
স্টিভেন এ। লো

1
আমি কেবল মন্তব্য করছিলাম, আপনি জানেন, আপনার পোস্টে সর্বদা বড় সাহসের কারণে। আমার ধারণা আমি আপনার উত্তরটি ভুল বুঝেছি।
নেমি

4

আমার আগের অভিজ্ঞতা ছিল যখন আমি আমার পূর্ববর্তী নিয়োগকর্তায় কোনও সাইট পারফরম্যান্স দল পরিচালনা করছিলাম। প্রতি রাতে, এক ঘণ্টা থেকে দুই ঘন্টা সময়কালের জন্য, আমার দল যে ওয়েবসাইটটি পর্যবেক্ষণ করছে তা সাইট থেকে দ্রুত বট স্ক্র্যাপিংয়ের তথ্যের কারণে গ্রহণযোগ্য পারফরম্যান্সের দ্বার থেকে নীচে নেমে যায়। দলটির সমাধানের জন্য টিম যে ব্যবস্থা নিয়েছিল তাতে হ'ল ম্যানুয়াল অ্যাডমিন সিস্টেমে লগইন করা এবং আইপি অ্যাড্রেসগুলি ব্লক করা যা সমস্যার কারণ হয়ে দাঁড়িয়েছিল isted বলা বাহুল্য, এটি প্রতি দলের প্রায় এক ঘন্টার মধ্যে দলের সদস্যের ঘুমের জন্য ব্যয় করে। আমি কী ঘটছে তা লক্ষ্য করেছিলাম এবং কতটা খারাপ তা দেখতে এবং আমার দলকে কিছুটা বিশ্রাম দেওয়ার জন্য নিজেই ব্ল্যাকবেরিকে অন-কল দিয়েছিলাম।

কয়েক দিন পরে, আমি কেবল দলের ব্যবসায়ের মালিকের কাছে গিয়েছিলাম এবং তাদের জানাতে পারি যে আমরা যদি এমন কোনও স্বয়ংক্রিয় ব্লকিং সিস্টেম বাস্তবায়ন না করি যে সাইটগুলির কার্যকারিতা প্রভাবিত করতে বটগুলিকে আরও বেশি কঠিন সময় কাটাতে হয়, তবে আমরা সম্ভবত হেরে যাব ক্লান্তি এবং জ্বলজ্বলের কারণে দলের সদস্যদের মধ্যে সবাই না থাকলেও। তারা সম্মত হয়েছিল এবং আমরা এমন একটি ব্যবস্থা প্রয়োগ করেছি যা আমাদের রাতের ঘুম পেতে দেয়। ব্যবসায়ের মালিক বুঝতে পেরেছিলেন যে নতুন ইঞ্জিনিয়ারদের নিয়োগ / প্রশিক্ষণের ব্যয়ের তুলনায় কয়েকদিন বা এক সপ্তাহের বিকাশের ব্যয় খুব কম ছিল।


PO / BO এর সাথে সমস্যাটি আলোচনা করার জন্য +1 এটি কীভাবে কাজ করা উচিত (আদর্শভাবে :-))।
সলেস্কে

এবং বিটিডাব্লু, আমি এটিকে প্রযুক্তিগত debtণের উদাহরণও বলব না। এটি স্পষ্টতই একটি অনুপস্থিত বৈশিষ্ট্য যা আপনার দলকে ম্যানুয়াল কাজের দ্বারা ক্ষতিপূরণ দিতে হয়েছিল। আমার সংজ্ঞাটি
হ'ল

2

শেষ দুটি বিষয় সম্পর্কে: আমি বুঝতে পারি যে এটি কোথা থেকে আসছে, তার মূল পোস্টে ব্যাখ্যা করা হয়েছে :

অথবা, এই প্রযুক্তিগত বিষয়গুলি সম্পন্ন করার জন্য কি কিছু বিকাশকারীকে পুনরায় নিয়োগ দেওয়া সম্ভব হবে, যখন দলের বাকি সদস্যরা ব্যবহারকারী-ভিত্তিক স্টাফ চালিয়ে যায়? এটি দলের গতিতে প্রভাব ফেলতে পারে, তবে কী?

"সুতরাং কী" সমান: পণ্যের মালিক এবং অন্যান্য ব্যবসায়-পক্ষের লোকেরা অসন্তুষ্ট হন। এবং যখন মামার অসন্তুষ্ট হয়, তখন সবাই অসন্তুষ্ট হয়।

তবুও, কী করতে হবে এবং কী করা যেতে পারে তার মধ্যে লাইনটি বেশ অস্পষ্ট। ব্যবহারকারী-মুখোমুখি খুব বিস্তৃত এবং এতে ত্রুটিগুলির কার্য সম্পাদন এবং উপস্থিতি অন্তর্ভুক্ত। তবে বেশ কয়েকটি ক্ষেত্রে, দুর্বল কর্মক্ষমতা এবং ত্রুটির উচ্চ উপস্থিতির অন্তর্নিহিত সমস্যাটি কোডের আরও গভীর lies তাঁর কথায় এটি বলতে: কোনও গল্পটি ক্রুফটি অঞ্চলে যেতে না পারে তবে ক্রুফটি অঞ্চলটি এমন কিছু বাজে জিনিস লুকিয়ে রাখতে পারে যা গল্পটির পাশের পরিষ্কার-পরিচ্ছন্নতার উপর আক্রমণ করে।

সামগ্রিক পারফরম্যান্সকে প্রভাবিত করে না এমন জিনিসগুলি পরিষ্কার করা কম আকর্ষণীয়, তবে এই পয়েন্টগুলির প্রভাবকে খুব সতর্কতার সাথে মূল্যায়ন করা উচিত। প্রায়শই না তাদের একটি অপ্রত্যক্ষ প্রভাব থাকে যা বেশ যথেষ্ট পরিমাণে হতে পারে।


2

কারিগরি debtণ পরিশোধের ফলে কোনও সংস্থা সবচেয়ে বেশি সুবিধা পাবে তা যৌগিক সুদ এড়ানো হচ্ছে। নীচে ব্লগ এন্ট্রিতে একটি উদাহরণ রয়েছে যা দেখায় যে কীভাবে কোনও প্রযুক্তিগত debtণের উপরে মূল পরিমাণ $ 160k থেকে মাত্র 5 বছরে $ 430k এ চলে যায়। এটি পুরো সময়ের প্রোগ্রামার লাগবে যে পুরো পরিমাণ debtণ পরিবেশন করতে সম্পূর্ণরূপে নিবেদিত। এটি সিদ্ধান্ত গ্রহণকারীদের দৃষ্টিকোণে রাখতে সহায়তা করবে!

ব্লগ.অক্রোয়ার.কম থেকে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.