जबकि सॉफ्टवेयर विकास की दुनिया में कुछ समस्याएं अप्रासंगिक लग सकती हैं, लोगों और समाज पर उनके गंभीर दुष्प्रभाव और लागतें हो सकती हैं। यह लेख एक प्रतिबिंब प्रदान करता है और पाठकों को यह समझने के लिए परिवर्तन को प्रोत्साहित करने का प्रयास करता है कि उनके कार्यों का उनके द्वारा भाग लेने वाले वातावरण पर क्या प्रभाव पड़ता है और कैसे कुछ छोटी चीजें भी भाग्य की लागत को समाप्त करती हैं।
एक युवा बालक के रूप में, अपने पहले कंप्यूटर से पहले, मैं हमेशा अपनी बाइक पर ही रहता था। मेरे घर के सामने, एक छोटा सा जंगल था जिसमें कुछ संकरी पगडंडियाँ थीं जहाँ मैं नियमित रूप से साइकिल चलाता था।
मैं अक्सर कल्पना करता था कि मेरी बीएमएक्स साइकिल फॉर्मूला वन थी और मैं निगेल मैन्सेल, एलेन प्रोस्ट या एर्टन सेना के साथ प्रतिस्पर्धा कर रहा था। फिर, फिनिश लाइन के करीब, मैं सर्वोच्च ओवरटेकिंग करता और संकीर्ण जीत हासिल करता।
जंगल के दूसरे छोर पर एक पुराना गोदाम था। इसमें छत के पास छत के पास छोटी-छोटी खिड़कियाँ थीं ताकि प्रकाश अंदर आ सके। फिर भी, वे इतनी ऊँची थीं कि कोई भी उनका उपयोग करके अंदर झाँक सकता था।
मैं पहली बार आराम करने और इमारत पर विचार करने के लिए रुकने के बारे में कभी नहीं भूला। मुझे सोच याद है: "अजीब! किसी सड़क के पास क्यों नहीं है?... किसी ने पत्थर फेंके और कुछ खिड़कियां तोड़ दीं... उन्हें ठीक क्यों नहीं किया गया? यह रहस्यमय, लेकिन उदास दिखता है। मैं दूर ही रहूँ तो अच्छा है, कुछ छूट रहा है”। मैं तब साइकिल चला देता, और फिर कभी उस क्षेत्र में ज्यादा नहीं जाता।
साल बीतते गए और आखिरकार जंगल को एक सड़क से काट दिया गया और धीरे-धीरे, इसके साथ-साथ कुछ नई इमारतें उग आईं। लेकिन कम से कम कुछ समय के लिए पुराना गोदाम टिका रहा। फिर भी, हर बीतते साल के साथ, उन पर फेंके गए पत्थरों में और अधिक खिड़कियाँ देने के लिए मजबूर किया गया।
सच कहूं तो, जिसने भी खिड़कियां तोड़ीं, वह पछतावे से ग्रस्त नहीं होता। कुछ पहले से ही टूटे हुए और अधूरे थे, तो कुछ और की परवाह कौन करेगा? आखिरकार, प्रतिस्थापन की लागत उतनी ही होगी जितनी उन्हें मरम्मत की आवश्यकता थी।
जैसे, पुराने गोदाम की खिड़कियों ने अपने उद्देश्य को प्रशिक्षित करने का अवसर प्रस्तुत किया, और समय से पहले विध्वंस सहायता सफल होने पर जश्न मनाया (एक और खिड़की टूट गई), जैसा कि मैंने कुछ पुराने लड़कों को एक बार करते देखा है।
मेरे और कुछ अन्य सहयोगियों के लिए, सड़क ने स्कूल जाने के लिए एक छोटा रास्ता दिया। बहरहाल, हम सभी पुराने और थोड़े लंबे मार्ग को पसंद करेंगे, क्योंकि यह एक ज्ञात मार्ग था और इसने हमें जर्जर इमारत से बचने की अनुमति दी जिससे हमें अजीब तरह की बेचैनी महसूस हुई। यह सोचने या चिंता करने वाली बात कम थी।
मैं इस कहानी को मोबाइल फोन से पहले से साझा करता हूं, आपको अपने बचपन में ले जाने के प्रयास में, और ऐसी ही भावनाओं को मिटाने की कोशिश करता हूं जो आपने एक बच्चे के रूप में अनुभव किया हो सकता है जब एक जर्जर इमारत, या क्षेत्र को देखते हुए, और परिचय देने के लिए टूटी हुई विंडोज थ्योरी ।
संक्षेप में, टूटी हुई खिड़कियां सिद्धांत बताता है कि पर्यावरण विकार आपराधिक, असामाजिक या नागरिक विकार व्यवहार को प्रोत्साहित करता है। कोई टूटी हुई खिड़कियां अव्यवस्था की संभावना को कम नहीं करती हैं, शांति और कानून व्यवस्था के पक्ष में हैं। पुराने गोदाम की टूटी हुई खिड़कियों के साथ, जब पहले से ही बहुत अधिक अव्यवस्था होती है, तो इसे और अधिक ढेर करना आसान होता है।
मैं पहली बार टूटी हुई खिड़कियों के सिद्धांत पर आया था, कई चंद्रमा पहले, व्यावहारिक प्रोग्रामर को पढ़ते हुए। यदि आप सॉफ़्टवेयर डेवलपमेंट की दुनिया में नए हैं, तो यह पढ़ने योग्य है।
टूटी हुई खिड़कियां सिद्धांत ज्ञान अक्सर मेरे दिमाग में आता है। निश्चित रूप से अपराधियों और व्यवहार विशेषज्ञों के पास इसके बारे में कहने के लिए बहुत कुछ होगा, लेकिन मेरे लिए, यह एक उत्कीर्ण चित्रण है कि पर्यावरण मानव व्यवहार को कैसे प्रभावित करता है।
और जबकि कुछ और हाल के विद्वानों का दावा है कि सिद्धांत अब खड़ा नहीं है, यहां तक कि उनके कागजात या दावों को पढ़े बिना भी, मैं पहले ही चुनौती दूंगा: "क्षमा। मैं समझता हूं कि आप एक विशेषज्ञ हैं, लेकिन मेरे अनुभव में यह सही है।"
यदि आप "बिंग बैंग" टीवी शो पसंद करते हैं, तो आप जानते हैं कि विशेषज्ञ भी गलत हो सकते हैं और मित्रों द्वारा भी गलत साबित हो सकते हैं।
मुझे आशा है कि आप समझ गए होंगे कि इस पुराने गोदाम की कहानी में टूटी हुई खिड़कियां, असामाजिक व्यवहार को आमंत्रित करती हैं, जो राहगीरों को भी प्रेरित करती हैं, जैसे कि मुसीबत के एक स्वचालित पूर्वाभास द्वारा निर्देशित, इससे दूर कदम उठाने और इसे दिमाग से निकालने के लिए।
ताकि आप यह न सोचें कि मैं बहुत बूढ़ा हो गया हूं, मुझे एक अन्य उदाहरण के रूप में टिकटॉक किआ चुनौती का उपयोग करने की अनुमति दें (जिसका प्रदर्शन किया जाना है, इसमें वाहन की खिड़की को तोड़ना भी शामिल हो सकता है)।
यदि आप इससे परिचित नहीं हैं, तो यह उस प्लेटफॉर्म पर साझा किए गए एक वीडियो के बारे में है, जिसके कारण किआ और हुंडई को लक्षित मोटर वाहन चोरी की एक श्रृंखला हुई, जो ज्यादातर किशोरों द्वारा की गई, जिसके परिणामस्वरूप संपत्ति, शोक, जीवन की हानि और अन्य नापाक नुकसान हुआ। परिणाम, जिनमें से सभी नकारात्मक हैं... टिकटॉक लाभ और आगे मंच की बदनामी को छोड़कर।
उन कार निर्माताओं द्वारा एक इरादा या दुर्भाग्यपूर्ण डिजाइन निर्णय होने के बावजूद, यह एक प्रणाली की नाजुकता थी, जिसका एक सामान्य यूएसबी केबल के माध्यम से सफलतापूर्वक शोषण किया गया था।
वयस्क, या कम से कम जिम्मेदार काम करने के लिए, दोनों ब्रांडों के लिए उक्त भेद्यता का खुलासा करना होगा और आशा है कि वे इसे ठीक करने के लिए कदम उठाएंगे। बेशक, इसका मतलब यह होगा कि वीडियो के लेखक शायद कभी प्रसिद्ध नहीं होंगे, और न ही इसे करते समय उन्हें मज़ा आएगा।
मेरे लिए यह दिलचस्प है कि आजकल के युवा अग्निशामकों, डॉक्टरों या अंतरिक्ष यात्रियों के बजाय, भले ही बुराई के राजदूत के रूप में प्रभावशाली हों। गुड जॉब मास मीडिया! (मेरा व्यंग्य उन लोगों के लिए है जिन्हें व्यंग्य करने में कठिनाई होती है)।
तो इस उदाहरण में, हम यह स्वीकार कर सकते हैं कि भले ही अनजाने में, एक टूटी हुई खिड़की (और एक यूएसबी केबल) सिर्फ टूटे हुए कांच की तुलना में अधिक नाटकीय परिणाम दे सकती है।
तब से दोनों कंपनियों ने आपराधिक व्यवहार को कम करने और उससे निपटने का प्रयास करने के लिए कदम उठाए हैं, या दूसरे शब्दों में, टूटी हुई खिड़की को ठीक किया है, लेकिन प्रतिष्ठा की क्षति और वित्तीय नुकसान का सामना करने से पहले नहीं।
सॉफ़्टवेयर की दुनिया का एक उदाहरण जो कई वर्षों से टूटी हुई खिड़की है, HTTP रेफ़रर हेडर है, रेफ़रल शब्द की गलत वर्तनी है। इससे मुझे परेशानी हुई है, शायद आपको भी और अगर हजारों नहीं तो सैकड़ों लोगों को भी।
मेरी तरह, आपने भी शायद लेखकों का मज़ाक उड़ाया होगा (आमतौर पर तेज़ आवाज़ में कठोर और मज़ाकिया टिप्पणी करते हैं)। आपने यह भी खोजा होगा कि यह किसकी गलती थी और संभावित रूप से यह भी निष्कर्ष निकाला कि, इतने सालों के बाद भी, कि बहुत व्यस्त होने का बहाना या "मैं इसे अंततः ठीक कर दूंगा"... बहुत ही मानवीय है, जैसा कि आपके पास है अन्य टूटी खिड़कियों के लिए निश्चित रूप से पहले इसी तरह का तर्क सुना है।
दूसरे लोगों के समय गंवाने की परवाह कौन करता है जब यह सिखाना आसान होता है कि आपको कुछ गलत करने की जरूरत है, क्योंकि यह करने का सही तरीका है? या, यहाँ एक मज़ेदार विचार है, क्यों न हम शब्दकोश बदल दें? फिर यह गलती नहीं होगी।
अपनी पसंद का टेक्स्ट एडिटर खोलें और अंग्रेजी में शब्दकोश वाले गलत वर्तनी वाले संस्करण के साथ एक वाक्य लिखें। क्या शब्द टाइपो के रूप में फ़्लैग किया जाता है?
परिणाम आपको चौंका सकते हैं।
एक टूटी हुई खिड़की, बिना मरम्मत के छोड़ दी जाती है, और अधिक टूटी हुई खिड़कियों की ओर ले जाती है, लेकिन अगर विशेषज्ञ भी उनकी परवाह नहीं करते हैं, तो हममें से बाकी लोग क्यों करें? और खिड़कियाँ क्यों नहीं तोड़ देते? एक न एक दिन सब ठीक होना ही है।
यहाँ एक संभावित कारण है! इसमें संख्याएँ शामिल हैं, गलत होना बहुत आसान है, लेकिन आइए इसे जाने दें।
आइए 2021 में यूएसए में औसत प्रोग्रामर वेतन का उपयोग करें जो इस स्रोत के अनुसार $93 000 था। आइए $ 44.71 का प्रति घंटा मूल्य प्राप्त करने के लिए सप्ताह में 40 घंटे और 52 कार्य सप्ताह मान लें (जाहिर तौर पर अमेरिकी छुट्टी पर बड़े नहीं हैं)।
यह देखते हुए, इस स्रोत के अनुसार अकेले यूएसए में 4.3 मिलियन प्रोग्रामर हैं। यहां तक कि अगर हम उनमें से केवल 5% लेते हैं (मैंने मनमाने ढंग से मूल्य चुना है) तो हमें 215 000 प्रोग्रामर मिलेंगे जो किसी न किसी तरह से टाइपो का सामना करते हैं और इसे समझने और संबोधित करने के लिए कदम उठाने पड़ते हैं।
यदि उनमें से प्रत्येक प्रोग्रामर केवल 1 घंटे का औसत खो देता है, साइड इफेक्ट्स से निपटता है और समझता है कि यह पहले स्थान पर क्यों है, तो उनकी पहली मुठभेड़ की लागत 9.6 मिलियन डॉलर होगी। यदि यह 30% (1 290 000 लोग) होता तो मूल्य 57.7 मिलियन डॉलर होता। दोबारा: केवल यूएसए ।
यहां तक कि अगर आप एक और मनमाना प्रतिशत चुनते हैं, तो भी बर्बादी बहुत अधिक होगी।
और कृपया ध्यान दें कि मैंने इस बात पर कोई विचार नहीं किया है कि विकास चक्र में पहले पकड़े गए मुद्दों की लागत उत्पादन में पकड़े गए मुद्दों की तुलना में काफी कम है। मैंने मुद्रास्फीति समायोजन भी नहीं जोड़ा है, न ही अलग-अलग देशों या छात्रों और प्रोफेसरों पर विचार किया है जो इसे संबोधित करने में समय व्यतीत करते हैं, न ही उन लोगों पर विचार करते हैं जिनके पास वेबसाइटें हैं और जिन्हें प्रोग्रामर नहीं माना जाता है, न ही जो सेवानिवृत्त हो चुके हैं, और न ही, जिनके पास अभी भी है इसे सीखने के लिए।
अब, दुनिया को शामिल करने के लिए उस मूल्य का विस्तार करें। कितना पैसा, कितना मूल्य, कितना जीवन, क्या आप मानते हैं कि पहले ही खो चुका है और खो जाएगा?
मैं उस दिन के लिए तरसता हूं जब एक दयालु आत्मा कहीं साझा करती है, "वैसे, हमने इसे ठीक कर दिया है और पुराने तरीके को संस्करण X में बहिष्कृत कर दिया जाएगा"। क्योंकि मेरे लिए, जब तक कि आसान गलती के लिए जिम्मेदार लोग इतने नीच न हों कि उन्हें इस टाइपो के लिए याद किया जाए, तो इसे ठीक करने का सबसे अच्छा समय कल था। (Apache Foundation में किसी को जानते हैं या Nginx के साथ काम कर रहे हैं? कृपया उन्हें परेशान करें!)
"अंत को ध्यान में रखकर शुरू करें", जिसमें वह शामिल है जो आपने दूसरों के लिए किया या नहीं किया।
फिर भी, यह सॉफ्टवेयर की दुनिया से सिर्फ एक उदाहरण है, एक गेंडा नहीं, हमारे पास और भी बहुत कुछ है।
यह मेरा अनुभव रहा है कि परिपक्वता जितनी अधिक होगी, हितधारकों का अनुभव और सॉफ्टवेयर की लंबी उम्र, टूटी हुई खिड़कियों के लंबे समय तक बने रहने या कभी भी संबोधित नहीं होने की संभावना उतनी ही अधिक होगी।
और नहीं। मैं न तो पीछे खड़ा हूं और न ही उनके बगल में जो जल्दी और अक्सर रिलीज होने में संतुष्टि लेते हैं, क्योंकि यह नियमित रूप से कम गुणवत्ता और देखभाल में अनुवाद करता है। यह जानते हुए कि आप ज्यादातर टूटी हुई खिड़कियां जारी कर रहे हैं, बिना सोचे-समझे पूरी सुविधाएं, फुर्तीली होने के बारे में नहीं हैं, यह मैला हो रहा है।
और हां, मुझे पता है कि कई कारण सामने आएंगे और उपरोक्त कथन का खंडन करेंगे, लेकिन मेरा मानना है कि उनमें से कोई भी साइबर विरोधी द्वारा लाए गए मौसम में बदलाव का विरोध नहीं करेगा जो लाभ का फैसला करता है। अधिक स्पष्ट रूप से: स्टार्टअप कंपनियों के कोडबेस अपराध के लिए नियमित रूप से पके हुए हैं, दूसरे शब्दों में, अपराधियों के लिए कम लटके फल हैं।
लेकिन परिपक्व संगठनों के संबंध में, टूटी खिड़कियों को गले लगाने वाली परिपक्वता की वास्तविकता के पीछे सबसे मजबूत ताकतें निवेश पर कम रिटर्न और अन्य दबाव वाली प्राथमिकताएं हैं जो उपलब्ध संसाधनों के ध्यान की आवश्यकता को निर्धारित करती हैं और लागू करती हैं।
इसके अलावा, स्थापित संगठन नियमों और अनुपालन से बंधे होते हैं जो उन्हें कुछ ऐसे जोखिम लेने से रोकते हैं जो अगर अमल में आते हैं, तो इसका व्यापक सामाजिक प्रभाव होगा। यही कारण है कि वे कंपनियां स्टार्टअप्स को इनक्यूबेट करना पसंद करती हैं, जिससे उन्हें कुछ विशिष्ट हासिल करने की अनुमति मिलती है, फिर वास्तव में प्राप्त करने से पहले नियमों और गतिविधियों के अधिक स्थिर होने तक प्रतीक्षा करें।
समाज असफल होने वालों का पक्ष नहीं लेता, हम विजेताओं का जश्न मनाते हैं! इसलिए, गलती करने या असफल होने पर रक्षात्मक होना मानवीय है। हम मांग करते हैं कि हमारे अलावा हर कोई, उस मामले के लिए कभी भी जुर्माना या फ्री किक न चूकें। इसके अलावा, प्रोग्रामर निश्चित रूप से एक दूसरे के प्रति दयालु नहीं हैं, लेकिन यह उनके लिए अलग-थलग समस्या नहीं है।
तो यह अप्रत्याशित नहीं है कि एक टीम, या एक व्यक्ति, तर्कों के साथ प्रतिक्रिया करता है जैसे: "यह वास्तव में एक बग नहीं है", "यह वास्तव में एक दोष नहीं है", यह एक डिजाइन निर्णय था", "हमने कभी नहीं सोचा था कि इसका इस्तेमाल इस तरह किया जा सकता है ", "कोई भी ऐसा कभी नहीं करेगा", "यह किसी को चोट नहीं पहुंचाता", "यह इरादे के अनुसार काम कर रहा है", आदि।
और जब टूटी हुई खिड़कियों को ठीक नहीं किया जाता है, कम से कम किसी भी समय जल्द ही, एक विनोदी गीकी फैशन में, प्रोग्रामर उन्हें कहते हैं: " एक सुविधा "।
मूर्खतापूर्ण लगता है ना? आइए देखें कि क्या हो सकता है।
यदि हम अपने स्वयं के पूर्वाग्रहों का विरोध करने का प्रयास करते हुए, आराम से बैठते हैं, तो शायद हम में से अधिक यह देख सकते हैं: मनुष्यों का एक समूह जो एक जीवित समस्या को हल करता है, निश्चित रूप से और आसानी से टूटी हुई खिड़कियों को पहचान सकता है। और क्योंकि कुछ कभी तय नहीं होंगे, लोग चिंता करना बंद करने के तरीकों की तलाश करेंगे और उन्हें अपने दिमाग के बैकलॉग से निकाल देंगे।
क्योंकि जीवन में कई अन्य चीजों की तरह जिन्हें व्यक्तिगत रूप से या प्रत्यक्ष रूप से नियंत्रित नहीं किया जा सकता है, यदि आप उनके बारे में सोचने में ऊर्जा खर्च करना जारी रखते हैं तो वे आप पर भारी पड़ते हैं।
तब ऐसा कब होता है कि यह सामान्य व्यवहार जो नकारात्मकता को वहन करता है और अवांछनीय है, अस्वीकार्य हो जाता है? क्या यह तभी होता है जब लोग दुर्घटनाग्रस्त होते हैं और मौत होती है?
यदि ऐसा है, तो ठीक है, तो कुछ चीजें हैं जो कभी तय नहीं होंगी... चलो हारते रहें, या अधिक सटीक रूप से, दूसरों को खोने दें।
टूटने वाले कांच के बीच, जो केवल गोदाम के मालिक को प्रभावित करता है, वाहन मालिकों को, उन लोगों को जिन्होंने उन्हें लूट लिया, और अंत में अन्य प्रोग्रामरों को, विवरण को संबोधित करते हुए, भले ही छोटा हो, फर्क पड़ेगा।
मुझे उम्मीद है कि अगली बार जब आप कुछ गलत करते हैं, तो आप इसे तुरंत ठीक करने पर विचार करें या जिस व्यक्ति ने यह किया है, उसे इसे संशोधित करने की अनुमति दें।
और कृपया कूड़ा फेंकना बंद करें क्योंकि दूसरे भी ऐसा करते हैं।
और अगर वे विशेषज्ञ हैं, तो उन्हें चुनौती दें! वे इंसान हैं, वे गलतियाँ करते हैं और उन्होंने नोटिस भी नहीं किया होगा। यदि वे डॉर्क की तरह प्रतिक्रिया करते हैं, तो उत्तर दें: "आपका स्वागत है"।
अगर मेरे जीवन में अब तक की गई सभी टाइपो और अन्य मूर्खतापूर्ण चीजों के लिए मुझे भुगतान करने के लिए दंड देना होता…
लेकिन मैं हमेशा एक काम करने की कोशिश करता हूं : एक बार जब मुझे उनके बारे में पता चल जाए, तो उन्हें ठीक कर दें। तुम्हें भी चाहिए!
छोटी चीजें, वे मायने रखती हैं। और यदि बिल्कुल नहीं, तो उनकी उपस्थिति क्या दर्शाती है।
"टूटी हुई खिड़कियां" (खराब डिजाइन, गलत निर्णय, या खराब कोड) को ठीक न होने दें। - डेव थॉमस और एंडी हंट द्वारा व्यावहारिक प्रोग्रामर
(इसमें छोटे भी शामिल हैं)