1.7 প্রকৌশল মান ও ব্যতিক্রম
পরিচিতি ও প্রেরণা
একটি প্রকৌশল মান হলো কাজ কীভাবে করা হবে সে সম্পর্কে নথিবদ্ধ, সম্মত নিয়ম। যেমন, “সব সার্ভিসকে একটি হেলথ-চেক এন্ডপয়েন্ট প্রকাশ করতে হবে”, অথবা “সব প্রকাশ্য ওয়েব পাতাকে WCAG (ওয়েব কনটেন্ট অ্যাক্সেসিবিলিটি গাইডলাইনস) 2.2 স্তর AA পূরণ করতে হবে।” একটি মান পরামর্শ নয়, নিছক রীতিও নয়। এটি এমন একটি প্রতিশ্রুতি, যা প্রতিষ্ঠান নিজের ওপর বহন করে, আদর্শভাবে যা আপনি যাচাই করতে পারেন। এই অধ্যায় মানের পূর্ণ জীবনচক্র নিয়ে, একটি বড় প্রতিষ্ঠান কীভাবে তা রচনা, প্রকাশ, গ্রহণ, প্রয়োগ ও বিবর্তিত করে, এবং সমান গুরুত্বপূর্ণভাবে, যেসব ঘটনা বৈধভাবে মানের বাইরে পড়ে সেগুলো কীভাবে একটি নিয়ন্ত্রিত ব্যতিক্রম প্রক্রিয়ার (যাকে ছাড় প্রক্রিয়াও বলা হয়) মাধ্যমে সামলায়: একটি নির্ধারিত কারণে মান থেকে বিচ্যুত হওয়ার নথিবদ্ধ, সময়সীমাবদ্ধ অনুমতি।
প্রেরণাটি হলো, বড় পরিসরে অনানুষ্ঠানিক রীতি কাজ করা বন্ধ করে। পাঁচজন ইঞ্জিনিয়ার একটি ঘর ভাগ করলে “এখানে আমরা যেভাবে কাজ করি” আলাপ ও আত্মীকরণের মাধ্যমে ছড়ায়। পাঁচ হাজার ইঞ্জিনিয়ার যখন ডজন ডজন দল, তিনটি সময় অঞ্চল এবং এক দশকের কর্মী বদল জুড়ে বিস্তৃত, তখন সেই অন্তর্নিহিত জ্ঞান শত শত বেমানান স্থানীয় অভ্যাসে খণ্ডিত হয়। মান হলো আপনার কষ্টে অর্জিত শিক্ষা একবার লিখে রাখার উপায়, যাতে প্রতিটি দল প্রতিটি শিক্ষা নিজের বিভ্রাটের মাধ্যমে আবার শেখার বদলে তা উত্তরাধিকারসূত্রে পায়। এগুলো জ্ঞানীয় বোঝা কমায়, কোড রিভিউ-কে শৈলীর বদলে সারবস্তু নিয়ে করে, মানুষকে দলগুলোর মধ্যে সরতে দেয়, এবং নিরীক্ষক ও নিয়ন্ত্রকদের মূল্যায়নের জন্য সুনির্দিষ্ট কিছু দেয়।
কিন্তু মানের নিজস্ব ব্যর্থতার ধরনও আছে: অনমনীয়তা। যে মান কোনো ব্যতিক্রম স্বীকার করে না, তা শিগগির বা পরে বৈধ কাজ আটকে দেবে: একটি স্পাইক, বিক্রেতার সীমাবদ্ধতা, প্রকৃত নতুন ঘটনা, যা রচয়িতারা কখনো কল্পনা করেননি। তখন দলগুলো হয় থেমে যায়, নয়তো, আরও খারাপ, নিঃশব্দে মান উপেক্ষা করে, যা প্রতিটি মানের বিশ্বাসযোগ্যতা ক্ষয় করে। প্রতিকার হলো পুরোনো প্রবাদ “ব্যতিক্রমই নিয়মকে প্রমাণ করে।” একটি দৃশ্যমান, নীতিনিষ্ঠ ব্যতিক্রম প্রক্রিয়াই মানগুলোকে একই সঙ্গে বিশ্বাসযোগ্য ও মানবিক রাখে। এই অধ্যায় সিদ্ধান্ত গ্রহণ ও গভর্নেন্স (অধ্যায় 1.5) এবং সিদ্ধান্তের নথির (অধ্যায় 1.6) ওপর দাঁড়িয়ে, এবং সরাসরি কোডিং মান ও শৈলী (অধ্যায় 2.1), চেকলিস্ট (অধ্যায় 12.2) ও টেমপ্লেটকে (অধ্যায় 12.3) জোগান দেয়।
মূল নীতিসমূহ
- একটি মান একটি ফলাফল বলে এবং কারণ দেয়। নিয়ম ও যুক্তি; কেন ছাড়া মানুষ বিচার করতে পারে না কখন তা সত্যিই প্রযোজ্য।
- যা যাচাই করা যায় না, তা এখনো মান নয়। আকাঙ্ক্ষার চেয়ে পরীক্ষণযোগ্য বিবৃতিকে অগ্রাধিকার দিন।
- মান জীবন্ত দলিল। সেগুলো ভার্সনযুক্ত, মালিকানাযুক্ত, তারিখযুক্ত ও সংশোধিত হয়, পাথরে খোদাই করে ফেলে রাখা হয় না।
- যেখানে পারেন প্রয়োগ স্বয়ংক্রিয় করুন; মানুষের পর্যালোচনা রাখুন বিচারের জন্য। যন্ত্র যান্ত্রিকটি যাচাই করে; মানুষ অর্থপূর্ণটি যাচাই করে।
- বিচ্যুতি প্রত্যাশিত, লজ্জার নয়, কিন্তু তা দৃশ্যমান হতে হবে। সৎ ছাড় নিঃশব্দ অ-মান্যতার চেয়ে প্রতিবারই ভালো।
- প্রতিটি ব্যতিক্রমে সময়সীমা দিন। স্থায়ী ব্যতিক্রম মানের ত্রুটি; তা সামনে আনুন এবং মান সারান।
- জার্গন ও আদেশের চেয়ে শব্দ ও উদাহরণ। মানুষ সেই মান মেনে চলে যা তারা বোঝে এবং যা থেকে নকল করতে পারে।
সুপারিশ
স্পষ্ট, পরীক্ষণযোগ্য ও যুক্তিযুক্ত মান লিখুন
একটি ভালো মান একটি সংক্ষিপ্ত, স্বয়ংসম্পূর্ণ দলিল, যার আকার পূর্বানুমেয়, যাতে পাঠকেরা জানেন কোথায় দেখতে হবে। একটি মান টেমপ্লেট (অধ্যায় 12.3) গ্রহণ করুন এবং সর্বত্র ব্যবহার করুন। অপরিহার্য অংশের মধ্যে আছে:
- শিরোনাম ও শনাক্তকারী: উদ্ধৃতির জন্য একটি স্থিতিশীল নাম ও রেফারেন্স নম্বর।
- অবস্থা: খসড়া, সক্রিয়, প্রতিস্থাপিত, বা অবসানিত, তারিখসহ।
- নিয়ম: একটি ফলাফল হিসেবে বর্ণিত, সরল ও দ্ব্যর্থহীনভাবে (“must”, “should”, “may” সুচিন্তিতভাবে ব্যবহৃত, প্রয়োজনীয়তার কীওয়ার্ডের জন্য RFC 2119 রীতি অনুযায়ী)।
- যুক্তি: কেন এই নিয়ম আছে; এটি কোন খরচ বা ঝুঁকি ঠেকায়।
- উদাহরণ: একটি মান্য উদাহরণ ও একটি অমান্য উদাহরণ; সুনির্দিষ্ট বিমূর্তের চেয়ে ভালো।
- কীভাবে যাচাই করা হয়: স্বয়ংক্রিয় পরীক্ষা, লিন্টার নিয়ম, বা পর্যালোচনা ধাপ, যা এটি যাচাই করে।
- মালিক ও পর্যালোচনার তারিখ: কে এটি রক্ষণাবেক্ষণ করেন এবং পরবর্তীবার কবে পুনর্বিবেচিত হবে।
যুক্তি এবং “কীভাবে যাচাই করা হয়” ক্ষেত্রগুলোই একটি প্রকৃত মান থেকে ইচ্ছেকে আলাদা করে। একটি নিয়ম কেন আছে তা বলতে না পারলে প্রশ্ন তুলুন তা থাকা উচিত কি না। মান্যতা কীভাবে যাচাই হয় তা বলতে না পারলে নিয়মটি অসঙ্গতভাবে প্রযুক্ত হবে এবং বিরক্তি জন্মাবে।
প্রতিটি মানের সঙ্গে একটি ভালো-চর্চার চেকলিস্ট জুড়ুন
মান গন্তব্য সংজ্ঞায়িত করে। একটি ভালো-চর্চার চেকলিস্ট, সুনির্দিষ্ট ধাপ বা নিশ্চিত করার বিষয়ের একটি সংক্ষিপ্ত, ক্রমবদ্ধ তালিকা, মানুষকে সেখানে পৌঁছাতে সাহায্য করে এবং পর্যালোচনার আগে নিজে যাচাই করতে দেয়। সরকারি খাতের প্রকৌশল হ্যান্ডবুক এই প্যাটার্ন ব্যাপকভাবে ব্যবহার করে। NHS Wales এবং ডিজিটাল হেলথ অ্যান্ড কেয়ার ওয়েলস (DHCW) ব্যবহারিক চেকলিস্টসহ প্রকৌশল মান প্রকাশ করে, আর যুক্তরাজ্য সরকারের ডিজিটাল সার্ভিস (GDS) তার সার্ভিস স্ট্যান্ডার্ড ও টেকনোলজি কোড অফ প্র্যাকটিসকে সার্ভিস ম্যানুয়ালের কার্যকর নির্দেশনার সঙ্গে জুড়ে দেয়। চেকলিস্ট হলো ব্যবহারযোগ্য করা মান: “আপনি কি অভিগম্যতা অডিট যোগ করেছেন? স্ক্রিন রিডারে পরীক্ষা করেছেন? শুধু-কীবোর্ড নেভিগেশন আচ্ছাদন করেছেন?” চেকলিস্ট প্যাটার্ন পূর্ণরূপে দেখতে অধ্যায় 12.2 দেখুন।
মান প্রকাশ করুন যেখানে মানুষ ইতিমধ্যে কাজ করে, এবং সেগুলো খুঁজে-পাওয়া যায় রাখুন
মান সংরক্ষণ করুন ভার্সন কন্ট্রোলে (একটি সোর্স রিপোজিটরিতে) Markdown হিসেবে, একটি অনুসন্ধানযোগ্য অভ্যন্তরীণ সাইটে রেন্ডার করা, যাতে ইতিহাস, পুল রিকোয়েস্টের মাধ্যমে পর্যালোচনা এবং ডিফ বিনামূল্যে পান, সিদ্ধান্তের নথির (অধ্যায় 1.6) একই যুক্তি। একটি ক্যাটালগ, একটি টেমপ্লেট, একটি অনুসন্ধান বাক্স। সংরক্ষণের মতোই সামনে আনা গুরুত্বপূর্ণ। পুল-রিকোয়েস্ট টেমপ্লেট, লিন্টারের ত্রুটি বার্তা এবং সার্ভিসের স্ক্যাফোল্ডিং থেকে প্রাসঙ্গিক মানের লিংক দিন, যাতে সঠিক নিয়ম কাজের মুহূর্তে দেখা দেয়, কেউ যায় না এমন ফোল্ডারে নয়।
আগে স্বয়ংক্রিয়করণের মাধ্যমে প্রয়োগ করুন, দ্বিতীয়ত মানুষের পর্যালোচনায়
মান প্রয়োগের দুটি উপায় আছে, আর পরিণত প্রতিষ্ঠান সুচিন্তিতভাবে দুটিই ব্যবহার করে:
- স্বয়ংক্রিয় প্রয়োগ: লিন্টার, ফরম্যাটার, স্ট্যাটিক বিশ্লেষণ, পলিসি-অ্যাজ-কোড (যেমন ওপেন পলিসি এজেন্ট (OPA)), কন্টিনিউয়াস ইন্টিগ্রেশন (CI) গেট, এবং স্থাপত্য ফিটনেস ফাংশন (স্বয়ংক্রিয় পরীক্ষা, যা দাবি করে একটি নকশা-বৈশিষ্ট্য এখনো ধরে আছে)। স্বয়ংক্রিয়করণ সামঞ্জস্যপূর্ণ, অক্লান্ত, তাৎক্ষণিক ও তর্কাতীত, যা মানের যান্ত্রিক সংখ্যাগরিষ্ঠের (ফরম্যাটিং, নামকরণ, নির্ভরতার নিয়ম, প্রয়োজনীয় মেটাডেটা) জন্য আদর্শ।
- মানুষের পর্যালোচনা: কোড রিভিউ, আর্কিটেকচার রিভিউ বোর্ড ও নিরাপত্তা পর্যালোচনা, যা রাখা হয় যন্ত্র যা বিচার করতে পারে না তার জন্য: একটি বিমূর্তন কি সঠিক, একটি ট্রেড-অফ কি বিজ্ঞ, একটি মানের অভিপ্রায় কি পূরণ হয়েছে যখন তার অক্ষর বেমানান।
সাধারণ নিয়ম: যা যাচাই করা যায় তা স্বয়ংক্রিয় করুন, আর দুষ্প্রাপ্য মানুষের মনোযোগ ব্যয় করুন বিচারে। পর্যালোচনা থেকে CI-তে আনা প্রতিটি মান পর্যালোচকদের মুক্ত করে সেই ভাবনা করতে, যা কেবল তাঁরাই পারেন।
নথিবদ্ধ ব্যতিক্রম/ছাড় প্রক্রিয়ায় বিচ্যুতি নিয়ন্ত্রণ করুন
কোনো মান প্রতিটি ঘটনায় খাপ খায় না, তাই পালানোর পথটি ইচ্ছাকৃতভাবে নকশা করুন। একটি ভালো ব্যতিক্রম প্রক্রিয়া নির্দিষ্ট করে:
- কে ছাড় দিতে পারেন: ঝুঁকির অনুপাতে একজন নামধারী, জবাবদিহিযোগ্য কর্তৃপক্ষ (কম-ঝুঁকির শৈলীগত বিচ্যুতির জন্য একজন টেক লিড; নিরাপত্তা-নিয়ন্ত্রণ ছাড়ের জন্য আর্কিটেকচার বা নিরাপত্তা বোর্ড)। এটি সরাসরি অধ্যায় 1.5-এর গভর্নেন্স মডেলের সঙ্গে যুক্ত।
- কী লিপিবদ্ধ করতে হবে: যে মান থেকে বিচ্যুত হচ্ছে, সুনির্দিষ্ট কারণ, পরিসর, ক্ষতিপূরণমূলক নিয়ন্ত্রণ বা প্রশমন, এবং গৃহীত ঝুঁকি। এটি সিদ্ধান্তের নথি (অধ্যায় 1.6) হিসেবে ধারণ করুন, যাতে যুক্তি সংরক্ষিত থাকে।
- বাধ্যতামূলক মেয়াদ: প্রতিটি ছাড় একটি সুস্পষ্ট শেষ তারিখসহ সময়সীমাবদ্ধ। এটি একক সবচেয়ে গুরুত্বপূর্ণ নিয়ম: এটি একটি সাময়িক ব্যতিক্রমকে নিঃশব্দে স্থায়ী নীতিতে পরিণত হওয়া থেকে ঠেকায়।
- পর্যায়ক্রমিক পর্যালোচনা: একজন মালিক নির্দিষ্ট বিরতিতে খোলা ছাড়গুলো পর্যালোচনা করেন এবং হয় নতুন যুক্তিসহ নবায়ন করেন, কাজ মান্য হলে বন্ধ করেন, অথবা একই ব্যতিক্রম বারবার ফিরে এলে সেটিকে প্রমাণ হিসেবে দেখেন যে মানটিই ভুল, এবং তা সংশোধন করেন।
এই শেষ বিষয়টিই “ব্যতিক্রমই নিয়মকে প্রমাণ করে”-র মর্মকথা। একটি মানের বিরুদ্ধে ছাড়ের স্থির স্রোত শৃঙ্খলার ব্যর্থতা নয়। এটি তথ্য। এটি আপনাকে বলে মানটি ভুলভাবে ক্যালিব্রেট করা, আর সমাধান হলো মানকে বিবর্তিত করা, ব্যতিক্রম দিয়েই যাওয়া নয়।
মানকে স্পষ্ট মালিকানাসহ জীবন্ত দলিল হিসেবে দেখুন
প্রতিটি মানকে একজন মালিক (একটি ভূমিকা, শুধু একজন ব্যক্তি নয়) দিন, যিনি তা হালনাগাদ রাখতে জবাবদিহিযোগ্য, এবং একটি পর্যালোচনার বিরতি (অন্তত বার্ষিক)। পুল রিকোয়েস্ট বা RFC (মন্তব্যের অনুরোধ) মারফত যে কেউ পরিবর্তনের প্রস্তাব দিতে পারেন এমন হালকা পথ দিন, যা গ্রহণের আগে প্রতিক্রিয়ার জন্য প্রচারিত লিখিত প্রস্তাব। মান ভার্সন করুন, স্পষ্টভাবে অবসান করুন এবং পরিবর্তন ঘোষণা করুন। যে মান ক্যাটালগ কখনো সংশোধিত হয় না তা লোককথায় পচে যায়, যা মানুষ বেছে বেছে উদ্ধৃত করে এবং কমই বিশ্বাস করে।
ট্রেড-অফ: সুবিধা ও অসুবিধা
| পছন্দ | সুবিধা | অসুবিধা |
|---|---|---|
| অনেক বিস্তারিত মান | সামঞ্জস্য, সহজ অনবোর্ডিং, অডিট-প্রস্তুত | অনমনীয়তা; রক্ষণাবেক্ষণের বোঝা; চর্চাকে ছাড়িয়ে যেতে পারে |
| অল্প উচ্চ-স্তরের মান | নমনীয়; কম রক্ষণাবেক্ষণ | অসঙ্গতি; দল প্রতি বেশি পুনর্বিতর্ক |
| স্বয়ংক্রিয় প্রয়োগ | সামঞ্জস্যপূর্ণ, তাৎক্ষণিক, অক্লান্ত, বড় হয় | অগ্রিম খরচ; মিথ্যা ইতিবাচক; অভিপ্রায়ে অন্ধ |
| মানুষের পর্যালোচনায় প্রয়োগ | অভিপ্রায় ও সূক্ষ্মতা বিচার করে | ধীর, অসঙ্গত, বড় পরিসরে বাধা |
| কঠোর, কোনো ব্যতিক্রম নয় | সরল বার্তা; কারসাজির কিছু নেই | বৈধ কাজ আটকায়; নিঃশব্দ অ-মান্যতা চালায় |
| নিয়ন্ত্রিত ব্যতিক্রম প্রক্রিয়া | মানগুলোকে বিশ্বাসযোগ্য ও মানবিক রাখে | গভর্নেন্স, নথি ও অনুসরণ লাগে |
কেন্দ্রীয় টানাপোড়েন সামঞ্জস্য বনাম নমনীয়তা। একটি মান থাকে বৈচিত্র্য সরাতে; একটি ব্যতিক্রম প্রক্রিয়া থাকে সেই বৈচিত্র্য স্বীকার করতে, যা সত্যিই যুক্তিযুক্ত। অনমনীয়তার দিকে বেশি ঝুঁকলে মানুষ আপনার মান এড়িয়ে ঘুরবে। শিথিলতার দিকে বেশি ঝুঁকলে মানগুলোর কোনো অর্থ থাকবে না। ব্যতিক্রম প্রক্রিয়া সেই চাপ-কপাট, যা আপনাকে দৃঢ় রেখা ধরে রাখতে এবং বাস্তবতা সম্পর্কে সৎ থাকতে দেয়।
আপনার দলের সঙ্গে আলোচনার প্রশ্ন
আপনার পরিসরের জন্য মানের সঠিক সংখ্যা কত, এবং আপনার মানগুলো কি অনমনীয়তার দিকে নাকি অসঙ্গতির দিকে ভেসে যাচ্ছে? ক্যাটালগ নিজেই একটি ট্রেড-অফ: অনেক বিস্তারিত মান অনমনীয়তা ও রক্ষণাবেক্ষণের বোঝার বিনিময়ে সামঞ্জস্য, সহজ অনবোর্ডিং ও অডিট-প্রস্তুতি কেনে, আর অল্প উচ্চ-স্তরের মান নমনীয় থাকে কিন্তু প্রতিটি দলকে একই প্রশ্ন নিয়ে আবার তর্ক করতে দেয়। বড় এন্টারপ্রাইজ বা সরকারি সংস্থার জন্য সঠিক আকার নির্ভর করে কতটা বৈচিত্র্য আপনি সত্যিই সইতে পারেন বনাম আপনার নিরীক্ষক ও অনবোর্ডিংয়ের কতটা বাঁধা দরকার তার ওপর। প্রমাণ আনুন: আপনার কতগুলো সক্রিয় মান আছে, গত বছরে কতগুলো পর্যালোচিত হয়েছে, এবং কোনো মান নিষ্পত্তি করতে পারত এমন বিষয় দলগুলো কত ঘন ঘন আবার তর্ক করে। যে ক্যাটালগ চর্চাকে ছাড়িয়ে যায় তা লোককথা হয়ে ওঠে, আর যেটি খুব পাতলা তা প্রতিটি দলের ওপর খরচ ঠেলে দেয়। কী মানের যোগ্য তা সুচিন্তিতভাবে ঠিক করুন, এবং যেগুলো আর নিজেদের স্থান অর্জন করে না সেগুলো ছাঁটাই করুন।
কোথায় একটি মানের অক্ষর স্বয়ংক্রিয়ভাবে উত্তীর্ণ হয় অথচ তার অভিপ্রায় নিঃশব্দে লঙ্ঘিত হয়, এবং আপনি তা কীভাবে ধরবেন? স্বয়ংক্রিয়করণ সামঞ্জস্যপূর্ণ, অক্লান্ত এবং অভিপ্রায়ে অন্ধ, অর্থাৎ একটি লিন্টার বা নীতি পরীক্ষা সবুজ হতে পারে অথচ আসল লক্ষ্য (সঠিক বিমূর্তন, বিজ্ঞ ট্রেড-অফ, সত্যিই অভিগম্য পাতা) ফসকে যায়। সাধারণ নিয়ম হলো যা যাচাই করা যায় তা স্বয়ংক্রিয় করা এবং দুষ্প্রাপ্য মানুষের পর্যালোচনা বিচারে ব্যয় করা, আর কঠিন অংশ হলো একমত হওয়া কোন মানের অভিপ্রায় কোনো CI গেট দাবি করতে পারে না। উদাহরণ আনুন: যে মান মানুষ অক্ষরে মানে কিন্তু উদ্দেশ্য ব্যর্থ করে, যেমন সার্ভিস ভাঙা থাকলেও সুস্থ জানানো হেলথ-চেক এন্ডপয়েন্ট, বা ফরম্যাটার উত্তীর্ণ কিন্তু অর্থ অস্পষ্ট করা কোড। নিয়ন্ত্রিত পরিবেশে অভিপ্রায় সবচেয়ে বেশি গুরুত্বপূর্ণ নিরাপত্তা ও সুরক্ষা নিয়ন্ত্রণে, যেখানে একটি সবুজ চেকবক্স প্রকৃত ঝুঁকি লুকাতে পারে। ঠিক করুন কোন মানগুলোর জন্য বিশেষভাবে অভিপ্রায় বিচার করতে মানুষ পর্যালোচক রাখবেন, এবং সেই মানগুলো ফলাফল ঘিরে শব্দবদ্ধ করুন, যাতে যন্ত্র ও পর্যালোচক উভয়ে একই লক্ষ্যে লক্ষ্য করে।
ছাড়-থেকে-মান ফিডব্যাক চক্রের মালিক কে, এবং কোন বিন্দুতে বারবার আসা ব্যতিক্রম আপনাকে নিয়ম বদলাতে বাধ্য করে? একটি মানের বিরুদ্ধে ছাড়ের স্থির স্রোত তথ্য, অশৃঙ্খলা নয়, আর কেউ তা পড়ে ব্যবস্থা নিতে জবাবদিহিযোগ্য না হলে সংকেত নষ্ট হয়। প্রতিদ্বন্দ্বী বিবেচনা হলো একটি মান সংশোধন প্রকৃত কাজ, তাই তার নিচের ভুলভাবে-ক্যালিব্রেট-করা নিয়ম সারানোর চেয়ে ছাড়ে রাবার-স্ট্যাম্প দেওয়া সহজ থাকে। সংখ্যা আনুন: কোন মান সবচেয়ে বেশি ব্যতিক্রম জন্মায়, ছাড় আসলেই সময়সীমাবদ্ধ ও নির্দিষ্ট বিরতিতে পর্যালোচিত কি না, এবং কতগুলো নিঃশব্দে স্থায়ী হয়ে গেছে। এন্টারপ্রাইজ ও সরকারের নিরাপত্তা-সংকটপূর্ণ ও সুরক্ষা-সংকটপূর্ণ মানে একটি ছাড়কে ক্ষতিপূরণমূলক নিয়ন্ত্রণ, প্রশমন, গৃহীত ঝুঁকি এবং কঠোর মেয়াদ লিপিবদ্ধ করতে হবে, নইলে একটি সাময়িক বিচ্যুতি নথিহীন নীতিতে পরিণত হয়ে পরবর্তী অডিটে ফুটে ওঠে। খোলা ছাড় পর্যালোচনার একজন মালিক নিযুক্ত করুন, এমন সীমা ঠিক করুন যেখানে বারবার ব্যতিক্রম মান সংশোধন ট্রিগার করে, এবং স্থায়ী ব্যতিক্রমকে মানের এমন ত্রুটি ভাবুন যা সারাতে হবে।
সঠিক মানটি কি কাজের মুহূর্তে দেখা দেয়, নাকি এমন ফোল্ডারে থাকে যা কেউ খোলে না? যে মান কেউ খুঁজে পায় না তা সৌভাগ্যে প্রয়োগ হয়, আর বড় পরিসরে বেশিরভাগ অ-মান্যতা অবাধ্যতা নয়, অজ্ঞতা: ইঞ্জিনিয়ার কখনো নিয়মটি জানতেন না, বা গুরুত্বপূর্ণ মুহূর্তে খুঁজে পাননি। প্রতিদ্বন্দ্বী বিবেচনা হলো পরিশ্রম, কারণ পুল-রিকোয়েস্ট টেমপ্লেট, লিন্টারের ত্রুটি বার্তা ও সার্ভিসের স্ক্যাফোল্ডিংয়ে একটি মান সামনে আনতে প্রকৃত ইন্টিগ্রেশনের কাজ লাগে, যা একটিমাত্র কেন্দ্রীয় সাইটে লাগে না। খুঁজে-পাওয়া-যাওয়া সম্পর্কে প্রমাণ আনুন: ইঞ্জিনিয়াররা আজ আসলে কীভাবে মান খুঁজে পান, একজন নতুন নিয়োগ তাঁর কাজ নিয়ন্ত্রণকারী অভিগম্যতা বা নিরাপত্তার নিয়ম এক মিনিটের মধ্যে খুঁজে পেতে পারেন কি না, এবং পর্যালোচকরা কত ঘন ঘন এমন মান উদ্ধৃত করেন যা লেখক সহজভাবে দেখেননি। বড় এন্টারপ্রাইজ বা সরকারি সংস্থার জন্য নিরীক্ষকরা ক্রমশ জিজ্ঞেস করেন শুধু একটি মান আছে কি না নয়, সিদ্ধান্তের মুহূর্তে তা জানানো ও সহজগম্য ছিল কি না, তাই সামনে আনাকে মানের অংশ হিসেবে দেখুন, পরের ভাবনা নয়, এবং মাপুন মানুষ প্রয়োজনে নিয়মটি পাচ্ছে কি না।
প্রতিটি সক্রিয় মানের মালিক কে, শেষ কবে পর্যালোচিত হয়েছিল, এবং কোনগুলো নিঃশব্দে লোককথায় পচে গেছে তা আপনি কীভাবে চিনবেন? মান নিঃশব্দে ক্ষয়ে: তিন বছর আগে যে ফ্রেমওয়ার্কের জন্য লেখা নিয়ম আপনি আর ব্যবহার করেন না, তা ক্যাটালগে বসে আছে, বেছে বেছে উদ্ধৃত ও কমই বিশ্বাসযোগ্য, যা এখনো-সঠিক মানগুলোর বিশ্বাসযোগ্যতা টেনে নামায়। বড় প্রতিষ্ঠানের জন্য মালিকানার খরচ হলো পর্যালোচনার বিরতি নিজেই, যা বাড়তি বোঝা মনে হয় যতক্ষণ না কোনো বিভ্রাট বা অডিট এমন মান উন্মোচন করে যা আর বাস্তবতার সঙ্গে মেলে না। আলোচনায় সংখ্যা আনুন: কতগুলো মানের নামধারী মালিক আছে (একটি ভূমিকা, শুধু চলে-যাওয়া ব্যক্তি নয়), গত বছরে কতগুলো পর্যালোচিত হয়েছে, কতগুলো আনুষ্ঠানিকভাবে অবসানিত বনাম নিছক সেকেলে, এবং কোনগুলো সবচেয়ে বেশি ও কম উদ্ধৃত। এন্টারপ্রাইজ ও সরকারি ক্ষেত্রে নিরীক্ষক প্রত্যাশা করেন প্রতিটি মান ভার্সনযুক্ত, তারিখযুক্ত এবং প্রমাণসহ হালনাগাদ, তাই ন্যূনতম পর্যালোচনার বিরতিতে একমত হন, প্রতিটি মানকে জবাবদিহিযোগ্য মালিক দিন, এবং যেগুলো আর নিজেদের স্থান অর্জন করে না সেগুলো বাকিগুলোর ওপর বিশ্বাস ক্ষুণ্ণ করার আগে অবসান করুন।
ছাড় দেওয়ার কর্তৃত্ব কি আসলে যে মান ছাড় দেওয়া হচ্ছে তার ঝুঁকির অনুপাতে? শৈলীগত বিচ্যুতি আর নিরাপত্তা-নিয়ন্ত্রণ বিচ্যুতি একই সিদ্ধান্ত নয়, তবু অনেক প্রতিষ্ঠান হয় দুটিকেই ভারী বোর্ডে পাঠায় (যা বৈধ কাজ থামিয়ে দেয়), নয়তো দুটিকেই একজন টেক লিডের মধ্য দিয়ে যেতে দেয় (যা এমন কাউকে গুরুতর ঝুঁকি গ্রহণ করতে দেয়, যাঁর তা গ্রহণ করার ম্যান্ডেট নেই)। টানাপোড়েন গতি বনাম জবাবদিহির: অনুমোদনের ঘর্ষণ বেশি হলে নিঃশব্দ অ-মান্যতা চলে, আর কম হলে পরিণামবহ বিচ্যুতি চ্যাট থ্রেডে হাত নেড়ে পার করা হয়। আপনার মানের সঙ্গে তাদের অনুমোদন কর্তৃপক্ষের একটি মানচিত্র আনুন, সঙ্গে সম্প্রতি দেওয়া ছাড়ের একটি নমুনা, এবং যাচাই করুন কেউ সংশ্লিষ্ট বোর্ড, ক্ষতিপূরণমূলক নিয়ন্ত্রণ, প্রশমন এবং লিপিবদ্ধ ঝুঁকি-গ্রহণ ছাড়া কোনো নিরাপত্তা-সংকটপূর্ণ বা সুরক্ষা-সংকটপূর্ণ নিয়ন্ত্রণ ছাড় দিয়েছেন কি না। এন্টারপ্রাইজ ও সরকারের জন্য এটি দায়িত্ব-বিভাজনের প্রশ্ন, যা নিয়ন্ত্রকরা সরাসরি যাচাই করেন, তাই প্রতিটি শ্রেণির মানকে তার ঝুঁকির অনুপাতে একজন নামধারী কর্তৃপক্ষের সঙ্গে বাঁধুন, এবং নিশ্চিত করুন যিনি ঝুঁকি গ্রহণ করছেন তিনি পরিণতির জন্য সত্যিই জবাবদিহিযোগ্য।
খাতভেদে দৃষ্টিভঙ্গি
স্টার্টআপ। ক্যাটালগ ছোট রাখুন: কেবল সেই মুষ্টিমেয় নিয়ম লিখুন, যার অনুপস্থিতি আপনাকে সত্যিই আঘাত করবে, যেমন একটি ফরম্যাটার কনফিগ, একটি হেলথ-চেক শর্ত, এবং কীবোর্ডে নেভিগেট-করা-যায় এমন পাতা, এবং প্রতিটি প্রয়োগ করুন পর্যালোচনা সভার বদলে একটি লিন্টার বা CI পরীক্ষায়। ছাড়-বোর্ড পুরোপুরি এড়িয়ে যান; কোডে একটি তারিখযুক্ত TODO এবং পুল রিকোয়েস্টে এক লাইনের নোট এই পরিসরে একটি সম্পূর্ণ ঠিক সময়সীমাবদ্ধ ব্যতিক্রম। আপনার সবচেয়ে দুষ্প্রাপ্য সম্পদ প্রকৌশল মনোযোগ, তাই এখনো নেই এমন সমস্যার জন্য মান রচনায় বাধা দিন।
ছোট ব্যবসা। কোনো নিবেদিত মান-মালিক নেই আর বাজেট কম, তাই মান বানানোর বদলে কিনুন: প্রকাশিত ভিত্তিরেখা, যেমন যুক্তরাজ্যের GDS সার্ভিস স্ট্যান্ডার্ড, OWASP নিরাপত্তা নির্দেশিকা, বা আপনার ফ্রেমওয়ার্কের সুপারিশ করা লিন্ট নিয়ম গ্রহণ করুন, এবং আপনার টুল ও হোস্টেড CI-তে ইতিমধ্যে নির্মিত পরীক্ষার ওপর ভরসা করুন। কেবল আপনার নিজস্ব অল্প বিষয়ের জন্য স্থানীয় নিয়মের একটি সংক্ষিপ্ত পাতা রাখুন। প্রকৌশল পরিচালনাকারী যিনি, তিনি টিকেটে মেয়াদের তারিখসহ ব্যতিক্রম দেন ও লিপিবদ্ধ করেন, যাতে হালকা প্রক্রিয়াও সৎ থাকে।
এন্টারপ্রাইজ। কাজ হলো বহু দল জুড়ে গভর্নেন্স: একটি ক্যাটালগ, একটি টেমপ্লেট, প্রতিটি মানের যুক্তি ও উদাহরণ, এবং যান্ত্রিক সংখ্যাগরিষ্ঠের জন্য পলিসি-অ্যাজ-কোড, যা পাইপলাইন ব্যর্থ করে। এমন ছাড় প্রক্রিয়া চালান যার অনুমোদন কর্তৃপক্ষ ঝুঁকির অনুপাতে, প্রতিটি ব্যতিক্রমে সময়সীমা দিন, নির্দিষ্ট বিরতিতে খোলা ছাড় পর্যালোচনা করুন, এবং বারবার আসা ছাড় খুঁড়ে দেখুন সংকেত হিসেবে যে একটি মান বদলানো দরকার। স্বয়ংক্রিয়ভাবে প্রয়োগ হওয়া মানের অংশ এবং খোলা ছাড়ের পরিমাণ ও বয়স মাপুন, এবং দুটিই গভর্নেন্স ফাংশনকে জানান, যাতে মান কবরস্থান না হয়ে পরিচালিত ব্যবস্থা থাকে।
সরকার। DHCW ও GDS ঐতিহ্যে আপনার প্রকৌশল মান খোলাখুলি প্রকাশ করুন, এবং প্রতিটির সঙ্গে একটি চেকলিস্ট জুড়ুন যা দলগুলো সার্ভিস মূল্যায়নের আগে সম্পূর্ণ করে, যাতে মান্যতা জনগণ ও তদারকি সংস্থার কাছে দৃশ্যমান হয়। পরিণামবহ ছাড়ের কর্তৃপক্ষ করুন একজন নামধারী জ্যেষ্ঠ দায়িত্বশীল মালিককে, এবং প্রতিটি ব্যতিক্রমে সুনির্দিষ্ট মানদণ্ড, ক্ষতিপূরণমূলক নিয়ন্ত্রণ বা অন্তর্বর্তী প্রশমন, প্রতিকার পরিকল্পনা ও কঠোর মেয়াদ লিপিবদ্ধ করতে দাবি করুন। ক্রয় ও স্বচ্ছতার নিয়মের কারণে আপনার মান ও বিচ্যুতি উভয়ই সর্বসাধারণের নথির অংশ হয়ে ওঠে, তাই নিরীক্ষণযোগ্যতা ও অনুসরণযোগ্যতাকে শুরু থেকেই নকশার প্রয়োজনীয়তা ভাবুন।
উদাহরণ
স্টার্টআপ। সাতজনের একটি স্টার্টআপ ঠিক তিনটি লিখিত মান রাখে (একটি ভাগ করা ফরম্যাটার কনফিগ, একটি হেলথ-চেক এন্ডপয়েন্টের শর্ত, এবং “সব প্রকাশ্য পাতা কীবোর্ডে নেভিগেট-করা-যায় হতে হবে”), প্রতিটি পর্যালোচনা সভার বদলে লিন্টার বা CI পরীক্ষায় প্রয়োগ করা। এক ইঞ্জিনিয়ারকে হেলথ-চেক নিয়ম ভাঙা একটি ফেলনা প্রোটোটাইপ চালু করতে হলে কোনো ছাড়-বোর্ড নেই: তিনি কোডে একটি তারিখযুক্ত TODO এবং পুল রিকোয়েস্টে এক লাইনের নোট রাখেন, কেন এবং কবে সারাবেন তা জানিয়ে। এটি স্টার্টআপ পরিসরে সময়সীমাবদ্ধ ব্যতিক্রম, প্রক্রিয়ার বাড়তি বোঝা ছাড়াই সৎ ও দৃশ্যমান। তিনটি পরীক্ষা নিজেদের মূল্য উসুল করে কোড রিভিউকে শৈলীর বদলে সারবস্তু নিয়ে রেখে।
এন্টারপ্রাইজ। একটি বৈশ্বিক ব্যাংক প্রায় চল্লিশটি সক্রিয় মানের একটি অভ্যন্তরীণ প্রকৌশল হ্যান্ডবুক রাখে, প্রতিটি যুক্তি, উদাহরণ এবং সংযুক্ত ভালো-চর্চার চেকলিস্টসহ একটি টেমপ্লেটে। প্রায় ৭০% স্বয়ংক্রিয়ভাবে প্রয়োগ হয়: ফরম্যাটিং, নির্ভরতা নীতি, বাধ্যতামূলক সার্ভিস মেটাডেটা এবং পলিসি-অ্যাজ-কোড হিসেবে এনকোড করা নিরাপত্তা নিয়ন্ত্রণ, যা CI পাইপলাইন ব্যর্থ করে। একটি পেমেন্ট দলকে এমন ডেটাবেসে চালু করতে হয় যা এখনো একটি বাধ্যতামূলক এনক্রিপশন ফিচার সমর্থন করে না। রিলিজ আটকানোর বদলে তারা একটি ছাড়ের আবেদন করে, যাতে মান, ক্ষতিপূরণমূলক নিয়ন্ত্রণ (অ্যাপ্লিকেশন-স্তরের এনক্রিপশন) এবং ৯০ দিনের মেয়াদের নাম আছে। নিরাপত্তা বোর্ড তা মঞ্জুর ও লিপিবদ্ধ করে। নব্বই দিন পর পর্যালোচনায় দেখা যায় প্ল্যাটফর্ম এখন ফিচারটি সরাসরি সমর্থন করে, আর ছাড়টি বন্ধ হয়। মান টিকে রইল, কাজ চালু হলো, এবং বিচ্যুতিটি পরবর্তী অডিটের জন্য পুরোপুরি অনুসরণযোগ্য।
সরকার। DHCW ও GDS পদ্ধতির আদলে গড়া একটি জাতীয় স্বাস্থ্য সংস্থা তার প্রকৌশল মান খোলাখুলি প্রকাশ করে, প্রতিটির সঙ্গে একটি চেকলিস্ট জুড়ে যা দলগুলো সার্ভিস মূল্যায়নের আগে সম্পূর্ণ করে। WCAG 2.2 AA-তে অভিগম্যতা একটি কঠোর মান, CI-তে স্বয়ংক্রিয় অডিট ও হাতে-করা মূল্যায়নে প্রয়োগ করা। একটি পুরোনো ক্লিনিক্যাল সিস্টেম রোগীর-নিরাপত্তা-সংকটপূর্ণ কার্যকারিতা ঝুঁকিতে না ফেলে একটি অভিগম্যতা মানদণ্ড তাৎক্ষণিক পূরণ করতে পারে না। দলটি একটি সময়সীমাবদ্ধ ব্যতিক্রম চায়। একজন নামধারী জ্যেষ্ঠ দায়িত্বশীল মালিক তা মঞ্জুর করেন, এবং সুনির্দিষ্ট মানদণ্ড, অন্তর্বর্তী প্রশমন (একটি সহায়তা-প্রাপ্ত প্রবেশের ফোন লাইন), প্রতিকার পরিকল্পনা এবং ছয় মাসের মেয়াদ লিপিবদ্ধ করেন, যা ঠিক সেই অনুসরণযোগ্য, পর্যালোচনাযোগ্য প্রমাণ তৈরি করে যা তদারকি সংস্থার প্রয়োজন (অধ্যায় 4.6, 10.4)।
ব্যবসায়িক যুক্তি: প্রেরণা, ROI ও TCO
একটি মানের খরচ তা লেখা, তার পরীক্ষা স্বয়ংক্রিয় করা এবং রক্ষণাবেক্ষণ করার সময়। প্রতিদান আসে প্রতিবার পরীক্ষা চললে, এবং প্রতিবার একজন ইঞ্জিনিয়ারকে নিষ্পত্তি-হওয়া প্রশ্ন নিয়ে থেমে তর্ক করতে না হলে। মান পুনরাবৃত্ত, বিতরিত সিদ্ধান্ত-খরচকে এককালীন রচনার খরচে রূপান্তর করে, সিদ্ধান্তের নথির (অধ্যায় 1.6) একই অর্থনীতি, বর্ধিত হয়ে, কারণ একটি মান একটি অতীত পছন্দ নয়, হাজারো ভবিষ্যৎ ঘটনা নিয়ন্ত্রণ করে।
মালিকানার মোট খরচের (TCO), একটি সিস্টেম বানানো, চালানো ও রক্ষণাবেক্ষণের পূর্ণ আজীবন খরচের, ক্ষেত্রে মান সবচেয়ে বড় খাতগুলো কমায়: অনবোর্ডিং (নতুন নিয়োগ রিভার্স-ইঞ্জিনিয়ারিংয়ের বদলে সামঞ্জস্য উত্তরাধিকারসূত্রে পায়), রক্ষণাবেক্ষণ (অভিন্ন কোড বদলানো সস্তা), এবং নিশ্চয়তা (বিধি-মান্যতা যন্ত্রে-যাচাইযোগ্য এবং বিচ্যুতি ইতিমধ্যে নথিবদ্ধ হলে অডিট সস্তা)। ব্যতিক্রম প্রক্রিয়া সেই ROI-কে তার প্রধান হুমকি থেকে রক্ষা করে: মান উপেক্ষিত লোককথায় ক্ষয়ে যাওয়া। একটি বিশ্বাসযোগ্য ছাড় প্রক্রিয়া মানগুলোকে বিশ্বস্ত রাখে, আর বিশ্বস্ত মানই সেগুলো, যা মানুষ আসলে মেনে চলে। এসব এড়িয়ে যাওয়ার খরচ কোনো ড্যাশবোর্ডে অদৃশ্য। তা দেখা দেয় ধীর অনবোর্ডিং, অসঙ্গত গুণমান এবং অডিট পর্যবেক্ষণে, আর প্রতিটি নতুন দল ও প্রতিটি প্রস্থানের সঙ্গে চক্রবৃদ্ধি হয়।
অ্যান্টি-প্যাটার্ন ও ফাঁদ
- যুক্তি ছাড়া নিয়ম: যে মান কেউ বোঝে না, তা কেউ সঠিকভাবে প্রয়োগ বা সততার সঙ্গে চ্যালেঞ্জ করতে পারে না।
- আকাঙ্ক্ষামূলক, যাচাইঅযোগ্য মান: “কোড রক্ষণাবেক্ষণযোগ্য হওয়া উচিত” একটি মূল্যবোধ, মান নয়; তা প্রয়োগ বা বিতর্ক করা যায় না।
- ব্যতিক্রম প্রক্রিয়া নেই: বৈধ কাজ আটকানো আর নিঃশব্দ অ-মান্যতা সহ্য করার মধ্যে একটি মিথ্যা পছন্দে বাধ্য করে।
- স্থায়ী ব্যতিক্রম: মেয়াদহীন ছাড়, যা নিঃশব্দে প্রকৃত, নথিহীন নীতি হয়ে ওঠে।
- নথিহীন ছাড়: করিডোরে বা চ্যাট থ্রেডে দেওয়া বিচ্যুতি, যা পরবর্তী অডিট ও পরবর্তী ইঞ্জিনিয়ারের কাছে অদৃশ্য।
- সংকেত উপেক্ষা: মান বদলানো দরকার তার প্রমাণ হিসেবে না দেখে একই ব্যতিক্রম বারবার দেওয়া।
- খোঁচা-দিয়ে প্রয়োগ: লিন্টারের ধরার কথা এমন বিষয় ধরতে পর্যালোচকদের ওপর ভরসা করা, যান্ত্রিকে বিচারের অপচয়।
- মানের কবরস্থান: একবার লেখা, কারও মালিকানা নেই, কখনো পর্যালোচিত নয়, বেছে বেছে উদ্ধৃত, কমজনের বিশ্বাসযোগ্য ক্যাটালগ।
- জার্গনের দ্বাররক্ষা: পাঠকের জন্য নয়, রচয়িতাদের জন্য লেখা মান, নকল করার মতো কোনো উদাহরণ ছাড়া।
পরিপক্বতা মডেল
- স্তর ১ (সূচনা): মান জ্যেষ্ঠ ইঞ্জিনিয়ারদের মাথায় থাকা গোষ্ঠীগত জ্ঞান, প্রতিক্রিয়াশীলভাবে প্রযুক্ত। প্রয়োগ তাৎক্ষণিক কোড-রিভিউ খোঁচা; বিচ্যুতি অদৃশ্য; “আমরা যেভাবে করি” দল ও কে পরিবর্তন পর্যালোচনা করলেন তার ওপর ভিন্ন হয়।
- স্তর ২ (বিকাশ): কিছু মান অসঙ্গত ধরনে ও ছড়ানো জায়গায় লেখা, এবং গ্রহণ দল থেকে দলে ব্যাপকভাবে ভিন্ন। প্রয়োগ বেশিরভাগ হাতে-করা। ব্যতিক্রম ঘটে অনানুষ্ঠানিকভাবে, নথি বা মেয়াদের তারিখ ছাড়া।
- স্তর ৩ (মানসম্মতকরণ): একটি ক্যাটালগ, একটি টেমপ্লেট, প্রতিটি মানের যুক্তি ও উদাহরণ এবং ভালো-চর্চার চেকলিস্ট, দলগুলো জুড়ে সামঞ্জস্যপূর্ণভাবে প্রযুক্ত। যান্ত্রিক সংখ্যাগরিষ্ঠের জন্য স্বয়ংক্রিয় প্রয়োগ। নামধারী অনুমোদনকারী, লিপিবদ্ধ যুক্তি এবং সময়সীমাবদ্ধ ছাড়সহ নথিবদ্ধ ব্যতিক্রম প্রক্রিয়া।
- স্তর ৪ (ব্যবস্থাপনা): মান-ব্যবস্থা ভিত্তিরেখার বিপরীতে মাপা হয়। আপনি স্বয়ংক্রিয়ভাবে বনাম মানুষের পর্যালোচনায় প্রয়োগ হওয়া মানের অংশ, প্রতি মানে ছাড়ের পরিমাণ, বন্ধ করার সময়, এবং কতগুলো ছাড় খোলা থাকা অবস্থায় মেয়াদোত্তীর্ণ হয়েছে তা অনুসরণ করেন, এবং এসব গভর্নেন্স ফাংশনকে জানান। অনুমোদন কর্তৃপক্ষ ঝুঁকির অনুপাতে ও নিরীক্ষিত; পর্যালোচনার বিরতি ও মেয়াদ শুভেচ্ছার বদলে প্রমাণের ভিত্তিতে বলবৎ; যে মানের ছাড়ের হার একটি সম্মত সীমা অতিক্রম করে তা সংশোধনের জন্য চিহ্নিত হয়।
- স্তর ৫ (সমন্বয়): মান কাজের মুহূর্তে সামনে আসে এবং পলিসি-অ্যাজ-কোড ও ফিটনেস ফাংশনে প্রয়োগ হয়। ছাড় খুঁড়ে সংকেত নেওয়া হয়, তাই বারবার আসা ব্যতিক্রম নিরন্তর মানগুলোকে বিবর্তিত হতে চালায়, এবং চর্চা সরলে ক্যাটালগ পুনর্ভারসাম্যপ্রাপ্ত হয়। মান, চেকলিস্ট ও ছাড় অনবোর্ডিং, সরবরাহ ও অডিট জুড়ে একীভূত একটি অভিযোজিত জীবন্ত ব্যবস্থা।
আলোচনার ভাবনা
- আপনার কোন মানগুলো আপনি একটি পরীক্ষণযোগ্য নিয়ম এবং একটি স্পষ্ট যুক্তিসহ বলতে পারেন, আর কোনগুলো আসলে নিছক আকাঙ্ক্ষা?
- আপনার কত অংশ মান স্বয়ংক্রিয়ভাবে প্রয়োগ হয় বনাম একজন পর্যালোচকের চোখে পড়ায়? আরও দশটিকে CI-তে আনতে কী লাগবে?
- আজ বিচ্যুতি কোথায় ঘটে, এবং আপনি কি আদৌ জানবেন? সেগুলো কি লিপিবদ্ধ ও সময়সীমাবদ্ধ, নাকি নিঃশব্দ?
- আপনার সবচেয়ে নিরাপত্তা- বা সুরক্ষা-সংকটপূর্ণ মানের বিরুদ্ধে কে ছাড় দিতে পারেন, এবং সেই কর্তৃত্ব কি ঝুঁকির অনুপাতে?
- আপনার সবচেয়ে-বেশি-ছাড়-পাওয়া মানটি দেখুন। এটি কি শৃঙ্খলার সমস্যা, নাকি মানটিই সহজভাবে ভুল?
- প্রতিটি সক্রিয় মান শেষ কবে পর্যালোচিত হয়েছিল, এবং কে এর মালিক? কোনগুলো নিঃশব্দে লোককথা হয়ে গেছে?
প্রধান শিক্ষা
- একটি প্রকৌশল মান হলো একটি ফলাফল হিসেবে বর্ণিত নিয়ম, যুক্তি, উদাহরণ এবং তা যাচাই করার উপায়সহ: যা যাচাই করা যায় না, তা এখনো মান নয়।
- প্রতিটি মানের সঙ্গে একটি ভালো-চর্চার চেকলিস্ট জুড়ুন, যাতে মানুষ নিজে যাচাই করতে পারে, সরকারি খাতের হ্যান্ডবুক প্যাটার্ন (NHS Wales / DHCW, যুক্তরাজ্যের GDS) অনুসরণ করে।
- মান সংরক্ষণ করুন ভার্সন কন্ট্রোলে, নামধারী মালিক ও পর্যালোচনার তারিখসহ জীবন্ত রাখুন, এবং কাজের মুহূর্তে সামনে আনুন।
- লিন্টার, পলিসি-অ্যাজ-কোড ও ফিটনেস ফাংশন দিয়ে যা যাচাই করা যায় তা স্বয়ংক্রিয় করুন; বিচারের জন্য মানুষের পর্যালোচনা রাখুন।
- বিচ্যুতি নিয়ন্ত্রণ করুন নথিবদ্ধ, সময়সীমাবদ্ধ ব্যতিক্রম/ছাড় প্রক্রিয়ায়: নামধারী অনুমোদনকারী, লিপিবদ্ধ যুক্তি, বাধ্যতামূলক মেয়াদ, পর্যায়ক্রমিক পর্যালোচনা।
- বারবার আসা ব্যতিক্রম মান সারানোর সংকেত, শুধু ছাড় দিয়ে যাওয়ার কারণ নয়: “ব্যতিক্রমই নিয়মকে প্রমাণ করে।” অধ্যায় 1.5 (গভর্নেন্স), 1.6 (সিদ্ধান্তের নথি), 2.1 (কোডিং মান), 12.2 (চেকলিস্ট) এবং 12.3 (টেমপ্লেট) দেখুন।
তথ্যসূত্র ও আরও পড়ার জন্য
- UK Government Digital Service, Government Service Standard, Technology Code of Practice এবং GOV.UK Service Manual।
- NHS Digital / NHS England, Service Standard এবং প্রকৌশল নির্দেশিকা।
- Digital Health and Care Wales (DHCW) / NHS Wales, প্রকাশিত প্রকৌশল মান ও ভালো-চর্চার চেকলিস্ট।
- Scott Bradner, RFC 2119: Key Words for Use in RFCs to Indicate Requirement Levels (IETF, 1997)।
- World Wide Web Consortium (W3C), Web Content Accessibility Guidelines (WCAG) 2.2।
- Neal Ford, Rebecca Parsons ও Patrick Kua, Building Evolutionary Architectures (স্বয়ংক্রিয় গভর্নেন্স হিসেবে ফিটনেস ফাংশন)।
- Torin Sandall et al., Open Policy Agent ডকুমেন্টেশন (পলিসি-অ্যাজ-কোড)।
- GitLab, The GitLab Handbook: জীবন্ত, ভার্সন-নিয়ন্ত্রিত সাংগঠনিক মানের একটি প্রকাশ্য উদাহরণ।
- Google, Software Engineering at Google (Winters, Manshreck, Wright): বড় পরিসরে মান, পাঠযোগ্যতা ও স্বয়ংক্রিয় প্রয়োগ।
- Atul Gawande, The Checklist Manifesto: পেশাদার চর্চা হিসেবে চেকলিস্টের পক্ষে যুক্তি।