मुझे विभिन्न कौशल स्तरों वाली टीम का प्रबंधन कैसे करना चाहिए?


16

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

मुझे micromanagement से बचने के दौरान मानकों को कैसे बनाए रखना चाहिए? क्या यह कुछ आरेख बनाने के लिए, कुछ कोड समीक्षाओं को शेड्यूल करने के लिए है, और भरोसा है कि मैं कुछ भी ठीक कर सकता हूं जो वे तोड़ सकते हैं, या मुझे टीडीडी मार्ग जाना चाहिए और टीम को संतुष्ट करने के लिए स्पष्ट परीक्षण लिखना चाहिए?


11
क्या समान कौशल स्तरों वाली टीम है?
पी। ब्रायन। मैके

@ P.Brian.Mackey: मेरा मतलब बिल्कुल अलग है।
जॉन प्यारे

@ जॉन: मैं वास्तव में आशा करता हूं कि आप जानते हैं कि आप अपने आप में क्या कर रहे हैं। सुनिश्चित करें कि उनके पास गेट-गो (!) से कुछ "पोर्क" है। मुझे यह महसूस होता है कि आपको किसी ऐसे व्यक्ति की ज़रूरत है, जो आपके साथ बहुत सारे अनुभव रखता हो, अगर ऐसा लगता है, तो वे यूनिट-टेस्ट भी नहीं लिख सकते हैं और (!) ने यह नहीं खोजा है कि अपने दम पर कैसे करें: यह आगे बढ़ता है। मुझे लगता है कि शायद आप उनके कौशल को बता रहे हैं। कहने की जरूरत नहीं है, इस मामले की तुलना में अधिक क्षमता मान लेना एक अच्छी परियोजना प्रबंधन तकनीक नहीं है।
हेनरिक

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

एक कंपनी या साइड प्रोजेक्ट के लिए है?
मार्की

जवाबों:


10

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

साइड नोट: एनुअल रिव्यू के दौरान कोई हैरानी नहीं होनी चाहिए।


2
+1 के लिए "मॉडल बनें।" कोड समीक्षाओं में मैंने जो सबसे बड़ा लाभ देखा है वह यह है: अन्य लोगों की चंचलता से सीखना। वह, और सामयिक दोष को पकड़ना।
पीटर के।

1
"शुद्धिकारक" होने के दौरान कोड-समीक्षा के लिए एक उपकरण है [ code.google.com/p/gerrit/]
हेनरिक

9

इन सबसे ऊपर : अपनी अपेक्षाओं और डिजाइन को यथासंभव विभिन्न तरीकों से संवाद करें। आरेख कुछ के लिए अच्छे हैं; दूसरों के लिए परिभाषित इंटरफेस काम करते हैं; जोड़ी-प्रोग्रामिंग भी काम करती है; औपचारिक कोड समीक्षा भी कुछ लोगों की मदद कर सकती है।

मैं भी यथासंभव स्वचालन का उपयोग करने की सलाह देता :

  • एनडीपेंड जैसे टूल का उपयोग करने के लिए टीम प्राप्त करेंयदि आप .Net क्षेत्र में हैं तो या Resharper । यदि आप उन्हें पसंद नहीं करते हैं तो मानक नियमों को तोड़ दें।
  • अपने परीक्षण को जितना हो सके उतना व्यावहारिक रूप से स्वचालित करें।

एक असफल परीक्षण मामले या स्वचालित निरीक्षण उपकरण के साथ बहस करना मुश्किल है, बशर्ते कि वे अच्छी तरह से स्थापित हों।


3
खराब प्रोग्रामर शायद खराब टेस्ट मामलों को सेट करते हैं?
जेएफओ

1
Resharper जैसे उपकरण डिफ होते हैं। स्वच्छ, लेकिन निश्चित रूप से स्वतंत्र नहीं हैं। स्वचालित परीक्षण के लिए परीक्षण-सक्षम कोड लिखने की आवश्यकता होती है, जो एक अव्यवहारिक आवश्यकता हो सकती है यदि वे कौशल स्तर बराबर हैं।
पी। ब्रायन। मैके

@ जेफ़: वे बुरे प्रोग्रामर नहीं हैं, हमारे पास बस अलग पृष्ठभूमि है, और मेरे पास उन पर साल है। संभवत: मैं और सबसे अनुभवी लड़का कोई भी हो, परीक्षण लिख रहा होगा।
जॉन प्यूरी

@ जेफ ओ: फिर उन्हें टीम से बाहर करो।
पीटर के।

@ P.Brian.Mackey: प्रश्न में मुफ्त टूल की कोई विशिष्टता नहीं थी। यदि कोड परीक्षण योग्य नहीं है, तो उन्हें टीम से निकाल दें। उन्हें परीक्षण योग्य कोड लिखने का तरीका दिखाने की कोशिश करें, और यदि वे कोई सुधार नहीं करते हैं, तो उन्हें टीम से निकाल दें।
पीटर के।

5

यदि आप वास्तव में एक ही परियोजना पर कई प्रकार के कौशल स्तरों के साथ काम कर रहे हैं तो कुछ समस्याएं होने वाली हैं। सवाल यह है कि आप उनसे कब निपटेंगे? क्या वे इतना बुरा कोड लिखने जा रहे हैं कि आप उनकी सहायता नहीं कर सकते हैं? क्या यह व्यक्तिगत तनाव पैदा करने वाला है? क्या आप दोस्ती खत्म करने जा रहे हैं? ये सवाल कोई भी जवाब दे सकता है लेकिन आप

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


3

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

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

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

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

टीम नेतृत्व का अंतिम स्वर्ण सितारा लोगों को उनकी कमजोरियों से इस तरह से अवगत करा रहा है कि वे प्रेरित हैं और उन्हें ठीक करने के लिए पर्याप्त रूप से सूचित हैं।


2

बैठ जाओ और प्रौद्योगिकियों और उपकरण पर चर्चा करें टीम में हर कोई सहमत है। कुछ लोग टीम के अन्य लोगों की तुलना में सहमत टूल में अधिक अनुभवी हो सकते हैं, इसलिए जो लोग अधिक अनुभवी हैं, उन्हें बाकी लोगों के साथ अनुभव और ज्ञान साझा करने के लिए तैयार और सहमत होना चाहिए।

चर्चा करें, सहमत हों, नीचे लिखें, मॉडल और मानकों का संचार करें (जैसे नामकरण सम्मेलन, सर्वोत्तम प्रथाओं और फ़ोल्डर संरचनाओं को कोड करना)।

निरंतर और नियमित परीक्षण और क्यूए जाँच करें। जब आप विसंगतियों को देखते हैं तो ASAP व्यक्ति को सूचित करें।


2

मैं यह कहने जा रहा था कि 'इसे आयोजित करने के लिए टीम के सबसे अनुभवी व्यक्ति को प्राप्त करें', लेकिन ऐसा लगता है कि आप उस व्यक्ति हैं।

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

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


कोड समीक्षा भाग पर सहमत हों। आपको जल्द से जल्द उनका मार्गदर्शन करना चाहिए।

2

आमतौर पर आपकी कंपनी में तकनीकी नेतृत्व की क्या उम्मीद है? मैं एक प्रबंधक हूँ और इस जगह पर कुछ समय के लिए रहा हूँ और इसे फिर से इस सप्ताह से शुरू करने वाला हूं (20 साल और 4 साल के अनुभवी लोगों की टीम में शामिल होने के लिए नए शौक और अन्य लोगों को नियुक्त करना)।

मैं एक प्रबंधक हूं और एक तकनीकी नेतृत्व हो सकता है (पिछले कुछ वर्षों में, मैंने टीम के भीतर नेतृत्व विकसित करने के लिए बाद की भूमिका निभाई है। किसी भी मामले में, कुछ विचार:

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

1

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


1

टीम में सबसे अनुभवी डेवलपर के रूप में, मैं आपकी भारी कोचिंग से उम्मीद करूंगा

टीम को काबान का उपयोग करके खुद को काम सौंपने दें , और फिर अपना पूरा दिन पेयर प्रोग्रामिंग करने में बिताएं उनमें से प्रत्येक के साथ ।

जब आप एक बुरी आदत या कुछ देखते हैं, तो उन्हें (सभी को) जानकारी होनी चाहिए, सब कुछ रोक दें और व्हाइटबोर्ड पर आकर्षित करें।

कुछ हफ्तों के बाद, आप भारी कोचिंग को धीमा कर पाएंगे क्योंकि टीम के समग्र कौशल आपके पास पहुंचेंगे।


1

आपकी सूची से अलग-अलग सूचियों की एक जोड़ी है जिसकी मुझे समीक्षा करनी चाहिए:

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

  2. मैं खुद को कितनी अच्छी तरह से जानता हूं। यहां कुछ तकनीकी प्राधिकरण का दावा करने के लिए आप अपनी पृष्ठभूमि के किन तत्वों का उपयोग कर रहे हैं? आप टीम के लिए क्या ताकत और कमजोरी लाते हैं? क्या आप नियमित रूप से खाइयों में जाने की उम्मीद कर रहे हैं? क्या ऐसी प्रथाएँ हैं जिन्हें आपने देखा है कि आप उन्हें मदद करने के लिए इस टीम से परिचय कराना चाहते हैं? क्या ऐसे चेतावनी संकेत हैं जो आपको पिछले अनुभव से याद हैं जो यह देखने के लिए उपयोगी हो सकते हैं कि क्या इनमें से कोई भी टीम जो काम कर रही है उसमें दिखाई देने लगे हैं।

एक तरह से यह सब संचार के लिए उबलता है। सौभाग्य!


0

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

हर किसी के लिए आदेश देने के लिए कुछ कोचिंग कैसे दे सकते हैं। मेरे पास कॉलेज में एक प्रोफेसर था जिसने मेरे लिए ऐसा किया और यह बहुत मददगार था।

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