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