एक अच्छी तरह से निष्पादित रिलीज योजना और संचार के बारे में है। तो रिलीज से पहले इन सवालों पर विचार करें:
कब तक रिलीज़ होने की संभावना है, और क्या रिलीज़ होने के दौरान लोगों को मेरे उत्पाद के साथ इंटरफ़ेस जारी रखने में कोई जोखिम है? यदि सिस्टम के लिए कोई जोखिम है, तो सिस्टम को ऑफ़लाइन लेने और उसके स्थान पर "वर्तमान में चल रहे रखरखाव" संदेश पर विचार करने के लिए विचार करें।
क्या कोई ग्राहक है जिसे आपको समय से पहले रिलीज के बारे में सूचित करना पड़ सकता है? क्या मुझे उन्हें एक संभावित सेवा रुकावट, या प्रदर्शन में गिरावट के बारे में बताने की ज़रूरत है जबकि रिलीज़ चल रही है? व्यक्तिगत रूप से मैं हमेशा ओवर-कम्यूनिकेशन और सभी ग्राहकों को एक सार्वजनिक ब्लॉग या एक समान स्थल पर आगामी रिलीज़ या रखरखाव विंडो के बारे में बताता हूं ।
मेरी आकस्मिक योजनाएँ क्या जारी होनी चाहिए? उदाहरण के लिए, यदि रिलीज़ खराब हो जाती है, तो क्या हमें वापस रोल करना चाहिए और सिस्टम को उस तरह से बहाल करना चाहिए, जिस तरह से हम ऑफ़लाइन हैं? और यदि ऐसा है, तो एक अच्छी तरह से प्रलेखित रिलीज को वापस लाने के लिए कदम हैं? या समस्या होने पर समस्या निवारण में सहायता करने के लिए मेरे पास कॉल पर या हाथ पर सही लोग होने चाहिए। व्यक्तिगत रूप से, मुझे लगता है कि किसी भी रिलीज की योजना के दृष्टिकोण का सबसे अच्छा तरीका यह है कि रिलीज के साथ कुछ गलत हो जाएगा। इस तरह मैंने खुद को समय से पहले इनमें से कुछ मुद्दों पर सोचने के लिए मजबूर किया है।
इसके बाद, जब किसी रिलीज़ को निष्पादित करने की बात आती है, तो यह सुनिश्चित करने का सबसे अच्छा तरीका है कि यह आसानी से चलेगा , अभ्यास, अभ्यास, और रास्ते में आने वाली सभी चीज़ों का दस्तावेजीकरण करना है।। इसलिए, उत्पादन के लिए नए कोड को तैनात करने से पहले, पहले एक सुरक्षित, ठीक से सैंडबॉक्स किए गए वातावरण में कोड को तैनात करने का अभ्यास करें। क्या वह व्यक्ति जो उत्पादन को तैनात करने के लिए जिम्मेदार होगा, परीक्षण तैनाती को मंचन के लिए प्रदर्शन करें। अपनी ड्रेस रिहर्सल पर विचार करें और अपने आप को आचरण करें जैसे कि यह असली चीज़ है। जिस तरह से आप हर कदम पर दस्तावेज़ करते हैं; आपके द्वारा निष्पादित की जाने वाली प्रत्येक कमांड, आपके द्वारा चलाए जा रहे किसी भी SQL कोड, आपके द्वारा संशोधित की गई कोई भी फ़ाइल और आपने उन्हें कैसे संशोधित किया है, इस प्रक्रिया के साथ दस्तावेज़ के साथ प्रत्येक चरण के लिए प्रक्रिया को ठीक से निष्पादित करने की उम्मीद है। यदि आप किसी प्रकार की समस्या का सामना करते हैं, तो उसे हल करने के लिए आपने क्या किया था।
फिर अभ्यास परिनियोजन पूरा हो गया है, अपने नोट्स देखें और देखें कि क्या आप त्रुटियों को खत्म करने की प्रक्रिया को परिष्कृत कर सकते हैं। फिर इसे फिर से करें । जब तक कोई रिलीज निर्देश निष्पादित नहीं करता है, तब तक अभ्यास करते रहें, जैसे कि एक सरल निर्देश पत्र का पालन करना, जैसे कि "इस मशीन में लॉगिन करें, इस कमांड को निष्पादित करें; फिर डेटाबेस में लॉगिन करें और इस एसक्यूएल कमांड को निष्पादित करें; तब ..."
ऊपर दी गई बातें एक ऑपरेशन या रिलीज़ प्रबंधन टीम है जो रिलीज़ को सुचारू रूप से चलाने में मदद कर सकती है। लेकिन एक रिलीज में जोखिमों को कम करने में इंजीनियरिंग क्या कर सकती है?
छोटे को जारी रखें। सीधे शब्दों में कहें, एक रिलीज के द्वारा कोड परिवर्तन का सेट जितना जटिल होगा, रिलीज उतना ही जोखिम भरा हो जाएगा। एक ही समय में बड़ी रिलीज़ की एक छोटी संख्या के बजाय बड़ी संख्या में छोटी रिलीज़ करने की योजना बनाकर अपने ऑपरेशन टीम पर एहसान करें।
परीक्षण, परीक्षण, परीक्षण अपने QA परिवेश में अपने कोड का परीक्षण न करें, अपने सॉफ़्टवेयर का परीक्षण करने के लिए स्टेजिंग वातावरण का उपयोग करें। अक्सर ऐसे कीड़े होते हैं जिनके पास कोड के साथ बहुत कम या कुछ भी नहीं होता है, बल्कि एक मूल कारण होता है जो पर्यावरण के विन्यास में निहित है (या दोनों के कुछ मिश्रण)। इन मुद्दों को खोजने के लिए आपको एक पर्यावरण में अपने कोड का परीक्षण करने की आवश्यकता होती है जो उत्पादन, उर्फ मंचन को बारीकी से दिखाता है।
एक अंतिम शब्द के रूप में, कभी-कभी जो सबसे महत्वपूर्ण होता है वह यह नहीं है कि हम चीजों को गलत होने से रोकने के लिए क्या करते हैं, बल्कि यह है कि जब वे गलत होते हैं तो हम खुद को कैसे संचालित करते हैं। इसलिए, मुझे लगता है कि परिचालन पारदर्शिता के आसपास आपकी कंपनी में एक संस्कृति का निर्माण करना महत्वपूर्ण है। ग्राहकों से मुद्दों को छिपाने की कोशिश मत करो, आगामी हो। ग्राहकों को यह बताने के लिए सक्रिय रूप से ट्विटर का उपयोग करें कि क्या कोई समस्या है जो आपकी ऑप्स टीम को वर्तमान में पता है और हल करने के लिए काम कर रहा है ( लाइटहाउस इस पर कमाल है!)। अपनी सेवा के लिए "स्थिति" पृष्ठ प्रकाशित करने पर विचार करें जो ग्राहक यह देखने के लिए संदर्भित कर सकते हैं कि क्या कुछ गलत है ( टाइपपैड इस का एक बड़ा उदाहरण प्रस्तुत करता है)। निचला रेखा, हमेशा ओवर-कम्युनिकेशन की तरफ। आपके ग्राहक इसके लिए आपको धन्यवाद देंगे।