शैक्षिक अनुसंधान शामिल होने पर विकास की योजना बनाना


11

प्रिय साथी प्रोग्रामर,

जब अकादमिक शोध शामिल हो तो आप "सॉफ्टवेयर प्लानिंग" कैसे करते हैं? और, एक साइड नोट पर, आप अपने बॉस को कैसे मनाते हैं कि सॉफ्टवेयर लिखना घर बनाने जैसा नहीं है और यह उपन्यास लिखने जैसा है ?

गोर विवरण नीचे हैं।

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

मुख्य सॉफ्टवेयर अन्य, अधिक ठोस संसाधनों पर भी निर्भर करता है जिन्हें हम डेवलपर्स के रूप में देख सकते हैं: ग्राफिक्स रेंडरिंग, सॉफ्ट बॉडीज विरूपण, आदि।

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

अब मैं क्या कर रहा हूँ:

  1. मैंने सुविधाओं में उत्पाद को तोड़ दिया; प्रत्येक 'फीचर' एक वास्तविक उत्पाद है;
  2. प्रत्येक सुविधा पिछले एक के ऊपर बनाई गई है;
  3. एक बार जब एक फीचर (ए) में एक कार्यशील प्रोटोटाइप होता है तो टीम अगली सुविधा (बी) पर काम करना शुरू कर सकती है, जबकि ए के लिए क्यूए किया जा रहा है (यदि पैसा अनुमति देता है, तो और लोगों को इसमें लाया जा सकता है, आदि);
  4. अनुसंधान पर निर्भर करने वाली विशेषताएं अंतिम रूप से आ जाएंगी: तब तक, उम्मीद है, अनुसंधान भाग पूरा हो जाएगा ( जब अभी भी एक बड़ा सवाल है);

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

तो मेरे सवाल, फिर से हैं:

  • मैं अपने मालिक को कैसे खुश कर सकता हूं जबकि एक ही समय में दरवाजे के बाहर कुछ मिलता है?
  • हम कुछ डेवलपर के लिए विनिर्देश कैसे लिखते हैं -डेवलपर्स के पास कोई सुराग नहीं है कि क्या यह करना संभव है या नहीं? (हमने अभी भी यह तय नहीं किया है कि कुछ कार्यों के लिए किन पुस्तकालयों का उपयोग करना है? हम ऐसा तब करेंगे जब हमें इसकी आवश्यकता होगी)
  • मुझे इस बात की आवश्यकता कैसे है, यह देखते हुए कि अभी तक कोई ग्राहक नहीं हैं और न ही निवेशक, बस बहुत सारे हित और वादे हैं?
  • मुझे दुनिया में शांति कैसे मिलेगी?

मुझे यकीन है कि कम से कम मेरे एक प्रश्न का उत्तर दिया जाएगा :)

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


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

जवाबों:


6

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

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

बाकी सब कुछ यह जानने के बाद होगा कि आपके ग्राहक कौन हैं और इस बारे में सोच रहे हैं कि आप उन्हें अंतिम उत्पाद का उपयोग कैसे करना चाहते हैं (और वे वास्तव में इसका उपयोग कैसे करेंगे)। अगर आपको यह पता नहीं है, तो आप किसी को नहीं बेचेंगे। लेकिन आपको इसे जानना चाहिए, या कम से कम इसे जल्द ही पता लगाना चाहिए। (यदि यह शोध भाग द्वारा निर्धारित किया जाता है, तो आप गहरी परेशानी में हैं! शोध परियोजनाएं निश्चित रूप से नकारात्मक - या आंशिक रूप से नकारात्मक - परिणाम उत्पन्न कर सकती हैं; यह हर समय होता है, भले ही यह हमेशा व्यापक रूप से रिपोर्ट न किया गया हो।)

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


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

1
बहुत बढ़िया जवाब। यहां तक ​​कि मेरे द्वारा किए गए व्यावसायिक सॉफ्टवेयर विकास के प्रकारों में भी अज्ञात हैं, जहां आपको विनिर्देशों और शेड्यूल पर एक शिक्षित अनुमान लगाना होगा। जब तक हर कोई जानता है कि वे अनुमान हैं और परिवर्तन के अधीन हैं, यह ठीक है। अनुसंधान वस्तुओं के साथ एक बात आप यह कर सकते हैं कि हर संख्या के लिए आपको (दिनांक, धन, आदि) प्रदान करना होगा, अच्छे मामले का अनुमान लगाएं और प्रदान करें (10% संभावना है कि यह अच्छी तरह से चलेगा), अपेक्षित (50%) , और खराब स्थिति (90%) मान। इसके अलावा, अज्ञात पर शमन के लिए, अपने वर्चुअल बैक पॉकेट में "प्लान बी" (और आदर्श रूप से सी और डी की योजना) का प्रयास करें।
बॉब मर्फी

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

2

मैं अपने मालिक को कैसे खुश कर सकता हूं जबकि एक ही समय में दरवाजे के बाहर कुछ मिलता है?

चतुर बनो और चीजों को प्राप्त करो।

हम कुछ डेवलपर के लिए विनिर्देश कैसे लिखते हैं-डेवलपर्स के पास कोई सुराग नहीं है कि क्या यह करना संभव है या नहीं? (हमने अभी भी यह तय नहीं किया है कि कुछ कार्यों के लिए किन पुस्तकालयों का उपयोग करना है? हम ऐसा तब करेंगे जब हमें इसकी आवश्यकता होगी)

यदि आप नहीं जानते कि आप किसके साथ इंटरफ़ेस करने जा रहे हैं, तो यह एक समस्या है। आप मैजिक बॉक्स को क्या इनपुट देते हैं? मैजिक बॉक्स से आपको क्या आउटपुट मिलते हैं? यह भी शोधकर्ताओं को यह परिभाषित करने में मदद करेगा कि जादू क्या है।

यदि आपके शैक्षणिक अनुदान से वित्त पोषित किया गया है, तो उन्होंने संभवतः एक शोध प्रस्ताव लिखा है। उसको पकड़ लो। यदि यह मेरे द्वारा देखे गए (और लिखित) किसी भी अनुसंधान अनुदान प्रस्ताव की तरह है, तो यह एक समयरेखा और "विनिर्देश" होगा जो वे करने की कोशिश कर रहे हैं।

मुझे इस बात की आवश्यकता कैसे है, यह देखते हुए कि अभी तक कोई ग्राहक नहीं हैं और न ही निवेशक, बस बहुत सारे हित और वादे हैं?

आवश्यकताएँ एल्गोरिदम / एंड-ए-मा-जिग के अंतिम उपयोगकर्ता हैं। देखें कि क्या आप उनका (या संभावित ग्राहकों / ग्राहकों का) साक्षात्कार कर सकते हैं।

अन्यथा, अपने कुत्ते का खाना खाएं।

मुझे दुनिया में शांति कैसे मिलेगी?

विषय से परे :-)


2

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

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