मैं एक बड़े मानवीय संगठन के लिए काम करता हूं, एक प्रोजेक्ट बिल्डिंग सॉफ्टवेयर पर जो भोजन के वितरण को गति देकर आपात स्थितियों में जान बचाने में मदद कर सकता है। कई एनजीओ को हमारे सॉफ्टवेयर की सख्त जरूरत है और हम शेड्यूल से कुछ ही हफ्ते पीछे हैं।
इस परियोजना में एक बात जो मुझे चिंतित करती है, वह यह है कि मुझे लगता है कि कोडिंग मानकों पर अत्यधिक ध्यान केंद्रित है। हम अजगर / django में लिखते हैं और PEP0008 के एक संस्करण का उपयोग करते हैं, विभिन्न संशोधनों के साथ जैसे लाइन की लंबाई 160 चार्ट तक जा सकती है और सभी लाइनों को उस समय तक जाना चाहिए जब तक कि आयात के बीच कोई खाली लाइनें नहीं होती हैं, लाइन रैपिंग नियम जो केवल कुछ विशेष प्रकारों के लिए हैं। कक्षाएं, बहुत सारे टेम्प्लेट जिन्हें हमें उपयोग करना चाहिए, भले ही वे किसी समस्या को हल करने का सबसे अच्छा तरीका न हो आदि।
एक कोर देव ने एक हफ्ते के लिए सिस्टम के एक प्रमुख हिस्से को फिर से लिखने के लिए नए कोडिंग मानकों को पूरा करने में खर्च किया, इस प्रक्रिया में परीक्षणों के कई सूटों को फेंक दिया, क्योंकि पुनर्लेखन का मतलब था कि वे 'अमान्य' थे। हमने खोए हुए सभी कार्यक्षमता को फिर से लिखने और कीड़े को ठीक करने में दो सप्ताह बिताए। वह प्रमुख देव हैं और उनका शब्द वजन वहन करता है, इसलिए उन्होंने परियोजना प्रबंधक को आश्वस्त किया है कि ये मानक आवश्यक हैं। कनिष्ठ देवता जैसा कहा जाता है वैसा ही करते हैं। मुझे लगता है कि परियोजना प्रबंधक के पास इस सब के बारे में संज्ञानात्मक असहमति की एक मजबूत भावना है, लेकिन फिर भी यह पूरी तरह से सहमत है क्योंकि वह अनिश्चित महसूस करता है कि और क्या करना है।
आज मैं गंभीर संकट में पड़ गया क्योंकि मैं एक कीवर्ड तर्क में अल्पविराम के बाद कुछ रिक्त स्थान रखना भूल गया था। मैं स्काइप कॉल के दौरान दो अन्य देवों और परियोजना प्रबंधक द्वारा सचमुच चिल्लाया गया था। व्यक्तिगत रूप से मुझे लगता है कि कोडिंग मानक महत्वपूर्ण हैं, लेकिन यह भी सोचें कि हम उनके साथ जुनूनी समय बर्बाद कर रहे हैं, और जब मैंने इसे मौखिक रूप से उकसाया तो यह भड़का हुआ था। मुझे टीम में एक संकटमोचक के रूप में देखा जाता है, एक टीम जो अपनी असफलताओं के लिए बलि का बकरा ढूंढ रही है। कोडिंग मानकों की शुरुआत के बाद से, टीम की उत्पादकता औसत रूप से कम हो गई है, हालांकि यह केवल जुनून को मजबूत करता है, अर्थात लीड देव प्रगति की कमी के लिए मानकों के प्रति हमारे गैर-पालन को जिम्मेदार ठहराते हैं। उनका मानना है कि यदि हम सम्मेलनों का पालन नहीं करते हैं तो हम एक-दूसरे के कोड को नहीं पढ़ सकते हैं।
यह चिपचिपा होने लगा है। अब मैं विभिन्न लिपियों को संशोधित करने की कोशिश कर रहा हूं, ऑटोपेप 8, पेपी 8इफ और पायथनटाइडी को सम्मेलनों से मिलाने की कोशिश कर रहा हूं। हम स्रोत कोड के खिलाफ pep8 भी चलाते हैं लेकिन हमारे मानक के लिए बहुत सारे अंतर्निहित संशोधन हैं कि उन सभी को ट्रैक करना मुश्किल है। सीसा देव सरल दोष निकालता है कि pep8 स्क्रिप्ट नहीं उठाती है और अगली स्टैंड-अप मीटिंग में हम पर चिल्लाती है। हर हफ्ते कोडिंग मानकों में नए जोड़ होते हैं जो हमें मौजूदा, काम करने, परीक्षण किए गए कोड को फिर से लिखने के लिए मजबूर करते हैं। शुक्र है कि हमारे पास अभी भी परीक्षण हैं, (मैंने कुछ कमिट्स वापस किए और उनमें से हटाए गए लोगों का एक गुच्छा तय किया)।
सभी समय सीमा को पूरा करने के लिए दबाव बढ़ रहा है।
मेरा मानना है कि एक बुनियादी मुद्दा यह है कि प्रमुख देव और एक अन्य कोर देव ने अन्य डेवलपर्स पर भरोसा करने से इनकार कर दिया है ताकि वे अपना काम कर सकें। लेकिन उससे कैसे निपटें? हम अपना काम नहीं कर सकते क्योंकि हम सब कुछ लिखने में बहुत व्यस्त हैं।
मैंने सॉफ़्टवेयर इंजीनियरिंग टीम में इस गतिशील का कभी सामना नहीं किया है। क्या मैं मानकों के कोडिंग के लिए उनके पालन पर सवाल उठाना गलत हूं? क्या किसी और ने भी ऐसी ही स्थिति का अनुभव किया है और कैसे उन्होंने सफलतापूर्वक इससे निपटा है? (मैं एक चर्चा के लिए नहीं देख रहा हूँ जो वास्तविक समाधान लोगों को मिला है)