एक स्वचालित निर्मित प्रणाली स्थापित करने के लिए कौन जिम्मेदार है?


15

मैं अपनी कंपनी में एक प्रोजेक्ट मैनेजर हूं। मैं सीवीएस नामक एक मानक, प्रसिद्ध संस्करण नियंत्रण प्रणाली का उपयोग करके डेवलपर्स की कुछ टीमों के साथ काम करता हूं। मैं निर्माण को तोड़ने और उत्पादन सर्वर पर चुपके से खराब तैनाती के साथ समस्याओं को रोकने में मदद करने के लिए निरंतर एकीकरण और स्वचालित बिल्ड को लागू करना चाहता हूं।

मुझे यकीन है कि मैं इसे स्वयं स्थापित कर सकता हूं, लेकिन मैं खुद को दो कारणों से नहीं करना चाहता:

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

  2. सबसे महत्वपूर्ण बात, मैं प्रोजेक्ट मैनेजर हूं। मेरा उद्देश्य नेतृत्व प्रदान करना है, न कि विकास टीम का सूक्ष्म प्रबंधन करना

कुछ चीजें क्या हैं जो मैं विकास टीम पर किसी को खोजने के लिए कर सकता हूं जो इसे स्थापित करने के बारे में भावुक होगा? क्या कोई डेवलपर इस कार्य के लिए सही व्यक्ति है, इस पर विचार करने के लिए जावा, स्प्रिंग और Google ऐप इंजन के ज्ञान की आवश्यकता होती है? जहां बदलाव की आशंका है, वहां बदलाव को बढ़ावा देने में मदद करने के लिए कुछ सुझाव क्या हैं?


7
यह मेरे लिए खबर है कि परियोजना प्रबंधक की भूमिका नेतृत्व प्रदान करना है।
युरी जुबेरव

अंत में ज्ञान की आवश्यकताओं की सूची, सभी चीजें जो डेवलपर्स के पास हो सकती हैं या नहीं हो सकती हैं, और गैर-डेवलपर्स निश्चित रूप से नहीं करेंगे। अपने पर निर्भर है।
ऑर्लिंग

5
सीवीएस का उपयोग करने के लिए लगभग -1।
जोहानिस रुडोल्फ

@ जोहान्स - अगर यह मेरे ऊपर था, तो हम नहीं होंगे। वास्तव में, मेरे पास एक SVN रिपॉजिटरी सेटअप है जिसका मैं उपयोग कर रहा हूं।
jmort253

1
सीवीएस जितनी पुरानी तकनीक है (और मेरे पसंदीदा से बहुत दूर) यह अभी भी काम करती है और बहुत सारे स्थान अभी भी इसका उपयोग करते हैं। और अगर यह काम कर रहा है, तो आपको इसे जगह पर छोड़ने की ज़रूरत है। हम इसे अपने कार्यालय में उपयोग करते हैं, और यह काम पूरा कर लेता है।
ज़ाचरी के

जवाबों:


14

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

मैं एक निरंतर एकीकरण उपकरण शुरू करना चाहता हूं ताकि बाद में पहले की तुलना में जहरीले संशोधन सतह पर हो। मैंने [हडसन, एक्मे सीआईएस, फू] को देखा है और उन सभी को लगता है कि वे काम करेंगे। इस तथ्य को देखते हुए कि हम सीवीएस का उपयोग कर रहे हैं [सूची कैवियट्स के साथ], मैं सिफारिशों की तलाश कर रहा हूं और टीम जो भी निर्णय लेगी मैं उसके साथ रहूंगा।

डेव, कृपया एक आम सहमति प्राप्त करने और इसे प्राप्त करने और चलाने के लिए प्रभार लें। टीम - कृपया गुरुवार के अंत तक डेव पर अपना इनपुट डालें ताकि हम शुक्रवार को इसका परीक्षण कर सकें।

एक बार कुछ स्थापित होने के बाद कृपया मुझे मेरी साख भेजें।

इस दृष्टिकोण के निम्नलिखित लाभ हैं:

  • आप डेलीगेशन कर रहे हैं, डंपिंग नहीं
  • लोगों को पता है कि आपने कुछ शोध किया है, आपके द्वारा इंगित किए गए सामान की गुणवत्ता कार्यान्वित टूल की गुणवत्ता के लिए आपकी अपेक्षाओं को परिभाषित करने में मदद करती है
  • [कैविट्स] के बारे में आप जानते हैं, आइए, उनके बारे में चर्चा करने से तब तक न उबरें जब तक कि वे वास्तव में हाथ में काम के लिए डील ब्रेकर न हों
  • आप थोड़ा लोकतंत्र की अनुमति दें। निश्चित रूप से, आप यह देखने के लिए लॉगिन करेंगे कि क्या कुछ टूट गया है, लेकिन जिन लोगों को सीआईएस से निपटना है, वे मंच को चुनने वाले होंगे।

मेरे नकली परिदृश्य में, Daveउसका चयन इसलिए किया गया क्योंकि उसकी प्लेट पर कम से कम और शायद एक नया सर्वर स्थापित करने में कोई समस्या नहीं होगी। काम के बोझ के आधार पर, Daveबस आपको होना चाहिए। यह इतना व्यक्तिपरक है कि मैं बस इसका उल्लेख करता हूं। आप हमेशा not my job to do thatविशेष रूप से यह नहीं कह सकते हैं कि आप केवल वही हैं जो इसे करने का समय है। यदि हर कोई पहले से ही समय के साथ खींच रहा है, तो मदद करने की आपकी इच्छा की उनकी धारणा अधिक महत्वपूर्ण हो जाती है। समय के साथ आपके द्वारा विकसित एक कौशल है।

किसी भी घटना में, आपके पास शुक्रवार तक CIS सर्वर होगा, या इस बात का विवरण कि हाथों के अतिरिक्त सेट के बिना बस संभव क्यों नहीं है।


2
इनपुट और सलाह के लिए धन्यवाद। मैं not my jobकाम से बाहर निकलने के लिए कार्ड को खींचने की कोशिश नहीं कर रहा था , लेकिन क्योंकि प्रोजेक्ट प्रबंधकों के लिए यह आसान है कि कभी-कभी विकास टीम क्या कर रही है। इसे विकास को सौंपकर, मैं उन्हें नियंत्रण और शासन देता हूं। इसके अलावा, अगर वे इसे स्थापित करने का कार्यभार संभालते हैं, तो वे इसका उपयोग करने की अधिक संभावना रखते हैं, जबकि अगर मैंने इसे स्थापित किया है, तो मुझे निरंतर एकीकरण को सेटअप करने के तरीके का एक अच्छा सीखने का अनुभव मिलेगा लेकिन बिना आरओआई और देने की अवसर लागत के मेरे अन्य कार्यों पर। इसके अलावा, नमूना ईमेल बहुत उपयोगी है :) +1
jmort253

@ jmort253 - हां, मुझे पता है कि आप काम को टाल नहीं रहे हैं। मैं स्पष्टता के लिए अद्यतन करूँगा।
टिम पोस्ट

3
टीम को शामिल करने और उन्हें तकनीकी निर्णय लेने के लिए +1। उन्हें स्वीकार करने और नई प्रणाली का उपयोग करने के लिए महत्वपूर्ण है।
पीटर टॉरक

14

मैं इसे तीन संभावित तरीकों से देखता हूं:

  1. देव टीम में किसी ने संभव उपकरणों के त्वरित मूल्यांकन के साथ आया है और उसे जल्दी से कुछ कोड़ा है। यदि आपकी अलग-अलग परियोजनाओं में उचित स्क्रिप्ट का निर्माण होता है (यानी आप आईडीई से बाहर परियोजनाओं का निर्माण कर सकते हैं) तो उन्हें सीआई को हुक करने के लिए काफी जल्दी होना चाहिए।

  2. बिल्ड इन्फ्रास्ट्रक्चर को अपनी टीम के भीतर एक आंतरिक परियोजना के रूप में समझें और इसे इस तरह प्रबंधित करें। पहले बिंदु की तुलना में थोड़ा अधिक शामिल है लेकिन अगर सही किया जाता है तो आपको एक बेहतर सिस्टम मिलेगा। साथ ही टीम पर ज्ञान फैलाने से नीचे उल्लेखित अति-विशेषज्ञता का जोखिम कम हो जाएगा। आप सहकर्मी-समीक्षा के लाभ भी प्राप्त करते हैं। हालाँकि कुछ प्रोग्रामर इस कार्य को डिमैमिंग के रूप में देख सकते हैं और जैसे कि इसमें उतना खर्च नहीं करना चाहिए जितना कि उन्हें करना चाहिए।

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

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

एक प्रबंधक मैंने एक बार कहा था कि उपकरण अच्छे हैं लेकिन एक प्रक्रिया के बिना वे बेकार हैं। मैं केवल यही चाहता हूं कि वह उस समय का अनुसरण करे, जब उसने कहा कि समय आने पर इन्हें लगाने के लिए ...

इसलिए, यदि आप किसी को नौकरी देने का फैसला करते हैं, तो आईटीआई पृष्ठभूमि वाले किसी व्यक्ति के बजाय प्रोग्रामर प्राप्त करने के निश्चित फायदे हैं। मुख्य बिंदु यह है कि यह व्यक्ति गोंद कोड और प्लगइन्स बनाने में कुछ समय और ऊर्जा खर्च कर सकता है जो विभिन्न प्रणालियों को एक साथ सुसंगत प्रणाली में एकीकृत करेगा।

उम्मीद है कि इससे मदद मिली


2
@Newtopian - यह मदद करता है। खासतौर पर किसी योजना को लागू करने से पहले आंख मूंदकर योजना बनाने के बारे में। धन्यवाद। +1
jmort253

1
+1 सुंदर ध्वनि की सलाह। इसके अलावा, आप जिस भी प्लेटफ़ॉर्म पर काम कर रहे हैं, यदि आपकी टीम का कोई सदस्य एक प्रमुख लिनक्स-हेड या किसी अन्य ओएस से बाहर है, जिसमें अक्सर डेवलपर उपयोगकर्ता बिल्ड स्क्रिप्ट का उपयोग करते हैं, तो वे परियोजना के बारे में उत्साहित हो सकते हैं।
गार्ट क्लैबोर्न

1
+1 के लिए 3) हर सॉफ्टवेयर टीम में इन दिनों एक समर्पित बिल्ड मैनेजर होना चाहिए
सीन पैट्रिक फ्लोयड

1
एक प्रमुख कंपनी जिसे मैं (37signals; GitHub? I dunno) के बारे में पढ़ना याद करता हूं, जो बिल्ड तोड़ने वाले अंतिम व्यक्ति को बिल्ड मास्टर होने की जिम्मेदारी सौंपती है। यह सुनिश्चित करता है (1) लोग बिल्ड को न तोड़ने का ध्यान रखते हैं, और टीम के कई सदस्यों (आदर्श) को बिल्ड सिस्टम के बारे में सीखने का अनुभव मिलता है।
मिशेल टाइली

1
@jmort अभी या बाद में यह बात करने के लिए जहां कोई भी नहीं कर सकते हैं प्रयास की लागत हो रही है नहीं इस तरह के एक समर्पित स्थिति होने
शॉन पैट्रिक फ्लोयड

3

यदि आपके पास नेतृत्व की भूमिका है, तो लापता घटकों / प्रथाओं की पहचान करना और इसे सही ढंग से लागू करने की जिम्मेदारी आपकी जिम्मेदारी है। कार्यान्वयन का कार्य सौंपा जा सकता है या नहीं, लेकिन अंततः यह नेताओं की जिम्मेदारी है।

स्वीकृति की कुंजी समझ है, या कम से कम आपको संदेह का लाभ दे रही है। आप जो करना चाहते हैं उसके माध्यम से बात कर सकते हैं और लागत और लाभ ला सकते हैं। यदि चर्चा समझ में नहीं आती है, तो आप अपने निर्णयों में उनके भरोसे पर भरोसा कर सकते हैं, लेकिन केवल तभी जब आप उस तरह के पुनर्खरीद का निर्माण किया हो।

यदि आपका प्रतिनिधिमंडल विशेषज्ञता की कमी के कारण इसे एक स्टैंड अप या टीम मीटिंग के दौरान लाता है और एक स्वयंसेवक के लिए पूछता है। यदि कोई आगे नहीं आ रहा है तो बस इसे असाइन करें क्योंकि आप किसी अन्य काम को करेंगे।

अपडेट करें:

हर कंपनी के भीतर एक संगठनात्मक संरचना होती है। एक नेतृत्व की भूमिका उस स्तर पर संसाधनों की जिम्मेदारी है। उनके पास किसी भी समस्या को इंगित करने और संबोधित करने की जिम्मेदारी भी है। उन्हें अतिरिक्त संसाधनों और / या सुझाव की आवश्यकता हो सकती है जिस बिंदु पर आप श्रृंखला में जाते हैं। यदि आप उस समस्या से निपट सकते हैं जो आपके पास स्वयं को लागू करने या प्रत्यायोजित करने का विकल्प है। यह लोगों को इसमें शामिल कर सकता है और इसे सीधे प्रभावित करेगा, आदर्श रूप से उनके साथ मिलकर।

मैं यह नहीं कह सकता कि किसी कंपनी में किसी विशेष व्यक्ति या समूह के लिए निदेशक स्तर और ऊपर के पदों को कभी भी सीधे जिम्मेदार नहीं होना चाहिए। यह वास्तव में कंपनियों के संगठनात्मक ढांचे पर निर्भर करता है। मैंने स्टार्ट-अप में काम किया है जहां सीटीओ सीधे डेवलपर्स और परीक्षकों के लिए जिम्मेदार था। उस स्तर पर अधिक पारंपरिक बड़े कंपनी प्रबंधन में उन निचले स्तरों पर उचित निर्णय लेने के लिए आवश्यक दृश्यता या परिचितता नहीं होगी।


मान लीजिए आप अन्य नेताओं के नेता हैं? क्या यह समझना सीईओ की जिम्मेदारी है कि प्रोजेक्ट टीम के एक जूनियर जावा डेवलपर को अतिरिक्त प्रशिक्षण की आवश्यकता है?
jmort253

@ jmort253 संक्षिप्त उत्तर शायद है, लेकिन यह कंपनी की संगठनात्मक संरचना पर निर्भर करता है। यदि कंपनी का ढांचा सपाट और छोटा है, तो यह सुनिश्चित करने की सीईओ की जिम्मेदारी हो सकती है कि डेवलपर्स प्रशिक्षण प्राप्त करें। वास्तव में, मैंने कई स्टार्टअप्स में काम किया है जहां वीपीएस की प्रत्यक्ष रिपोर्ट है जो प्रबंधक नहीं थे।
डायटबुद्ध

1

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

किसी मीटिंग में पहले यह देख लें कि किसी को ऐसा करने की इच्छा है या नहीं - जब तक कि यह उन परियोजनाओं को प्रभावित नहीं करता है जो वे वर्तमान में काम कर रहे हैं।

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

मेरे पिछले स्थान पर, बिल्ड को मानक और उत्पादों के अनुरूप बनाने का इरादा था। बहुत सारे उत्पाद केवल एक विशेष कंप्यूटर पर निर्मित किए जा सकते हैं (एक उत्पाद के मामले में, आक्रामक DRM के साथ एक 3 पार्टी नियंत्रण को शामिल करना जो बहुत पहले व्यापार से बाहर हो गया था, हमें डेवलपर के छोड़ने के बाद लगभग 5 वर्षों तक एक मशीन को जीवित रखना था। क्योंकि उनका एकमात्र ऐसा था जो अब व्यावसायिक रूप से शिपिंग उत्पाद को बदल सकता है)। इसके अलावा, इंस्टॉल केवल एक व्यक्ति द्वारा किया जा सकता है जो सुबह का व्यक्ति था - इसलिए यदि आपको लगभग 3 बजे के बाद एक निर्माण की आवश्यकता थी, तो आपने अगले दिन तक इंतजार किया।

क्या कोई डेवलपर इस कार्य के लिए सही व्यक्ति है, इस पर विचार करने के लिए जावा, स्प्रिंग और Google ऐप इंजन के ज्ञान की आवश्यकता होती है?

निर्भर करता है। यदि आपके पास कुछ QA व्यक्ति हैं जो स्क्रिप्टिंग में सभ्य हैं, तो उन्हें असाइन करने से पहले पहले पूछें।

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


0

एक अलग दिशा से इसे स्थापित करने का प्रयास करें - जब उत्पादन में कोई समस्या होती है तो इसे ठीक करने और तेजी से ठीक करने के लिए देव टीम पर ओनस डालते हैं। फिर एक साधारण रात के निर्माण का विचार पेश करें जो नवीनतम कोड, संस्करण स्टैम्प आदि से संकलित करता है। यदि यह निर्माण करने में विफल रहता है तो इसे बढ़ावा नहीं दिया जाएगा।

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


0

आप बस अपनी अगली टीम मीटिंग में कह सकते हैं, "ठीक है मुझे लगता है कि हमें इसकी वजह से ऐसा करना चाहिए। कौन इसे लागू कर सकता है" मैं आपको इससे भी बेहतर देता हूं कि कोई व्यक्ति यह भी कहेगा कि "ज़रूर करूँगा"। फिर आपको इसके बारे में झगड़ा करने की जरूरत नहीं है।

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