डेवलपर्स और उत्पाद मालिकों की आपकी बात से, मुझे यह प्रतीत होता है कि आपके संगठन में सुविधाओं के लिए आपके पास कोई मध्य व्यक्ति जिम्मेदार नहीं है।
खैर, मेरे संगठन में, मैं वह व्यक्ति हूं। मैं आवश्यकताओं का इंजीनियर हूं, जिसने सीखा कि अच्छे विनिर्देशों को कैसे बनाया जाए और उपयोगकर्ता के अनुकूल इंटरैक्शन डिजाइन के साथ उच्च गुणवत्ता वाले सॉफ़्टवेयर में सुविधाओं का चयन करें। (अन्य संगठनों में यह यूएक्स व्यक्ति है जिसे समान नौकरी मिलती है, आप उस शब्द से अधिक परिचित हो सकते हैं)।
और मैं आपको बता सकता हूं: एक अच्छा विनिर्देश प्राप्त करना कठिन है। बेशक, डेवलपर्स इसे करने से नफरत करते हैं। यह उनके लिए बोझ है - वे सॉफ्टवेयर बनाने के लिए हैं, हितधारकों और आलसी उपयोगकर्ताओं के मानसिक मॉडल के बीच पावर नाटकों के बारे में सोचने के लिए नहीं। लेकिन आप जानते हैं कि क्या? यह उत्पाद मालिकों के लिए भी एक बोझ है। वे किसी भी बेहतर तरीके से नहीं जानते हैं कि डेवलपर्स या उपयोगकर्ताओं के पास उनके सॉफ़्टवेयर में क्या विशेषताएं होनी चाहिए। व्यवहार्य विनिर्देश बनाना एक सीखा हुआ कौशल है, और यदि आपने इसे कभी नहीं सीखा है, तो आप इसमें अच्छे नहीं हो सकते। यकीन है, बहुत सारे डेवलपर्स और उत्पाद स्वामी हैं जो इसे कर सकते हैं, क्योंकि उन्हें पिछले परियोजनाओं में ऐसा करना था। लेकिन औसत उत्पाद के मालिक या डेवलपर इसके साथ संघर्ष करते हैं, क्योंकि यह स्वाभाविक रूप से ऐसा करने के लिए उनका काम नहीं है। हर कोई जो कार ड्राइव कर सकता है वह कार डिजाइन कर सकता है; इसी तरह,
क्या आप एक आवश्यकताओं इंजीनियर के बिना सॉफ्टवेयर विकसित कर सकते हैं? जरूर आप कर सकते हो। लेकिन इसके विनिर्देशन का पूरा भार उत्पाद के मालिक के कंधों पर डालना उचित नहीं है, और परियोजना के परिणाम के लिए अच्छा नहीं है। विशेष रूप से क्योंकि वह एक ऐसे कार्य से सामना करता है जो उसके लिए असामान्य रूप से कठिन है, दूसरों से इनपुट और समर्थन प्राप्त करना बहुत सहायक है। यदि आप ऐसी स्थिति में हैं, तो अपने खराब उत्पाद के मालिक को न देखें और कहें कि "मुझे बताएं कि आपके लिए क्या बनाना है और मैं आपको बनाऊंगा", वह वास्तव में नहीं जानता कि उसे क्या चाहिए। लेकिन आपके साथ एक चर्चा उसे अपने विचारों को स्पष्ट करने और अपने विचारों का पता लगाने में मदद करेगी।
जब परियोजना संरचना में कोई आवश्यकता इंजीनियर नहीं होती है, तो एक और समस्या होती है: कोई मध्यस्थ नहीं है। सभी डेवलपर्स तकनीकी पक्ष पर हैं, सभी उत्पाद स्वामी व्यावसायिक पक्ष पर हैं। जब दो संस्कृतियों का टकराव होता है, तो टकराव पैदा हो सकता है, प्रत्येक पक्ष एक दूसरे को बेवकूफ और अनुचित समझने के लिए (क्योंकि यह न्याय करने के लिए अपने स्वयं के मूल्य प्रणाली का उपयोग करता है)। इसलिए, अपने उत्पाद के मालिक के साथ संभावित विशेषताओं के बारे में बात करें, लेकिन विनम्र और धैर्यवान रहें, जब आपको लगता है कि वह इसके लायक नहीं है; परियोजना की सफलता इस बात पर निर्भर करती है कि आप दोनों को कितनी अच्छी तरह मिल सकते हैं, और कभी-कभी सबप्टिमल निर्णय लेना संघर्ष के कारण कोई भी निर्णय लेने से बेहतर है। यह एक पदानुक्रम स्थापित करने और आप में से दो को अंतिम शब्द देने में मददगार हो सकता है, क्योंकि यह डेडलॉक टकराव को रोकता है। यदि उसे अंतिम शब्द मिलता है, तो इसे अनुचित मानने पर भी टाल दें।
"निष्क्रिय" भाग के बारे में: यदि आपके पास विचार नहीं हैं, तो केवल गतिविधि दिखाने के लिए कुछ करने की कोशिश न करें। यदि उत्पाद का मालिक पहले से ही असुरक्षित है और अपने विचारों का मूल्यांकन करने के लिए कोई अच्छा मानदंड नहीं जानता है, तो अजीब विचार "बस कुछ करने के लिए" पहले से ही कठिन स्थिति को और भी कठिन बना देगा। अच्छी सुविधा के विचारों के साथ आना जादू नहीं है, बल्कि इसके लिए ज्ञान की आवश्यकता होती है। यदि आपने इसे पाठ्यपुस्तकों से नहीं सीखा है, तो आपको शायद कुछ वर्षों के डेवलपर अनुभव की आवश्यकता होगी, विशेष रूप से उन परियोजनाओं में जहां आप उपयोगकर्ताओं या उपयोगकर्ता-जनित प्रयोज्य डेटा (विश्लेषिकी, संतुष्टि माप) से अवगत कराते हैं, इससे पहले कि आपका मस्तिष्क अपने लिए पैटर्न तैयार कर ले। और आप नोटिस करना शुरू करते हैं: यहाँ एक समस्या है जिसे हम हल कर सकते हैं। उपयोगकर्ताओं को इस पृष्ठ पर कुछ याद आ रहा है, यह क्या हो सकता है? तब आपके पास साझा करने के लिए अच्छे विचार होंगे।
निष्कर्ष 1: बिना किसी आवश्यकता के इंजीनियर वाली परियोजनाओं में, जब आपके पास हो तो सुझाव देना अच्छा होता है। संवेदनशीलता और चातुर्य से करें - संघर्ष से बचना अत्यावश्यक है, भले ही इसका अर्थ यह हो कि आपका अच्छा विचार कली में फंस गया है।
और यदि आप एक आवश्यकताओं इंजीनियर के साथ एक टीम पर हैं?
मुझे हर किसी से सुनने के विचार पसंद हैं! हां, कभी-कभी डेवलपर्स के विचार भयानक होते हैं (जब वे उपयोगकर्ता इंटरफ़ेस को प्रोग्रामिंग तर्क का पालन करना चाहते हैं)। उत्पाद स्वामियों के विचार भी अक्सर भयानक होते हैं (जब वे शोर-शराबा वाले बजट पर सूर्य और चंद्रमा चाहते हैं - ओह, और उपयोगकर्ता को बदले में कुछ भी प्राप्त किए बिना, उच्चतम डेटा गुणवत्ता में व्यक्तिगत जानकारी के पृष्ठों को दर्ज करना चाहिए)। लेकिन एक विनिर्देश के साथ आना मेरा काम है जो टीम के सभी लोगों के लिए अच्छा है। और यहां तक कि अगर आपका विचार कभी काम करने वाला नहीं है, तो इसे सुनने से मुझे पता चलता है कि आपको चिंता है। आपने सुझाव देने के लिए गलत समाधान चुना होगा, लेकिन इससे आपकी चिंता कम नहीं होती। यदि आप इसे स्पॉट करते हैं, तो संभवतः इसे संबोधित करने की आवश्यकता है (या मुझे इस कारण से आने की आवश्यकता है कि यह खतरा क्यों नहीं है)। यदि आपके पास विशिष्टताओं के लिए जिम्मेदार इंजीनियर हैं, तो सुझावों के साथ उनके पास जाने में कभी संकोच न करें। यदि वे आपको नहीं सुनते हैं, तो वे कुछ गलत कर रहे हैं (ध्यान दें कि "विचार करें" का अर्थ "स्वीकार" नहीं है)।
एक आवश्यकताओं इंजीनियर को प्रत्येक हितधारक के दृष्टिकोण से परियोजना को अलग से देखना होता है (और कभी-कभी एक ही समय में)। हम केवल मानव हैं, और हम अक्सर इसमें असफल होते हैं। यदि आप अपने वास्तविक दृष्टिकोण की आपूर्ति करने के लिए हैं, तो हमारे विचार से, आपके विचार से, तो आपका इनपुट बहुत मूल्यवान है।
आप यहां अपने व्यवहार में अधिक स्वतंत्र हो सकते हैं। संवेदनशीलता नृत्य करना मेरा काम है। खुले तौर पर आक्रामक मत बनो, यह मेरे काम में बाधा डालता है, लेकिन आपको कम आत्म-नियंत्रण और सांस्कृतिक / संचार संबंधी जागरूकता की आवश्यकता होती है, क्योंकि मैं सुस्त हो सकता हूं। आप भी नहीं चल रहे हैं, ऐसी स्थिति में जहां दो परस्पर विरोधी विचार हैं और कोई भी न्याय नहीं कर सकता है जो बेहतर है। मुझे पता है कि, और अगर यह काम नहीं करता है, तो यह मेरा सिर है।
निष्कर्ष 2: यदि टीम में कोई आवश्यकता इंजीनियर है, तो उत्पाद विशेषता सुझावों के साथ उनके पास जाएं। आपको इस समय मखमली दस्ताने की आवश्यकता नहीं है।
और अंत में, क्या होगा अगर कोई आवश्यकता अभियंता नहीं है, उत्पाद स्वामी अभिभूत है और विचारों के लिए संघर्ष कर रहा है, बॉस स्पष्ट रूप से आपको देख रहा है, और आपके पास पेशकश करने के लिए कोई विचार नहीं है?
आपके पास कुछ विकल्प हैं। एक है, जैसा कि आपने बताया, छोड़ने के लिए। सभी संगठन उस तरह से काम नहीं करते हैं, और यदि यह वातावरण आपके लिए उपयुक्त नहीं है, तो बेहतर खोज करें। लॉन्ग टर्म में यह आपके लिए अच्छा रहेगा।
आप प्रतीक्षा करें और देखें कि क्या कुछ बदलता है। अगली परियोजना में एक अधिक अनुभवी उत्पाद स्वामी (या अधिक नेतृत्व वाला) हो सकता है। लेकिन आप हमेशा के लिए स्टाल नहीं कर सकते।
तीसरा विकल्प वास्तव में अपने आप से कुछ आवश्यकताओं को सीखना है। यह इन दिनों अत्यधिक मांग वाला कौशल है। यहां तक कि अगर आप कभी भी उन पदों पर जाने की योजना नहीं बनाते हैं जहां आप पूर्णकालिक आवश्यकताओं के इंजीनियर हैं, तो यह कौशल एक डेवलपर के रूप में आपके मूल्य को बढ़ाता है, क्योंकि यह आपको आपकी टीम (और आपके उपयोगकर्ताओं) पर बेहतर अन्य सदस्यों को समझने देता है और बनाता है विकास प्रक्रिया अधिक सुचारू रूप से चलती है। और आपको इसकी पूरी गहराई में नहीं जाना है। एक एंट्री लेवल की पाठ्यपुस्तक जो कार्यों, वर्कफ़्लो, मानसिक मॉडल और उपयोगकर्ता-केंद्रित डेटा मॉडल की व्याख्या करती है, आपको पहले से ही व्यवसायियों और डेवलपर्स की टीम द्वारा डिज़ाइन किए गए सॉफ़्टवेयर में बहुत सारे सुधार के अवसर प्रदान करेगी। डॉन' टी अकादमिकों के संदर्भ के रूप में सबसे मोटी पुस्तकों के लिए जाना जाता है (जैसे अंग्रेजी में हाल ही में पोहल अनुवाद) - वे प्रत्येक छोटे कदम के लिए सभी संभावित तरीकों की एक सूची है, एक स्पष्टीकरण के बिना कि वास्तव में उन्हें कैसे करना है। कुछ अभ्यास-उन्मुख चुनें।
यदि आप इसे आज़माते हैं और पाते हैं कि आपके पास इस क्षेत्र में कोई व्यक्तिगत रुचि नहीं है, तो यह अभी भी ठीक है। अपने आप को कुछ नापसंद करने के लिए मजबूर न करें। लेकिन आपको शायद एक अलग टीम संरचना वाले संगठन में नौकरी की तलाश करनी चाहिए।
निष्कर्ष 3: सहज ज्ञान प्राप्त करने के लिए वर्षों की प्रतीक्षा करने के बजाय, एक या दो पुस्तक पढ़ें और आपके पास पहले से ही आपूर्ति करने के लिए अच्छे विचार होंगे