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