अच्छी तरह से मूल रूप से एक स्थिर प्रणाली वह है जो अस्थिरता से ग्रस्त नहीं है। एक बार किसी काम को करने के लिए उसे सेट करने के बाद उस काम को करता रहता है। कोई भी सिस्टम पूरी तरह से स्थिर नहीं है लेकिन कुछ सिस्टम दूसरों की तुलना में बहुत अधिक अस्थिर हैं।
अस्थिरता को विभिन्न श्रेणियों में विभाजित किया जा सकता है।
- सॉफ़्टवेयर बग के कारण अस्थिरता जो हमेशा से थे, लेकिन सशर्त या यादृच्छिक रूप से प्रकट होते हैं।
- हार्डवेयर बग के कारण अस्थिरता।
- अन्य सॉफ्टवेयर के साथ सॉफ्टवेयर गड़बड़ाने के कारण अस्थिरता।
- सॉफ्टवेयर में परिवर्तन के कारण अस्थिरता।
बिंदु 1 को सॉफ्टवेयर परिपक्वता के माध्यम से कम किया जाता है। लंबे समय तक सॉफ्टवेयर का उपयोग करने वाले और बग की रिपोर्टिंग करने वाले बहुत से उपयोगकर्ताओं के साथ, उम्मीद है कि अधिकांश गंभीर को नीचे पिन करके तय किया जाएगा।
पॉइंट 2 से निपटने के लिए सबसे मुश्किल हो सकता है। पर्याप्त रूप से खराब हार्डवेयर समग्र प्रणाली स्थिरता के लिए आकांक्षाओं को बर्बाद कर देगा, लेकिन एक बार खोजे गए और पिन किए गए कई हार्डवेयर मुद्दों को सॉफ्टवेयर परिवर्तनों द्वारा कम किया जा सकता है।
सिस्टम में अलगाव को डिजाइन करके पॉइंट 3 को कम किया जाता है। ताकि जब सॉफ्टवेयर का एक पेअर हियरवायर हो जाए तो इसका प्रभाव पूरी तरह से सिस्टम के बजाय सॉफ्टवेयर के एक-एक पाइस में निहित हो जाता है।
बिंदु 4 यही कारण है कि हमारे पास सॉफ्टवेयर परियोजनाओं के "स्थिर रिलीज" (सहित, लेकिन ऑपरेटिंग सिस्टम वितरण तक सीमित नहीं है)। सॉफ़्टवेयर में परिवर्तन के कारण अस्थिरता महत्वपूर्ण हो सकती है, लेकिन सॉफ़्टवेयर को बिल्कुल नहीं बदलना वास्तव में एक विकल्प भी नहीं है क्योंकि उपयोगकर्ता की जरूरत है और बाहरी प्रभाव बदलते हैं।
स्थिर रिलीज़ जो उस जीवनकाल के लिए स्थिरता प्रदान करने वाले एक परिभाषित जीवनकाल में महत्वपूर्ण और / या कम जोखिम वाले अपडेट का न्यूनतम सेट प्राप्त करता है। कुछ बिंदु पर एक नया स्थिर रिलीज पुराने को बदल देता है। एक स्थिर रिलीज से अगले तक उन्नयन के दौरान अच्छी तरह से टूट-फूट हो सकती है, लेकिन यह एक ऐसी चीज है जिसे योजनाबद्ध और निर्धारित किया जा सकता है।