Folklore in Software Engineering: A Definition and Conceptual Foundations
यह शोध पत्र 12 स्वीडिश पेशेवरों के साक्षात्कार के साथ एक साहित्य समीक्षा को संश्लेषित करके सॉफ्टवेयर इंजीनियरिंग लोककथाओं (folklore) को परिभाषित और चित्रित करता है ताकि विकास समुदायों के भीतर अनौपचारिक आख्यानों, मिथकों और अनुमानी (heuristics) द्वारा पेशेवर पहचान, मूल्यों और सामूहिक ज्ञान को आकार देने के तरीके को समझने के लिए एक वैचारिक ढांचा स्थापित किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि एक सॉफ्टवेयर डेवलपमेंट टीम केवल कोड लिखने वाले लोगों का समूह नहीं है, बल्कि एक आधुनिक डिजिटल गाँव में रहने वाले एक कबीले की तरह है। जिस तरह प्राचीन कबीलों के पास कहानियाँ होती थीं कि बिजली क्यों कड़कती है, अच्छी फसल सुनिश्चित करने के लिए रीति-रिवाज होते थे, और ऐसे चुटकुले होते थे जिन्हें केवल बुजुर्ग ही समझते थे, सॉफ्टवेयर इंजीनियरों के पास भी इनके अपने संस्करण होते हैं।
यह शोध पत्र, जिसका शीर्षक "सॉफ्टवेयर इंजीनियरिंग में लोककथा" (Folklore in Software Engineering) है, यह तर्क देता है कि सॉफ्टवेयर टीमें लोककथाओं (folklore) से भरी होती हैं: कहानियाँ, मिथक, अंदरूनी चुटकुले और अलिखित नियम जो एक व्यक्ति से दूसरे व्यक्ति तक पहुँचते हैं, आधिकारिक मैनुअल के माध्यम से नहीं, बल्कि गलियारों की बातचीत, कॉफी ब्रेक और ऑनबोर्डिंग सत्रों के माध्यम से।
यहाँ लेखकों द्वारा किए गए निष्कर्षों का विवरण दिया गया है, जिसमें सरल उपमाओं का उपयोग किया गया है:
1. "सॉफ्टवेयर लोककथा" क्या है?
लोककथा को एक टीम के "अलिखित नियम पुस्तिका" के रूप में सोचें।
- आधिकारिक मैनुअल (Official Manuals) सरकारी कानूनों की तरह हैं: स्पष्ट, लिखित और जिनका ठीक वैसा ही पालन किया जाना चाहिए।
- लोककथा (Folklore) गाँव की गपशप या पारिवारिक किंवदंतियों की तरह है। यह वह चीज़ है जिसे लोग वास्तव में मानते और करते हैं, भले ही वह आधिकारिक नियमों के विपरीत हो।
लेखक इसे अनौपचारिक रूप से प्रसारित कहानियों और शॉर्टकट (heuristics) के रूप में परिभाषित करते हैं जो डेवलपर्स के इस बारे में दृष्टिकोण को आकार देते हैं कि वे स्वयं को कैसे देखते हैं, वे किन मूल्यों को महत्व देते हैं और वे एक साथ मिलकर कैसे काम करते हैं। यह उनके पेशे का "लोर" (lore) है।
2. सॉफ्टवेयर लोककथा के तीन मुख्य घटक
शोधकर्ताओं ने 12 अनुभवी स्वीडिश सॉफ्टवेयर पेशेवरों के अध्ययन से प्राप्त उदाहरणों का उपयोग करते हुए, इस लोककथा को तीन मुख्य श्रेणियों में विभाजित किया है:
अ. मिथक और किंवदंतियाँ (The "Tall Tales")
ये वे कहानियाँ हैं जिन्हें हर कोई सच मानता है, भले ही वे ठोस डेटा पर आधारित न हों।
- "10x डेवलपर" की किंवदंती: यह एक निरंतर विश्वास है कि एक सुपर-जीनियस प्रोग्रामर दस औसत प्रोग्रामरों के बराबर होता है। पेपर नोट करता है कि यह अक्सर एक मिथक है जिसका उपयोग यह समझाने के लिए किया जाता है कि कुछ प्रोजेक्ट क्यों सफल या विफल होते हैं, लेकिन इसे शायद ही कभी प्रमाणित किया जाता है।
- "बग-मुक्त" का वादा: एक सामान्य विश्वास है कि यदि आप एक विशिष्ट प्रक्रिया (जैसे चेकलिस्ट) का पूरी तरह से पालन करते हैं, तो सॉफ्टवेयर में जादुğıक रूप से कोई बग नहीं होगा। वास्तव में, बग फिर भी होते हैं, लेकिन प्रबंधकों को नियंत्रण का अहसास देने के लिए यह कहानी बनी रहती है।
- "नया बेहतर है" का प्रचार: यह विचार कि नवीनतम तकनीक या फ्रेमवर्क अपने आप में श्रेष्ठ है, केवल इसलिए क्योंकि वह नया है, चाहे वह विशिष्ट समस्या के लिए उपयुक्त हो या नहीं।
ब. रीति-रिवाज और अभ्यास (The "Ceremonies")
ये बार-बार की जाने वाली क्रियाएं हैं जिनका अर्थ केवल "काम पूरा करने" से गहरा होता है।
- डेली स्टैंड-अप (Daily Stand-up): आधिकारिक तौर पर, यह तालमेल बिठाने के लिए 15 मिनट की बैठक है। लोककथा के नजरिए से, यह एक ऐसा अनुष्ठान बन सकता है जहाँ लोग बॉस के सामने "मैं काम कर रहा हूँ" का प्रदर्शन करते हैं, या एक सामाजिक जुड़ाव जो टीम को बांधता है।
- "टोलगेट" (The Tollgate): एक बैठक जहाँ अगले चरण में जाने से पहले प्रोजेक्ट की समीक्षा की जाती है। कुछ टीमें इसे एक जादुई समारोह की तरह मानती हैं जहाँ "चीजें व्यवस्थित हो जाती हैं" और सॉफ्टवेयर अचानक काम करने लगता है, भले ही काम पहले अव्यवस्थित रहा हो।
- स्प्रिंट्स का नाम डेसर्ट (मिठाइयों) पर रखना: कुछ टीमें अपने कार्य चक्रों (work cycles) का नाम कुकीज़ या केक पर रखती हैं। यदि वे अपने लक्ष्यों को प्राप्त कर लेते हैं, तो उन्हें एक ट्रीट मिलती है। यह एक तनावपूर्ण समय सीमा को एक साझा खेल में बदल देता है।
स. आर्टिफैक्ट्स और हास्य (The "Inside Jokes")
इसमें मीम्स, चुटकुले और भौतिक वस्तुएं शामिल हैं जो सांस्कृतिक अर्थ वहन करती हैं।
- मीम्स (Memes): पेपर में "This is Fine" (एक जलते हुए कमरे में बैठा कुत्ता) जैसे मीम्स का उल्लेख है, जिसका उपयोग डेवलपर्स यह व्यक्त करने के लिए करते हैं कि वे अराजकता के बीच रह रहे हैं लेकिन दिखावा कर रहे हैं कि सब ठीक है।
- "बिखरी हुई डेस्क" (The Cluttered Desk): एक विश्वास है कि बिखरी हुई डेस्क सम्मान का प्रतीक है, जो यह दर्शाता है कि डेवलपर गहरे विचारों में डूबा हुआ है।
- परीक्षण एक बोझ के रूप में (Testing as a Burden): एक सामान्य चुटकुला यह है कि कोडिंग के "रोमांचक" काम की तुलना में टेस्टिंग एक उबाऊ और थकाऊ काम है। यह चुटकुला इस विचार को पुख्ता करता है कि टेस्टर्स डेवलपर्स की तुलना में कम महत्वपूर्ण हैं।
3. यह लोककथा कैसे फैलती है?
पेपर बताता है कि यह ज्ञान पाठ्यपुस्तकों के माध्यम से यात्रा नहीं करता है। यह एक वायरस या कैंपफायर कहानी की तरह फैलता है:
- ऑनबोर्डिंग (Onboarding): जब कोई नया व्यक्ति शामिल होता है, तो वह केवल मैनुअल नहीं पढ़ता; वह दिग्गजों से "युद्ध की कहानियाँ" (war stories) सुनता है।
- वॉटर कूलर (The Water Cooler): कहानियाँ कॉफी रूम, लंच ब्रेक और चैट चैनलों में बदली जाती हैं।
- मेंटरशिप (Mentorship): वरिष्ठ डेवलपर्स कनिष्ठों को न केवल सवालों के जवाब देकर सिखाते हैं, बल्कि उन्हें यह कहकर भी सिखाते हैं, "हमने 20 साल पहले वह आजमाया था, और वह विफल रहा," बिना यह समझाए कि वास्तव में क्यों।
4. यह क्यों महत्वपूर्ण है?
लेखक तर्क देते हैं कि हमें इस लोककथा को अनदेखा करना बंद करना चाहिए और इसका अध्ययन करना शुरू करना चाहिए।
- अच्छा (The Good): लोककथा एक सहायक शॉर्टकट हो सकती है। यह नए लोगों को किसी विशिष्ट कंपनी में चीजें वास्तव में कैसे काम करती हैं, यह मैनुअल पढ़ने की तुलना में तेजी से सीखने में मदद करती है। यह टीम की पहचान बनाता है और लोगों को हास्य के माध्यम से तनाव से निपटने में मदद करता है।
- बुरा (The Bad): लोककथा खतरनाक भी हो सकती है। यदि हर कोई एक मिथक (जैसे "टेस्टिंग समय की बर्बादी है") में विश्वास करता है, तो वे गलत निर्णय ले सकते हैं जो उत्पाद को नुकसान पहुँचाते हैं। यह टीमों को नए, बेहतर तरीकों को आजमाने से भी रोक सकता है क्योंकि "हमने एक बार वह आजमाया था और वह काम नहीं आया" (भले ही परिस्थितियाँ अलग रही हों)।
निचोड़
पेपर निष्कर्ष निकालता है कि सॉफ्टवेयर इंजीनियरिंग लोककथा उन अनौपचारिक रूप से साझा की गई कहानियों, विश्वासों और रीति-रिवाजों का संग्रह है जो यह परिभाषित करते हैं कि सॉफ्टवेयर टीमें कैसे संचालित होती हैं।
जिस तरह एक इतिहासकार संस्कृति को समझने के लिए मिथकों का अध्ययन करता है, उसी तरह सॉफ्टवेयर शोधकर्ताओं और प्रबंधकों को यह समझने के लिए इन "सॉफ्टवेयर मिथकों" का अध्ययन करना चाहिए कि टीमें अपने निर्णय क्यों लेती हैं। इन अदृश्य कहानियों को दृश्यमान बनाकर, टीमें सहायक परंपराओं (जैसे अच्छे अंदरूनी चुटकुले जो मनोबल बढ़ाते हैं) को बनाए रख सकती हैं और हानिकारक मिथकों (जैसे यह विचार कि कुछ लोग स्वाभाविक रूप से 10 गुना बेहतर होते हैं) को चुनौती दे सकती हैं।
संक्षेप में: सॉफ्टवेयर केवल तर्क और कोड के बारे में नहीं है; यह उन कहानियों के बारे में भी है जो हम कोड के बारे में खुद को सुनाते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।