महत्वपूर्ण कीड़े तय हो जाते हैं। उत्पाद के उत्पादन में प्रवेश करने से पहले आमतौर पर वे तय हो जाते हैं। जब तक आप प्रारंभिक नमूने का उपयोग नहीं कर रहे हैं, आप कभी भी सबसे खराब कीड़े नहीं देख सकते हैं।
कीड़े को ठीक करना मुश्किल और महंगा है। यह सिर्फ RTL कोड की एक पंक्ति को नहीं बदल रहा है। यदि आपने ऐसा किया है, तो आपको भौतिक लेआउट को फिर से आकार देना होगा, किसी भी समय की समस्याओं को ठीक करने के लिए लेआउट को बदलना होगा, एक नया मास्क सेट खरीदना होगा, नई वेफर्स का उत्पादन करना होगा, वेफर्स का परीक्षण करना चाहिए (सामान्य रूप से), नए फिक्स को मान्य करें, और संभवत: उत्पाद को फिर से चिह्नित या अर्हता प्राप्त करता है। इसमें कई महीने लगते हैं और एक परेशान राशि खर्च होती है। उस कारण से, हम सीधे लेआउट में कीड़े को ठीक करने की कोशिश करते हैं (अधिमानतः एक धातु की परत पर)। यह RTL संश्लेषण से शुरू होने की तुलना में तेज़ और सस्ता है, लेकिन यह अभी भी अच्छा नहीं है।
अगर हम वैसे भी एक महत्वपूर्ण बग को ठीक कर रहे हैं, तो अन्य सभी बगों को भी ठीक क्यों नहीं किया जाए? फिर से, यह समय लगता है कि डिजाइन सत्यापन परीक्षणों को फिर से शुरू करने के लिए एक निर्धारण और लागू करने के लिए समय लगता है। उस समय का मतलब है कि अगले उत्पाद को बाजार में लाने में अधिक समय लगेगा। और इस बीच, आप अपने वर्तमान उत्पाद में लगभग निश्चित रूप से अधिक कीड़े पाएंगे यदि आप पर्याप्त रूप से कठिन दिखते हैं। यह एक हारी हुई लड़ाई है। लंबे समय से बाहर रहने वाले उत्पाद पर कीड़े को ठीक करना और भी कठिन है, क्योंकि लोगों को पुराने डिजाइन में गोता लगाने के लिए पता लगाना है कि क्या चल रहा है। जैसा कि नल कहते हैं, ग्राहकों को आपके उत्पाद को उनके सिस्टम में जरूरी करना पड़ सकता है। यदि आपका उत्पाद अभी भी विकास में है, तो उत्पादन जारी करने में देरी करने से ग्राहक का समय समाप्त हो सकता है, जिससे ग्राहक बहुत दुखी होते हैं।
आम तौर पर, बग जो छोड़ दिया जाता है, वे केवल अजीब विन्यास में होते हैं, बहुत छोटी समस्याएं पैदा करते हैं, आसान वर्कअराउंड या उपरोक्त सभी होते हैं। वे मुसीबत के लायक होने के लिए बस बुरे नहीं हैं। और यदि आप अगले उत्पाद पर एक हार्डवेयर मॉड्यूल का पुन: उपयोग करते हैं, तो आपके मौजूदा ग्राहकों के पास पहले से ही वैसे भी उनके सॉफ़्टवेयर में वर्कअराउंड होगा।
सॉफ्टवेयर टूलचाइन्स एक अन्य कारक हैं। यदि कोई मॉड्यूल काफी लंबे समय तक चिपक जाता है, तो आपका टूलचेन पर्याप्त बदल सकता है जो पुराने सत्यापन परीक्षणों को फिर से करना अपने आप में एक प्रमुख परियोजना बन जाता है। और आप शायद पुराने टूल को लोड नहीं कर सकते, क्योंकि आप अब साइट लाइसेंस के लिए भुगतान नहीं कर रहे हैं। लेकिन जब तक आप मॉड्यूल को नहीं बदलते हैं, तब तक आप इसे नए MCU में कॉपी और पेस्ट कर सकते हैं।
सॉफ्टवेयर भी ग्राहक की ओर से एक मुद्दा है। यदि आपका बगफिक्स किसी भी तरह से पश्चगामी संगतता को तोड़ता है, तो आपके सभी ग्राहकों को अपने कोड को अपडेट करना होगा, जो कि उनके पास अब तक उपकरण भी नहीं हो सकते हैं।
जैसा कि कोई व्यक्ति जो माइक्रोकंट्रोलर विकास में काम करता है, मैं आपको बता सकता हूं कि हम सभी को हर बग को ठीक करना पसंद करेंगे। लेकिन ऐसा करने की कोशिश करने से अप्रत्याशित रूप से विकास में देरी होगी, ग्राहकों को परेशान करना होगा, एक टन पैसा खर्च करना होगा, और यह सब खत्म होने पर भी हम शायद असफल रहेंगे।