बड़े संगठनों के साथ शाखापत्र से कैसे बचें?


10

जब आप बड़े संगठनों के साथ काम करते हैं, तो आप एक ब्रांचेडेडन स्थिति से कैसे बचते हैं?

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

समुदाय के लिए मेरे प्रश्न हैं:

  • क्या आपने अपने ग्राहकों से इसी तरह की अपडेट स्वीकृति के दृष्टिकोण का अनुभव किया है?
  • इस दृष्टिकोण के साथ काम करने के लिए आपके पास क्या सुझाव हैं?
  • सॉफ्टवेयर अपडेट लेने के लिए संगठनों को बदलने में आपकी मदद के लिए क्या सुझाव हैं?

हे मार्क, ऐसा लगता है कि आपके पास एक दिलचस्प दुविधा है। आप इन्हें प्रति ग्राहक अपडेट विकसित करने का प्रबंधन कैसे करते हैं? क्या आप उन्हें प्रत्येक ग्राहक के लिए एक-बंद आधार पर विकसित करते हैं, या क्या यह ऐसा कुछ है जो आप सभी ग्राहकों के लिए विकसित और लागू होते हैं?
प्रेस्टन 13

व्यक्तिगत रूप से, मैं इस स्थिति में अन्य रोजगार की तलाश कर सकता हूं। ऐसा लगता है कि एक सुरक्षा घटना घटने की प्रतीक्षा कर रही है ... मैं आपको उस उपकरण विक्रेता के लिए बता सकता हूं जिसके लिए मैंने काम किया था, उनके पास एक प्रमुख बग था जो एक अपडेट में तय किया गया था कि वे कथित तौर पर नहीं जा सकते थे। वे एक कस्टम फिक्स चाहते थे। हमने उन्हें एक बनाने से इनकार कर दिया और उन्हें बताया कि उन्हें अपनी व्यावसायिक नीतियों को ठीक करने की आवश्यकता है - हम बग के लिए एक कस्टम हॉटफ़िक्स रोल करने नहीं जा रहे थे, जिसे हमने पहले ही पैच कर दिया था ताकि वे आंतरिक राजनीतिक मुद्दों से बच सकें।
जेम्स शेवी

हम कई कोड शाखाओं के माध्यम से कस्टम क्लाइंट विशिष्ट अपडेट प्रबंधित करते हैं और सभी शाखाओं में सुरक्षा अपडेट को क्रॉस करते हैं, और ट्रंक में वापस शाखा कोड फिक्सिंग को पार करते हैं। अक्सर ग्राहक A अपनी शाखा में ग्राहक B अपडेट नहीं लेंगे, वे केवल अपने स्वयं के अपडेट और सुरक्षा पैच लेंगे। यह उनकी शाखा में स्थिरता की इच्छा से प्रेरित है और इसलिए उन्हें केवल उनके लिए प्रासंगिक अपडेट का परीक्षण करना होगा। वे ट्रंक अपडेट को कम बार (यानी महीनों से सालों तक) लेते हैं जब वे पूरी तरह से पुन: परीक्षण चलाने के लिए तैयार होते हैं, जिसे पूरा करने में महीनों लग सकते हैं। स्वचालित परीक्षण का उत्तर हो सकता है!
मार्क व्हीलर

जवाबों:


3

जैसा कि माइकल ने उल्लेख किया है, रिलीज के संस्करणों / संख्याओं के आधार पर एक मानक समाधान पेश करें, जो आपके उद्योग के लिए एक लंबे समय तक जीवनकाल के साथ हो सकता है (हो सकता है कि यह आपके एक विशिष्ट ग्राहक के लिए समझ में आता है, अगर यह एक या अधिक छोटे जीवनकाल मध्यवर्ती संस्करणों के साथ interleaved है)।

अपने ग्राहकों को इस मानक रिलीज़ ट्रैक को अपनाने का विकल्प दें, हो सकता है कि जगह में एक अच्छी माइग्रेशन की समय सीमा के साथ।

यदि वे एक पूर्ण-कस्टम शाखा समर्थन रणनीति पर जोर देते हैं, तो उन्हें तदनुसार पूरा चार्ज करने के लिए, इस तरह के पूर्ण-कस्टम समर्थन की पेशकश करने के लिए आपकी सभी अतिरिक्त लागतों को ठीक से कवर करने के लिए - यह केवल व्यापार की समझ में आता है। कुछ ग्राहक अपनी लागत कम करने के लिए माइग्रेट करेंगे (जो आपको कस्टम शाखाओं की संख्या कम करने में मदद करेंगे), कुछ नहीं करेंगे।

परिवर्तनीय समर्थन बिलिंग, रिलीज़ संस्करणों की आयु के साथ उत्तरोत्तर बढ़ती जा रही है, जिसमें से कस्टम शाखाएँ निकलती हैं, जो ग्राहकों के लिए पुरानी शाखाओं के तेजी से समापन के साथ नई शाखाओं में तेज़ी से प्रवास करने के लिए एक प्रोत्साहन हो सकती हैं। यह प्रति ग्राहक कस्टम शाखाओं की संख्या को कम करने में मदद कर सकता है - यदि आपके पास ऐसे ग्राहक हैं जो एक साथ आपके सॉफ़्टवेयर के कई संस्करण चलाते हैं।

सुनिश्चित करें कि आप रिलीज शाखाओं (मानक और कस्टम दोनों) में से किसी से पूर्ण शाखा मर्ज करने के जाल में नहीं आते हैं, उनके लिए सभी परिवर्तन या तो व्यक्तिगत रूप से विकसित होने चाहिए या चेरी-मर्ज किए गए फ़िक्सेस होने चाहिए।

क्योंकि इनमें से प्रत्येक शाखा धीरे-धीरे प्रत्येक-दूसरे से अलग हो जाएगी, अनुकूलन / व्यक्तिगत विकास की आवश्यकता वाले हॉटफ़िक्स की संख्या तेजी से बढ़ेगी (सादा चेरी-पिक विलय विफल हो जाएगा)। आपको इनके लिए विकास लागत को ध्यान में रखना होगा।

जिस चित्र में आप कर सकते हैं, उसमें कोई महत्वपूर्ण (महत्वपूर्ण) शाखा विलय नहीं है (और, मुझे इसके महत्व पर जोर नहीं देना चाहिए) इन शाखाओं के लिए पूरी तरह से स्वचालित CI / CD पाइपलाइनों का निर्माण करें, साथ ही साथ एक अच्छा हॉटफ़िक्स ट्रैकिंग / प्रबंधन प्रणाली के साथ, जिससे हॉटफिक्स वितरण हो। बस दिनचर्या (या लगभग)।


दान - इतना स्पष्ट और सरल लेकिन यह सही समझ में आता है। पैसा दुनिया का चक्कर लगाता है और बदले में हमें लंबे समय तक रहने वाली शाखाओं की लागत की भरपाई करने में मदद करनी चाहिए या ग्राहकों को अपग्रेड करने और ट्रंक के करीब रहने के लिए प्रोत्साहित करना चाहिए। अच्छी सलाह के लिए धन्यवाद।
मार्क व्हीलर

1

हो सकता है कि अगर आपने ग्राहकों के अनुसार प्रति संस्करण शाखाओं को बनाए रखा तो यह उनकी संख्या को कम करने में मदद कर सकता है?

अन्यथा वास्तव में इससे दूर होने का एकमात्र तरीका सॉफ्टवेयर को स्वयं होस्ट करना और सास मॉडल पर स्विच करने में सक्षम होना है जहां आप इसके केवल एक संस्करण को बनाए रखने में सक्षम होंगे।


दुर्भाग्य से हमारे ग्राहक अक्सर बहुत ही बंद वातावरण में काम करते हैं क्योंकि वे जिस वित्तीय डेटा के साथ काम कर रहे हैं, इसलिए सास मॉडल स्वीकार्य नहीं होगा।
मार्क व्हीलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.