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