आप एक चरवाहे कोडर को कैसे निर्वस्त्र करते हैं? [बन्द है]


37

मुझे एक प्रश्न (टीम पर कोड काउबॉय) मिला, लेकिन यह "निंजा कोडर" से संबंधित था, फिर मेरे पास जो समस्या थी।

मेरे पास एक टीम मेंबर है जो " काउबॉय कोडर " का शुद्ध जीवंत उदाहरण है । मैं समझता हूं कि कोई भी लोगों को नहीं बदल सकता है, लेकिन उसे "काउबॉय कोडर" की तरह व्यवहार करना बंद करने का एक तरीका है?

उन्होंने टीम को सुनने से इनकार कर दिया, और उन्होंने हाल ही में कोड समीक्षा, इकाई परीक्षण, कार्यान्वयन विवरण साझा करने आदि को रोक दिया।

हां, वह तेजी से "कोड" करता है, लेकिन उसका कोड सिर्फ बग जनरेटर है। अन्य टीम के सदस्य और मैं एक "बग फिक्सिंग चरण" में हैं और 80% बग उसके कोड से आते हैं। मैं उसके कीड़े ठीक नहीं करना चाहता। और प्रबंधन अंधा है, या यह देखना नहीं चाहता है, या शायद उन्हें उसकी "गति" पसंद है।

क्या कोई ऐसा तरीका है जिससे मैं (उम्र के अनुसार उसका छोटा सहयोगी, उसके मालिक नहीं) इसके बारे में कुछ कर सकता हूं?

मैं इस चरवाहे कोडर को कैसे निष्क्रिय कर सकता हूं?

मुझे लगता है कि मैं आखिरी हूं जो वास्तव में इस परियोजना के बारे में परवाह करता हूं।


17
इस आदमी को अपने कीड़े ठीक करने की जरूरत है। प्रत्येक डेवलपर को कोड समीक्षाओं के माध्यम से जाने की आवश्यकता क्यों नहीं है?
प्रोग्रामर

8
किसके अधिकार के तहत उसने कोड समीक्षाएं बंद कर दीं?
ओट्टोवियो डेसिओ

14
तो ... आपको इस चीज़ को प्रबंधित करने वाला कोई नहीं मिला। यह आपकी समस्या है, चरवाहे कोडर की नहीं।
ओट्टोवियो डेसिओ

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

7
लेकिन हम "करीबी धागे" काउबॉय को कैसे नापसंद करते हैं ...
ऋग

जवाबों:


22

मुझे कुछ विकल्प दिखाई देते हैं:

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

6

उन्होंने टीम को सुनने से इनकार कर दिया, और उन्होंने हाल ही में कोड समीक्षा, इकाई परीक्षण, कार्यान्वयन विवरण साझा करने से रोक दिया ...

कोड की समीक्षा के लिए आवश्यक नहीं है कि कोडर को समीक्षा के लिए काम प्रस्तुत करना पड़े।

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

हां, वह तेजी से "कोड" करता है, लेकिन उसका कोड सिर्फ बग जनरेटर है। अन्य टीम के सदस्य और मैं एक "बग फिक्सिंग चरण" में हैं और 80% बग उसके कोड से आते हैं। मैं उसके कीड़े ठीक नहीं करना चाहता। और प्रबंधन अंधा है, या यह देखना नहीं चाहता है, या शायद उन्हें उसकी "गति" पसंद है।

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

अपनी टीम के बिल्ड सर्वर में "कोड कवरेज" मीट्रिक जोड़ें (उम्मीद है कि आपके पास एक है; यदि नहीं, तो यह आपकी पहली समस्या है)। बस जाँच कर रहा है कि यूनिट परीक्षण पास अपने नए गैर-टीडीडी कोड के साथ समस्याओं को नहीं पकड़ेंगे, जो उन क्षेत्रों में बने हैं जिनके पास यूनिट परीक्षण नहीं हैं। सभी यूनिट परीक्षणों को चलाने के बाद, बिल्ड सर्वर को आदर्श रूप से कोड की प्रत्येक पंक्ति को निष्पादित करना चाहिए, लेकिन वास्तव में कुछ चीजें हैं जिन्हें आप यूनिट-टेस्ट नहीं कर सकते हैं। वास्तविक रूप से, आपको अभी भी 95% कवरेज या बेहतर (या कुछ पुस्तकालयों या कवरेज से फ़ाइलों के प्रकार को बाहर करने की उम्मीद है) में सक्षम होना चाहिए। जल्दी या बाद में, आपका चरवाहा कुछ ऐसी चीज़ों की जाँच करेगा जो निर्माण को तोड़ती है क्योंकि वह सीमा से नीचे के कवरेज स्तर को गिरा देती है, और आप उसे बाहर बुलाते हैं।

और जहां तक ​​"गति" का संबंध है, गति कितनी तेज है कि आप चीजों को "पूरा" कर सकते हैं, और जब तक यह सही ढंग से नहीं किया जाता है तब तक यह "नहीं" होता है। आप इसे अपने प्रबंधकों को इस तरह से डाल सकते हैं; एक ऑटो मैकेनिक पर विचार करें, जब प्रबंधक अपने बीएमडब्ल्यू को एक तेल परिवर्तन प्राप्त करने के लिए लेता है, तेल पैन प्लग को वापस बाहर करना भूल जाता है और परिणामस्वरूप सभी नए तेल को गैरेज से बाहर निकालने से पहले ही बाहर निकाल देता है। निश्चित रूप से, तेल परिवर्तन में केवल पाँच मिनट लगे, लेकिन प्रबंधक को इस बात की परवाह नहीं थी कि घर के रास्ते में उनकी कार का इंजन कब बंद हो जाएगा। वह ध्यान रखने वाला है कि मैकेनिक एक कदम चूक गया, जिससे उसे बहुत अधिक अतिरिक्त समय और पैसा खर्च करना पड़ रहा है। अभी, वह एक चरवाहे का भुगतान कर रहा है ताकि वास्तव में तेजी से काम किया जा सके, और फिर वह ' बाकी टीम को भुगतान करने और काम को सही ढंग से करने के लिए एक बड़ी राशि का भुगतान करना है। क्या, सच में, फायदा यह है कि चरवाहे को अपनी बात करने देना जारी है?

क्या कोई ऐसा तरीका है जिससे मैं (उम्र के अनुसार उसका छोटा सहयोगी, उसके मालिक नहीं) इसके बारे में कुछ कर सकता हूं?

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

मुझे लगता है कि मैं आखिरी हूं जो वास्तव में इस परियोजना के बारे में परवाह करता हूं।

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


5

इस एक डेवलपर से कितने कीड़े / मुद्दे आ रहे हैं, इसके बारे में अपने आंकड़ों के साथ प्रबंधन पर जाएं। उन्हें समझाएं कि उनके कीड़े को ठीक करने से आपकी टीम की उत्पादकता प्रभावित होती है। यदि वास्तव में 80% मुद्दे एक व्यक्ति से आ रहे हैं, तो निश्चित रूप से इस पर ध्यान देने की आवश्यकता है। जब तक आप इसे प्रबंधन के संदर्भ में समझाते हैं, तब तक वे इससे सहमत हो सकते हैं (यानी "समय बर्बाद किया गया धन बर्बाद हो गया है"), वे हस्तक्षेप करेंगे।

इसके अलावा, इस डेवलपर को अपने स्वयं के बग / मुद्दों को ठीक करना चाहिए, इसलिए यह इन मुद्दों को असाइन करने में मददगार हो सकता है। आपकी टीम को इस एक व्यक्ति के लिए कवर नहीं करना चाहिए।


4

क्या कोई ऐसा तरीका है जिससे मैं (उम्र के अनुसार उसका छोटा सहयोगी, उसके मालिक नहीं) इसके बारे में कुछ कर सकता हूं?

उदाहरण के लिए सहकर्मी दबाव और अग्रणी एकमात्र अच्छे तरीके हैं। सबसे अच्छे तरीके उनके बॉस / लीड द्वारा किए जाते हैं। यदि आप उनके बॉस / लीड नहीं हैं तो उन लोगों के साथ बात करें जो हैं। लेकिन अंत में यह उनकी देखभाल करने का काम है, आपका नहीं। सुनिश्चित करें कि आप एक अच्छा काम कर रहे हैं और चीजें अपने आप काम करने लगती हैं।


1
काउबॉय कोडर दबाव से प्रतिरक्षा हो सकता है, अगर प्रबंधन उसके सही प्रभाव को नहीं समझता है तो वे उसके कथित प्रभाव से अंधे हो सकते हैं।
mhoran_psprep 15

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

2
@ मोहनन_स्पर्श - ओह ज़रूर। मैं उसके सफल होने की उम्मीद नहीं करता , लेकिन मुझे यह भी लगता है कि चीजों को ठीक करने की कोशिश करना अन्यथा नकारात्मक परिणामों के संबंध में अधिक जोखिम भरा है। इसके बारे में एक विशाल उपद्रव करना अपने आप को अस्थिर करने का एक त्वरित और आसान तरीका है, खासकर अगर ओपी की चरवाहे की धारणाएं गलत हैं।
तेलस्तीन

0

उन्होंने टीम को सुनने से इनकार कर दिया, और उन्होंने हाल ही में कोड समीक्षा, इकाई परीक्षण, कार्यान्वयन विवरण साझा करने से रोक दिया ...

क्या आपके पास समीक्षा, परीक्षण और कार्यान्वयन के माध्यम से कोड के लिए एक प्रलेखित मार्ग नहीं है? यदि नहीं, तो आप एक व्यापक समस्या है। यदि आप करते हैं, तो यह एक ऐसी चीज है जिसे बढ़ाने की आवश्यकता है।


निश्चित रूप से, हमें प्रक्रियाओं और दस्तावेजों के टन मिले। लेकिन यह लोगों के बारे में है कि वे उनका उपयोग कैसे करते हैं।
एड्रोनियस

लेकिन संबंधित साइन ऑफ प्राप्त किए बिना कुछ भी उत्पादन पर नहीं मिलना चाहिए। क्या आप मुझे बता रहे हैं कि वह सामान्य परिवर्तन नियंत्रण में हैं?
लालच

बिल्कुल नहीं, लेकिन इस तरह का। वह कोड में परिवर्तन करता है, फिर वह कोड की समीक्षा करने के लिए "औपचारिक" चरण करता है = केवल स्वयं द्वारा कुछ टूल का उपयोग करता है, इसलिए कोड ने "ध्वजांकित" की समीक्षा की या अपने साथी से पूछा (कि कोड के बारे में परवाह नहीं है) "समीक्षा" उसका कोड। फिर वह एक मिनट में कोड को "समझाता है" और यह किया जाता है। हुर्रे, और वह परिवर्तनों को प्रस्तुत करने के लिए जाता है।
Adronius
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.