১.৫ উপাত্তের উৎস এবং ইনস্ট্রুমেন্টেশন
সারসংক্ষেপ এবং প্রেরণা
একটি মেট্রিক শুধুমাত্র ততটাই বিশ্বাসযোগ্য যতটা এর নিচের উপাত্ত, এবং বেশিরভাগ মেট্রিক প্রোগ্রাম ড্যাশবোর্ড নকশা করতে এগুলোকে খাওয়ানো পাইপলাইন যাচাই করার চেয়ে অনেক বেশি প্রচেষ্টা ব্যয় করে। এটি উল্টো। অসামঞ্জস্যপূর্ণ, স্ব-প্রতিবেদিত, বা নীরবে ভাঙা ইনস্ট্রুমেন্টেশনের উপর তৈরি একটি সুন্দরভাবে নকশাকৃত চার্ট কোনো চার্ট না থাকার চেয়ে খারাপ, কারণ এটি ভুল হওয়ার সময় কর্তৃত্বপূর্ণ দেখায়। এই বিষয়টি সেই অগ্লামারাস ভিত্তি নিয়ে যা এই বইয়ের বাকি অংশ ধরে নেয়: প্রকৌশল উপাত্ত প্রকৃতপক্ষে কোথা থেকে আসে, কখন স্ব-প্রতিবেদনের চেয়ে স্বয়ংক্রিয় ইনস্ট্রুমেন্টেশনকে বিশ্বাস করতে হবে, এবং সেই উপাত্ত-গুণমান ব্যর্থতা যা কেউ লক্ষ্য করার আগেই নীরবে একটি মেট্রিককে অবৈধ করে দেয়।
সফটওয়্যার প্রকৌশল উপাত্ত হাতেগোনা কয়েকটি উৎস প্রকার থেকে আসে, প্রতিটির ভিন্ন নির্ভরযোগ্যতা বৈশিষ্ট্য। ভার্সন কন্ট্রোল এবং CI/CD পাইপলাইন যা প্রকৃতপক্ষে ঘটেছে তার বস্তুনিষ্ঠ, টাইমস্ট্যাম্পযুক্ত, জাল করা কঠিন রেকর্ড তৈরি করে। ইস্যু ট্র্যাকার এবং প্রকল্প ব্যবস্থাপনা টুল এমন রেকর্ড তৈরি করে যা মানুষের সঠিকভাবে ও দ্রুত অবস্থা আপডেট করার উপর নির্ভর করে, যা তারা প্রায়ই অসামঞ্জস্যপূর্ণভাবে করে। জরিপ স্ব-প্রতিবেদিত উপাত্ত তৈরি করে যা এমন জিনিসের জন্য অমূল্য যা কোনো সিস্টেম পর্যবেক্ষণ করতে পারে না, যেমন সন্তুষ্টি, কিন্তু স্মরণ পক্ষপাত এবং সামাজিক আকাঙ্ক্ষিত প্রভাবের সাপেক্ষে। পর্যবেক্ষণযোগ্যতা প্ল্যাটফর্ম সিস্টেম-স্তরের টেলিমেট্রি তৈরি করে যা বস্তুনিষ্ঠ কিন্তু শুধুমাত্র যা ইনস্ট্রুমেন্ট করা হয়েছিল তা আচ্ছাদন করে। একটি নির্দিষ্ট মেট্রিকের উপাত্ত কোন বিভাগ থেকে আসে তা জানা আপনাকে বলে কতটা বিশ্বাস করতে হবে এবং কোন ব্যর্থতার ধরনের জন্য নজর রাখতে হবে।
এন্টারপ্রাইজ ও সরকারি মাত্রায়, উপাত্ত গুণমান সমস্যা সমষ্টিত হয় কারণ উপাত্তের উৎপত্তি এবং একটি ড্যাশবোর্ডে এর চূড়ান্ত ব্যবহারের মধ্যকার দূরত্ব একাধিক সিস্টেম, একীকরণ, এবং রূপান্তরের মধ্য দিয়ে বাড়ে। একটি ক্ষেত্র যা উৎস সিস্টেমে একটি জিনিস বোঝায় তা একটি প্রতিবেদন স্তরে পৌঁছানোর সময় সূক্ষ্মভাবে ভিন্ন কিছু বোঝাতে পারে, এবং নিম্নধারার কেউ লক্ষ্য করে না কারণ সংখ্যাটি এখনও যুক্তিসঙ্গত দেখায়। ইনস্ট্রুমেন্টেশন সঠিক করা কাঠামো সঠিক করার চেয়ে কম উত্তেজনাপূর্ণ, কিন্তু এটি সেই ভিত্তি যার উপর এই বইয়ের বাকি সবকিছু দাঁড়িয়ে আছে।
মূল নীতিসমূহ
- যেখানেই সিস্টেম সরাসরি ঘটনাটি পর্যবেক্ষণ করতে পারে সেখানে স্ব-প্রতিবেদনের চেয়ে ইনস্ট্রুমেন্টেশন পছন্দ করুন। পাইপলাইন থেকে একটি স্থাপনার টাইমস্ট্যাম্প একটি দলের স্ব-প্রতিবেদিত স্থাপনা গণনার চেয়ে বেশি বিশ্বাসযোগ্য।
- যা সরাসরি পর্যবেক্ষণ করা যায় না তার জন্যই শুধুমাত্র স্ব-প্রতিবেদন ব্যবহার করুন। সন্তুষ্টি, অনুভূত ঘর্ষণ, এবং সুস্থতার কোনো রেকর্ড-সিস্টেম বিকল্প নেই; সরাসরি জিজ্ঞাসা করুন এবং জরিপটি ভালোভাবে নকশা করুন (বিষয় ৩.৭)। স্ব-প্রতিবেদন সেই বিভাগের জন্য নির্দিষ্টভাবে সংরক্ষণ করুন।
- প্রতিটি মেট্রিকের উপাত্তের একটি উৎস সিস্টেম, একটি সংগ্রহ পদ্ধতি, এবং একটি পরিচিত ব্যর্থতার ধরন থাকে। শুধু সংজ্ঞা নয়, তিনটিই নথিভুক্ত করুন।
- উপাত্ত গুণমান নীরবে ক্ষয়প্রাপ্ত হয়। একটি পাইপলাইন যা এক বছর আগে সঠিকভাবে কাজ করেছিল তা আজ নীরবে ভাঙা হতে পারে, এবং একটি ড্যাশবোর্ড কোনো অভিযোগ ছাড়াই একটি ভুল সংখ্যা রেন্ডার করতে থাকবে।
- সত্যের বিন্দুতে ইনস্ট্রুমেন্ট করুন, একটি অনুবাদের নিম্নধারায় নয়। ঘটনা এবং ড্যাশবোর্ডের মধ্যকার প্রতিটি হপ অর্থের সরে যাওয়ার একটি সুযোগ।
সুপারিশসমূহ
বিশ্বাস করার আগে প্রতিটি মেট্রিককে তার প্রকৃত উৎস সিস্টেমে মানচিত্র করুন
ড্যাশবোর্ডে প্রতিটি মেট্রিকের জন্য, সেই নির্দিষ্ট সিস্টেমের নাম বলুন যা অন্তর্নিহিত ঘটনাটি তৈরি করে: স্থাপনা ঘটনার জন্য CI/CD পাইপলাইন, কমিট ও মার্জ ঘটনার জন্য ভার্সন কন্ট্রোল হোস্ট, বিভ্রাটের রেকর্ডের জন্য ঘটনা ট্র্যাকার, স্ব-প্রতিবেদিত সন্তুষ্টির জন্য জরিপ প্ল্যাটফর্ম। যদি আপনি সঠিক সিস্টেমটির নাম বলতে না পারেন, আপনি প্রকৃতপক্ষে জানেন না সংখ্যাটি কোথা থেকে আসে, এবং আপনি এর নির্ভরযোগ্যতা মূল্যায়ন করতে পারবেন না। এই মানচিত্রায়ন বিষয় ১.৪-এর গভর্নেন্স সনদের একটি পূর্বশর্ত, একটি পৃথক অনুশীলন নয়।
প্রতিবেদনে নয়, ঘটনায় ইনস্ট্রুমেন্ট করুন
সবচেয়ে নির্ভরযোগ্য উপাত্ত একটি ঘটনা স্বয়ংক্রিয়ভাবে ঘটার মুহূর্তে ধারণ করে: একটি পাইপলাইন একটি স্থাপনা সম্পূর্ণ হওয়ার তাৎক্ষণিকে রেকর্ড করে, একটি ভার্সন কন্ট্রোল সিস্টেম একটি মার্জ অবতরণ করার তাৎক্ষণিকে রেকর্ড করে। যে উপাত্ত একজন মানুষ পরে একটি অবস্থা ক্ষেত্র আপডেট করার কথা মনে রাখার উপর নির্ভর করে, একটি টিকিট “সম্পন্ন” চিহ্নিত করা, একটি স্প্রেডশিটে ম্যানুয়ালি একটি স্থাপনা লগ করা, তা প্রকৃত ঘটনা থেকে যত দূরে বসে থাকে এবং দায়ী ব্যক্তি যত বেশি ব্যস্ত হয়ে ওঠে ততই নির্ভুলতায় অবনতি হয়। যেখানেই একটি স্বয়ংক্রিয় ঘটনা বিদ্যমান, একই তথ্যের জন্য একটি মানব-প্রতিবেদিত প্রক্সির চেয়ে এটি পছন্দ করুন।
শুধুমাত্র একজন ব্যক্তি আপনাকে যা বলতে পারে তার জন্য জরিপ সংরক্ষণ করুন
কিছু জিনিস প্রকৃতপক্ষে সিস্টেম টেলিমেট্রি থেকে পর্যবেক্ষণ করা যায় না: একজন প্রকৌশলী তাদের কাজকে অর্থপূর্ণ মনে করেন কিনা, একটি প্রক্রিয়া হতাশাজনক মনে হয় কিনা, বার্নআউট ঝুঁকি বাড়ছে কিনা। এগুলোর সরাসরি জিজ্ঞাসা প্রয়োজন, এবং একটি ভালোভাবে নকশাকৃত জরিপ (বিষয় ৩.৭ প্রক্রিয়া আচ্ছাদন করে) সঠিক টুল। ভুলটি হলো একটি সিস্টেম সরাসরি পর্যবেক্ষণ করতে পারত এমন জিনিসের জন্য স্ব-প্রতিবেদন ব্যবহার করা, প্রকৌশলীদের তাদের নিজের স্থাপনা ফ্রিকোয়েন্সি অনুমান করতে বলা পাইপলাইন থেকে এটি টেনে আনার বদলে, যা এমন উপাত্তে অপ্রয়োজনীয় শোরগোল ও পক্ষপাত প্রবর্তন করে যা বস্তুনিষ্ঠ হতে পারত।
পাইপলাইনে নিজেই উপাত্ত-গুণমান পরীক্ষা তৈরি করুন
উৎপাদন কোডের মতোই একই কঠোরতার সাথে মেট্রিক পাইপলাইনগুলোর সাথে আচরণ করুন: স্বয়ংক্রিয় পরীক্ষা যোগ করুন যা চিহ্নিত করে কখন একটি উৎস উপাত্ত পাঠানো বন্ধ করে দেয়, কখন একটি ক্ষেত্রের বিতরণ অপ্রত্যাশিতভাবে সরে যায়, বা কখন একটি গণনা অপ্রত্যাশিতভাবে শূন্যে নেমে যায়। একটি ড্যাশবোর্ড যা নীরবে বাসি বা ভাঙা উপাত্তকে বর্তমান হিসেবে রেন্ডার করে তা দৃশ্যমানভাবে “উপাত্ত অনুপলব্ধ” দেখানো একটি ড্যাশবোর্ডের চেয়ে খারাপ, কারণ প্রথমটি অদৃশ্যভাবে বিশ্বাস ক্ষয় করে যখন দ্বিতীয়টি অন্তত এর নিজের সীমাবদ্ধতা সম্পর্কে সত্য বলে।
সংজ্ঞার পাশাপাশি সংগ্রহ পদ্ধতি নথিভুক্ত করুন
একটি মেট্রিকের সংজ্ঞা (“পরিবর্তনের জন্য অগ্রগতির সময়”) এর সংগ্রহ পদ্ধতি ছাড়া সম্পূর্ণ নয় (ভার্সন কন্ট্রোলে প্রথম কমিট টাইমস্ট্যাম্প থেকে পাইপলাইনে উৎপাদন স্থাপনা টাইমস্ট্যাম্প পর্যন্ত পরিমাপ করা, হটফিক্স শাখা বাদ দিয়ে)। একই সংজ্ঞা কিন্তু ভিন্ন সংগ্রহ পদ্ধতিসহ দুটি দল এখনও অতুলনীয় সংখ্যা উৎপাদন করবে। বিষয় ১.৪-এর মেট্রিক সনদে উভয়ই রেকর্ড করুন, এবং যে কোনোটির পরিবর্তনকে একই নথিভুক্ত পর্যালোচনা প্রয়োজন এমন একটি পরিবর্তন হিসেবে বিবেচনা করুন।
মূল্যবিচার: ভালো ও মন্দ দিক
| উৎস প্রকার | ভালো দিক | মন্দ দিক |
|---|---|---|
| স্বয়ংক্রিয় পাইপলাইন ইনস্ট্রুমেন্টেশন (CI/CD, ভার্সন কন্ট্রোল) | বস্তুনিষ্ঠ, টাইমস্ট্যাম্পযুক্ত, জাল করা কঠিন, কম চলমান প্রচেষ্টা | তৈরি ও রক্ষণাবেক্ষণ করতে আগাম প্রকৌশল বিনিয়োগ প্রয়োজন |
| ইস্যু ট্র্যাকার এবং প্রকল্প ব্যবস্থাপনা উপাত্ত | ব্যাপকভাবে উপলব্ধ, দলের কাছে পরিচিত | মানুষের অধ্যবসায়ের উপর নির্ভরশীল; প্রায়ই দল জুড়ে অসামঞ্জস্যপূর্ণ |
| জরিপ এবং স্ব-প্রতিবেদন | বিষয়ীগত অভিজ্ঞতার (সন্তুষ্টি, সুস্থতা) একমাত্র উৎস | স্মরণ পক্ষপাত, সামাজিক আকাঙ্ক্ষিত পক্ষপাত, প্রতিক্রিয়া ক্লান্তি |
| পর্যবেক্ষণযোগ্যতা এবং টেলিমেট্রি প্ল্যাটফর্ম | সমৃদ্ধ, প্রকৃত-সময়, সিস্টেম-স্তরের সংকেত | শুধুমাত্র যা স্পষ্টভাবে ইনস্ট্রুমেন্ট করা হয়েছিল তা আচ্ছাদন করে; মাত্রায় ব্যয়বহুল হতে পারে |
কেন্দ্রীয় টানাপোড়েন হলো বস্তুনিষ্ঠতা বনাম আওতা। স্বয়ংক্রিয় ইনস্ট্রুমেন্টেশন সবচেয়ে বিশ্বাসযোগ্য উৎস কিন্তু বিষয়ীগত অভিজ্ঞতা মোটেও পর্যবেক্ষণ করতে পারে না, যখন জরিপ ঠিক তাই পৌঁছাতে পারে যা স্বয়ংক্রিয়তা পারে না কিন্তু প্রকৃত পক্ষপাতের ঝুঁকি বহন করে। যেখানেই একটি ঘটনা সরাসরি পর্যবেক্ষণ করা যায় সেখানে স্বয়ংক্রিয় ইনস্ট্রুমেন্টেশন ব্যবহার করে, এবং একটি সিস্টেম যা প্রদান করতে পারত তার জন্য একটি অলস বিকল্প হিসেবে নয়, শুধুমাত্র যা প্রকৃতপক্ষে একজন ব্যক্তিকে জিজ্ঞাসা করা প্রয়োজন তার জন্য নির্দিষ্টভাবে ও শুধুমাত্র স্ব-প্রতিবেদন সংরক্ষণ করে এটি সমাধান করুন।
আপনার দলের সাথে আলোচনার প্রশ্ন
১. আমাদের পাঁচটি সবচেয়ে গুরুত্বপূর্ণ মেট্রিকের জন্য, আমরা কি প্রতিটির সঠিক উৎস সিস্টেম ও সংগ্রহ পদ্ধতি নাম দিতে পারি, নাকি আমরা উপাত্ত প্রকৃতপক্ষে কোথা থেকে আসে তা না জেনেই একটি সংজ্ঞা ধরে নিচ্ছি? এটি একটি বিস্ময়করভাবে সাধারণ ফাঁক: একটি মেট্রিক একটি কাঠামো বা একটি বিক্রেতার ডিফল্ট ড্যাশবোর্ড থেকে গৃহীত হয়, এবং বর্তমান দলের কেউ প্রকৃতপক্ষে জানে না কোন সিস্টেম অন্তর্নিহিত উপাত্ত তৈরি করে বা কীভাবে। একটি গোষ্ঠী অনুশীলন হিসেবে প্রতিটিকে এর উৎপত্তিতে ট্রেস করুন।
২. আমাদের কোন মেট্রিক এমন কিছুর জন্য স্ব-প্রতিবেদনের উপর নির্ভর করে যা একটি সিস্টেম সরাসরি পর্যবেক্ষণ করতে পারত, এবং সেই স্ব-প্রতিবেদনকে প্রকৃত ইনস্ট্রুমেন্টেশন দিয়ে প্রতিস্থাপন করতে কী লাগবে? স্ব-প্রতিবেদিত স্থাপনা গণনা, স্ব-প্রতিবেদিত কর্মঘণ্টা, এবং স্ব-অনুমানিত চক্র সময় সবই স্বয়ংক্রিয়তা আরও নির্ভরযোগ্যভাবে ধারণ করতে পারত এমন কিছুর জন্য ভুল উপাত্ত উৎস ব্যবহারের সাধারণ উদাহরণ। এগুলো চিহ্নিত করুন এবং সবচেয়ে উচ্চ-বাজিরগুলো প্রতিস্থাপনে অগ্রাধিকার দিন।
৩. আমরা কীভাবে জানব যদি আমাদের একটি উপাত্ত পাইপলাইন নীরবে ভেঙে যায়? বেশিরভাগ প্রতিষ্ঠান শুধুমাত্র তখনই একটি ভাঙা মেট্রিক পাইপলাইন আবিষ্কার করে যখন কেউ লক্ষ্য করে একটি সংখ্যা অযৌক্তিক দেখায়, যা মাসের পর মাস সময় নিতে পারে। আলোচনা করুন আজ আপনার কোনো পাইপলাইনের স্বয়ংক্রিয় স্বাস্থ্য পরীক্ষা আছে কিনা, এবং যদি না থাকে, কোনগুলোর প্রথমে সবচেয়ে বেশি প্রয়োজন।
৪. সিস্টেমের মধ্যে একটি অনুবাদ কোথায় কেউ ইচ্ছাকৃতভাবে সিদ্ধান্ত না নিয়েই একটি মেট্রিকের অর্থ পরিবর্তন করেছে? একটি ক্ষেত্র যা একটি উৎস সিস্টেমে একটি জিনিস বোঝায় তা একটি একীকরণ বা মাইগ্রেশনের পরে সূক্ষ্মভাবে ভিন্ন কিছু বোঝাতে পারে, এবং ফলস্বরূপ সংখ্যা ভুল হওয়ার সময় যুক্তিসঙ্গত দেখাতে পারে। আপনার সবচেয়ে পরিণতিমূলক মেট্রিকের সম্পূর্ণ উপাত্ত পথ হাঁটুন এবং অনুবাদ বিন্দুর জন্য দেখুন।
৫. আমরা কি আমাদের মেট্রিক সনদের জন্য শুধু সংজ্ঞা নয়, সংগ্রহ পদ্ধতিও নথিভুক্ত করি? দুটি দল একটি মেট্রিকের নাম ও সংজ্ঞা ভাগ করতে পারে যখন ভিন্ন সংগ্রহ পদ্ধতি থেকে এটি গণনা করে, এমন সংখ্যা উৎপাদন করে যা প্রকৃতপক্ষে তুলনাযোগ্য নয়। এই নির্দিষ্ট ফাঁকের বিরুদ্ধে আপনার সনদের একটি নমুনা নিরীক্ষা করুন।
৬. যখন একটি সংখ্যা অপ্রত্যাশিতভাবে সরে যায় তখন আমরা কীভাবে একটি প্রকৃত প্রবণতা ও একটি উপাত্ত-গুণমান নিদর্শনের মধ্যে পার্থক্য করি? একটি মেট্রিকে একটি হঠাৎ পরিবর্তন প্রায়ই একটি প্রকৃত পরিবর্তন বা একটি ভাঙা পাইপলাইনের প্রথম চিহ্ন, এবং দুটির মধ্যে পার্থক্য করতে দ্রুত তদন্ত করার জন্য যথেষ্ট ভালোভাবে উপাত্ত উৎস জানা প্রয়োজন। আপনার দলের শেষ অব্যাখ্যাত মেট্রিক পরিবর্তনের জন্য প্রকৃত প্রক্রিয়া নিয়ে আলোচনা করুন।
ক্ষেত্র লেন্স
স্টার্টআপ। একটি ছোট স্ট্যাকসহ, আপনার বেশিরভাগ মেট্রিক কাস্টম পাইপলাইন তৈরি না করেই সরাসরি আপনার CI/CD প্রদানকারী, ভার্সন কন্ট্রোল হোস্ট, এবং একটি হালকা জরিপ টুল থেকে আসতে পারে। ঝুঁকি হলো এমনকি মৌলিক স্বাস্থ্য পরীক্ষা এড়িয়ে যাওয়া কারণ দলটি দ্রুত চলছে; একটি পাঁচ-মিনিটের স্বয়ংক্রিয় পরীক্ষা যে একটি উপাত্ত উৎস এখনও ঘটনা পাঠাচ্ছে তা নীরবে অন্ধভাবে উড়ার বিরুদ্ধে সস্তা বীমা।
ছোট ব্যবসা। আপনার রক্ষণাবেক্ষণ করার ক্ষমতা নেই এমন কাস্টম উপাত্ত পাইপলাইন তৈরি করার বদলে আপনার বিদ্যমান টুলের বিল্ট-ইন প্রতিবেদনের উপর নির্ভর করুন। কোন সংখ্যাগুলো স্বয়ংক্রিয় সিস্টেম থেকে আসে এবং কোনগুলো কেউ একটি স্প্রেডশিটে টাইপ করা অনুমান সে সম্পর্কে স্পষ্ট হোন, কারণ দুটি খুব ভিন্ন নির্ভরযোগ্যতা বহন করে, এমনকি যদি সেগুলো একই পৃষ্ঠায় শেষ হয়।
এন্টারপ্রাইজ। উপাত্ত গুণমান সমস্যা একীকরণ, মাইগ্রেশন, এবং ব্যবসায়িক-ইউনিট সীমানা জুড়ে সমষ্টিত হয়। আপনার সবচেয়ে পরিণতিমূলক মেট্রিকের জন্য কেন্দ্রীভূত, ভালোভাবে পর্যবেক্ষিত উপাত্ত পাইপলাইনে বিনিয়োগ করুন, একটি মানসম্মত অনুশীলন হিসেবে স্বয়ংক্রিয় উপাত্ত-গুণমান পরীক্ষা তৈরি করুন, এবং ব্যবসায়িক ইউনিট জুড়ে মেট্রিক তুলনা করার সময় শুধু সংজ্ঞা নয়, সংগ্রহ পদ্ধতিও নিরীক্ষা করুন।
সরকার। উপাত্তের উৎপত্তি আইনগত ও নিরীক্ষা ওজন বহন করতে পারে: একটি প্রকাশিত কর্মক্ষমতা সংখ্যা শুধু এর মূল্যের নয় বরং এর সম্পূর্ণ সংগ্রহ শৃঙ্খলের একটি বাহ্যিক নিরীক্ষা টিকে থাকতে হতে পারে। উপাত্তের বংশগতি স্পষ্টভাবে নথিভুক্ত করুন, একটি পদ্ধতি পরিবর্তনের পরেও ঐতিহাসিক সংগ্রহ-পদ্ধতি রেকর্ড ধরে রাখুন, এবং একটি সংখ্যা বর্তমানে কী পড়ে তা নয়, ঠিক কীভাবে এটি উৎপাদিত হয়েছিল তা প্রদর্শনের জন্য প্রস্তুত থাকুন।
উদাহরণ
এন্টারপ্রাইজ। একটি আর্থিক সেবা কোম্পানির প্রকৌশল নেতৃত্ব দুই বছর ধরে “পরিবর্তনের জন্য অগ্রগতির সময়” ট্র্যাক করছিল এটি আবিষ্কার করার আগে যে আঠারো মাস আগে একটি উপাত্ত পাইপলাইন মাইগ্রেশন নীরবে টাইমস্ট্যাম্প উৎসকে প্রথম কমিট থেকে পুল অনুরোধ তৈরিতে পরিবর্তন করেছিল, প্রতিটি দল জুড়ে গড়ে কয়েক ঘণ্টা প্রদর্শিত অগ্রগতির সময় কমিয়ে দিয়েছিল কেউ পরিবর্তনটি লক্ষ্য করা বা অনুমোদন না করেই। সমাধান একটি উপাত্ত-গুণমান পরীক্ষা প্রতিষ্ঠিত করেছিল যা প্রতি সপ্তাহে প্রতিটি মেট্রিকের বিতরণ তুলনা করে এবং মানব পর্যালোচনার জন্য পরিসংখ্যানগতভাবে অস্বাভাবিক পরিবর্তন চিহ্নিত করে, পরবর্তী বছরে আরও দুটি নীরব পাইপলাইন সমস্যা ধরে ফেলে।
সরকার। একটি পরিবহন সংস্থার সরকারি-মুখী সেবা-নির্ভরযোগ্যতা ড্যাশবোর্ড স্বয়ংক্রিয় সেন্সর টেলিমেট্রি এবং আঞ্চলিক অফিস থেকে ম্যানুয়ালি প্রবেশ করানো ঘটনা প্রতিবেদনের মিশ্রণের উপর নির্ভর করেছিল। একটি নিরীক্ষায় পাওয়া গেছে যে কম কর্মী ক্ষমতাসহ অঞ্চলগুলো পদ্ধতিগতভাবে ছোটখাট ঘটনা অ-প্রতিবেদন করছিল, অসততার কারণে নয় বরং কারণ ম্যানুয়াল প্রবেশ আরও জরুরি কাজের সাথে সময়ের জন্য প্রতিযোগিতা করেছিল, যার অর্থ প্রকাশিত নির্ভরযোগ্যতা সংখ্যা ঠিক সেই অঞ্চলগুলোতে বাস্তবতার চেয়ে ভালো ছিল যেগুলো অ-সম্পদায়িত রক্ষণাবেক্ষণকে অলক্ষিত থাকতে দেওয়ার সাধ্য সবচেয়ে কম রাখত। সংস্থার সমাধান যেখানেই সম্ভব ম্যানুয়াল ঘটনা প্রবেশকে স্বয়ংক্রিয় সেন্সর-ট্রিগার লগিং দিয়ে প্রতিস্থাপন করেছিল এবং প্রকাশিত সংখ্যার পাশাপাশি ম্যানুয়াল-প্রতিবেদন আওতার একটি নথিভুক্ত অনুমান যোগ করেছিল।
ব্যবসায়িক যুক্তি: প্রেরণা, ROI, এবং TCO
শক্তিশালী ইনস্ট্রুমেন্টেশনের রিটার্ন হলো আত্মবিশ্বাস: একটি নেতৃত্ব দল যা তার উপাত্তে বিশ্বাস করে তা এর উপর সিদ্ধান্তমূলকভাবে কাজ করতে পারে, যখন একটি দল যা একটি নীরবে ভাঙা পাইপলাইন দ্বারা পুড়ে গেছে প্রতিটি সংখ্যাকে পুনর্বিবেচনা করা শুরু করে, যা মেট্রিকের উপর নির্ভরশীল প্রতিটি সিদ্ধান্তকে ধীর করে দেয়। সেই আত্মবিশ্বাসের ক্ষতি ব্যয়বহুল এবং মেরামত করা কঠিন, প্রায়ই মূল ইনস্ট্রুমেন্টেশন বিনিয়োগের খরচের চেয়ে অনেক বেশি সময় নিয়ে পুনর্নির্মাণ করতে।
ভালো ইনস্ট্রুমেন্টেশনের মোট মালিকানা খরচ নির্ভরযোগ্য পাইপলাইন তৈরির আগাম প্রকৌশল কাজ এবং উপাত্ত-গুণমান পর্যবেক্ষণের চলমান খরচ অন্তর্ভুক্ত করে, উভয়ই কম-বিনিয়োগ করা সহজ কারণ কোনোটিই নিজস্ব একটি দৃশ্যমান ড্যাশবোর্ড টাইল উৎপাদন করে না। সেই কম-বিনিয়োগ একটি মিথ্যা অর্থনীতি: খারাপ উপাত্তে মাসের পর মাস সিদ্ধান্ত নেওয়ার পরে একটি নীরবে ভাঙা পাইপলাইন আবিষ্কার করার খরচ প্রথম দিনে এটি ধরত এমন স্বাস্থ্য পরীক্ষা তৈরি করার খরচের চেয়ে অনেক বেশি।
বিরোধী প্যাটার্ন এবং ফাঁদ
- এর উৎস সিস্টেম না জেনে একটি সংখ্যায় বিশ্বাস করা: একটি কাঠামো বা বিক্রেতা ডিফল্ট থেকে গৃহীত একটি মেট্রিক যেখানে কেউ উপাত্ত প্রকৃতপক্ষে কোথা থেকে আসে তা ট্রেস করে না।
- একটি সিস্টেম সরাসরি পর্যবেক্ষণ করতে পারত এমন কিছু স্ব-প্রতিবেদন করা: এমন উপাত্তে অপ্রয়োজনীয় শোরগোল ও পক্ষপাত প্রবর্তন করে যা বস্তুনিষ্ঠ হতে পারত।
- একটি মেট্রিক পাইপলাইনে কোনো স্বয়ংক্রিয় উপাত্ত-গুণমান পরীক্ষা নেই: একটি নীরবে ভাঙা পাইপলাইন মাসের পর মাস অনাবিষ্কৃত ভুল সংখ্যা রেন্ডার করতে পারে।
- শুধু সংজ্ঞা নথিভুক্ত করা, সংগ্রহ পদ্ধতি নয়: একই মেট্রিক নামসহ দুটি দল এখনও অতুলনীয় সংখ্যা গণনা করতে পারে।
- একটি ড্যাশবোর্ড যা “০” বা বাসি উপাত্তকে বর্তমান হিসেবে রেন্ডার করে, উৎস ব্যর্থতার কোনো ইঙ্গিত ছাড়াই: একটি দৃশ্যমান “উপাত্ত অনুপলব্ধ” বার্তার চেয়ে খারাপ।
- অ-সম্পদায়িত অঞ্চল বা দল ম্যানুয়াল প্রবেশ বোঝার কারণে পদ্ধতিগতভাবে অ-প্রতিবেদন করছে: একটি উপাত্ত-গুণমান ফাঁক যা ঠিক সেই ক্ষেত্রগুলোর সাথে সম্পর্কিত যেগুলোর সবচেয়ে বেশি মনোযোগ প্রয়োজন।
পরিপক্বতা মডেল
- স্তর ১, শুরু: কেউ নির্ভরযোগ্যভাবে একটি মেট্রিককে তার উৎস সিস্টেমে ফিরিয়ে ট্রেস করতে পারে না; পাইপলাইনের কোনো স্বাস্থ্য পরীক্ষা নেই এবং ব্যর্থতা অলক্ষিত থাকে।
- স্তর ২, উন্নয়ন: কিছু মেট্রিকের নথিভুক্ত উৎস আছে, কিন্তু সংগ্রহ পদ্ধতি অসামঞ্জস্যপূর্ণ এবং উপাত্ত-গুণমান পরীক্ষা সর্বোত্তমভাবে অস্থায়ী।
- স্তর ৩, মানসম্মতকরণ: প্রতিটি গভর্নেড মেট্রিক তার উৎস সিস্টেম ও সংগ্রহ পদ্ধতি নথিভুক্ত করে; যেখানেই একটি ঘটনা সরাসরি পর্যবেক্ষণ করা যায় সেখানে স্ব-প্রতিবেদনের চেয়ে স্বয়ংক্রিয় পাইপলাইন পছন্দ করা হয়।
- স্তর ৪, ব্যবস্থাপনা: স্বয়ংক্রিয় উপাত্ত-গুণমান পরীক্ষা প্রতিটি পরিণতিমূলক পাইপলাইন পর্যবেক্ষণ করে, পর্যালোচনার জন্য অসঙ্গতি চিহ্নিত করে, এবং উপাত্তের বংশগতি নথিভুক্ত ও নিরীক্ষাযোগ্য।
- স্তর ৫, সমন্বয়: প্রতিষ্ঠান উপাত্ত গুণমানকে নিজস্ব পর্যবেক্ষণ ও ঘটনা প্রতিক্রিয়াসহ একটি প্রথম-শ্রেণির প্রকৌশল শৃঙ্খলা হিসেবে বিবেচনা করে, এবং চাহিদা অনুযায়ী যে কোনো প্রকাশিত মেট্রিকের সম্পূর্ণ উৎস প্রদর্শন করতে পারে।
আলোচনার জন্য ধারণা
১. আমরা কি এই সভায়, লাইভভাবে, এখনই আমাদের শীর্ষ তিনটি মেট্রিককে তাদের সঠিক উৎস সিস্টেমে ফিরিয়ে ট্রেস করতে পারতাম? ২. আমাদের কোন বর্তমান মেট্রিক এমন কিছুর জন্য স্ব-প্রতিবেদনের উপর নির্ভর করে যা একটি সিস্টেম সরাসরি পরিমাপ করতে পারত? ৩. আমাদের কোনো মেট্রিক পাইপলাইনের কি আজ স্বয়ংক্রিয় স্বাস্থ্য পরীক্ষা আছে? ৪. আমরা শেষ কখন একটি নীরবে ভাঙা উপাত্ত পাইপলাইন আবিষ্কার করেছি, এবং এটি কতদিন ভুল ছিল? ৫. ম্যানুয়াল উপাত্ত প্রবেশ কোথায় প্রতিবেদিত ও প্রকৃত বাস্তবতার মধ্যে একটি ফাঁক তৈরি করে?
মূল বিষয়সমূহ
- যেখানেই একটি সিস্টেম সরাসরি ঘটনা পর্যবেক্ষণ করতে পারে সেখানে স্ব-প্রতিবেদনের চেয়ে স্বয়ংক্রিয় ইনস্ট্রুমেন্টেশন পছন্দ করুন; প্রকৃতপক্ষে বিষয়ীগত অভিজ্ঞতার জন্য স্ব-প্রতিবেদন সংরক্ষণ করুন।
- প্রতিটি মেট্রিকের একটি নথিভুক্ত উৎস সিস্টেম ও সংগ্রহ পদ্ধতি প্রয়োজন, শুধু একটি সংজ্ঞা নয়।
- উপাত্ত গুণমান নীরবে ক্ষয়প্রাপ্ত হয়; দুর্ঘটনাক্রমে ভাঙন আবিষ্কার করার বদলে পাইপলাইনে নিজেই স্বয়ংক্রিয় পরীক্ষা তৈরি করুন।
- একটি অনুবাদের নিম্নধারায় নয়, ঘটনায় ইনস্ট্রুমেন্ট করুন, যাতে যা ঘটেছিল এবং ড্যাশবোর্ড যা দেখায় তার মধ্যকার সরণ ন্যূনতম হয়।
- একটি নীরবে ভাঙা পাইপলাইনের খরচ, খারাপ উপাত্তে নেওয়া মাসের পর মাস সিদ্ধান্ত, এটি ধরত এমন স্বাস্থ্য পরীক্ষার খরচকে অনেক বেশি ছাড়িয়ে যায়।
তথ্যসূত্র এবং অতিরিক্ত পাঠ
- Observability Engineering, লেখক Charity Majors, Liz Fong-Jones, এবং George Miranda (ইনস্ট্রুমেন্টেশন ও টেলিমেট্রি নকশা নীতি)।
- Accelerate: The Science of Lean Software and DevOps, লেখক Nicole Forsgren, Jez Humble, এবং Gene Kim (DORA মেট্রিকের পেছনের ইনস্ট্রুমেন্টেশন পদ্ধতি)।
- Data Quality: The Accuracy Dimension, লেখক Jack E. Olson (মেট্রিক পাইপলাইনে প্রযোজ্য উপাত্ত-গুণমান ধারণা)।
- How to Measure Anything, লেখক Douglas W. Hubbard (এমন পরিমাণের জন্য পরিমাপ পদ্ধতি যা সরাসরি পর্যবেক্ষণ করা কঠিন মনে হয়)।