कल के तकनीकी ऋण पर आज की बीमारियों को दोष देना


38

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

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

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

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

लब्बोलुआब यह है कि मैं "वह लड़का" नहीं बनना चाहता जो हमेशा उसके सामने परियोजना पर डेवलपर्स के बारे में शिकायत करता है। मैंने अपने करियर में लोगों से पहले यह रवैया देखा है, जो मुझे व्यक्तिगत रूप से महसूस हुआ कि वे अनभिज्ञ थे और परिस्थितियों और डिजाइन प्रभावों पर विचार नहीं कर रहे थे जिससे चीजों को इस तरह प्रोत्साहित किया जा सके कि वे थे।

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

क्या आपको लगता है कि आपके सामने व्यक्ति / टीम की प्रतिष्ठा पर कदम रखे बिना प्रबंधन को इस प्रकार की समस्याओं की रिपोर्टिंग करने का एक बेहतर तरीका, शायद बेहतर तरीका है?


17
यह विडंबना है कि दोष खेल नहीं खेलने के बारे में एक सवाल में , आप 3 पूर्ण पैराग्राफ खर्च करते हैं जिसमें आपके प्रश्न का लगभग 50% पिछली टीम के बारे में रंटिंग है। और सवाल [खराब-कोड] और [खराब-प्रोग्रामर] को टैग किया।
Aaronaught

8
@Aaronaught, ठीक है मैं काट लूंगा, मैंने इसे लेबल किया bad-codeक्योंकि कोड वास्तव में बग और मुद्दे पैदा कर रहा है। मैं इसे लेबल bad-programmerक्योंकि मुझे डर मैं पिछले टीम, एक थके हुए और घिसा बहाना है कि हम सब से पहले सुना है को दोष देने से एक बनने रहा हूँ। जहां तक ​​पहले तीन पैराग्राफों पर विचार किया जाता है, शायद मुझे उस वर्णनात्मक होने की आवश्यकता नहीं थी, लेकिन मैं अपनी तत्काल स्थिति की एक सटीक तस्वीर पेंट करना चाहता था और अब तक जो मैंने इकट्ठा किया था उसका इतिहास देना चाहता हूं।
maple_shaft

2
... तो वहाँ का एक तत्व है शेख़ी वहाँ में? हाँ, मुझे ऐसा लगता है, लेकिन मैं नानी के बीमार होने की वजह से एक ऐसे आवेदन में शामिल हूं जो एक एडीएचडी बच्चे की तरह मृत्यु की कामना करता है।
maple_shaft

2
मुझे तुमसे सहानुभूति है। मैं करता हूँ। लेकिन हमारे पास एक चैट सिस्टम है यदि आप भाप को रोकना या उड़ाना चाहते हैं। रचनात्मक प्रश्नों में एक तटस्थ स्वर होना चाहिए और ऐसे अनावश्यक विवरणों को छोड़ देना चाहिए।
Aaronaught

मेरे जीवन की कहानी
इयूलियन ओनोफ्रेई

जवाबों:


46

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

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

इसे प्रबंधन को समझाएं और हर समय पिछली टीम को "दोष देने" के बजाय आप इसे "हमेशा की तरह व्यवसाय" के रूप में पेश कर सकते हैं।


4
एक बहुत अच्छा गैर-दोषपूर्ण स्पष्टीकरण के लिए कि कैसे एक परियोजना तकनीकी ऋण में प्राप्त करने के लिए (सही ढंग से!) चुन सकती है।
जोरिस टिम्मरमन्स

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

2
@ - आप बिल्कुल सही हैं। सभी उपमाओं के साथ, यह एक माइक्रोस्कोप के नीचे टूट जाता है। हालांकि, तुलना अभी भी उच्च स्तर पर ठोस है। यह अनिवार्य रूप से विवरणों और उनके स्तर पर प्रबंधन के साथ बातचीत - एक व्यावसायिक समस्या के रूप में, तकनीकी समस्या नहीं है। अनिवार्य रूप से किसी भी लंबे समय से चल रहे प्रोजेक्ट में एक निश्चित मात्रा में तकनीकी ऋण जमा होता है और जैसे कि इसका मतलब है कि समय के साथ विकास पर एक अतिरिक्त खर्च होता है। चूंकि यह छिपा हुआ है (और अच्छी तरह से समझा भी नहीं गया है), यह सुनिश्चित करने के लिए हर किसी का सबसे अच्छा हित है कि इसके बारे में बात की जाए।
नेमी

2
+1 "यह सही है भले ही आप अपने आवेदन को सही तरीके से लिखें।"
मौरिसियो शेफ़र

1
@radarbob मैं असहमत हूं - वित्तीय ऋण की तरह, यह कोई फर्क नहीं पड़ता कि यह जानबूझकर किया गया था, बुरी किस्मत या मूर्खता के कारण - किसी को भविष्य में इसके लिए भुगतान करना होगा। कारण के संबंध में यह शब्द स्वाभाविक रूप से तटस्थ है।
हल्क

23

IMO आप पहले से ही इस बारे में सही तरीके से जा रहे हैं: आप "पुराने कोड बेकार है" क्योंकि एक समय में एक बात फिक्सिंग, लेकिन फिर से लिखना नहीं है।

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

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


3
+1: पुराने प्रबंधन को दोष दें, जो गुणवत्ता वाला उत्पाद देने में विफल रहा है, तब (उम्मीद है) नए प्रबंधन को संदेश मिलेगा (या आप से छुटकारा पाएं, दोनों ही मामले एक जीत हैं जहां तक ​​आप चिंतित हैं)
gbjbaanb

15
@ जीबीजैनब - किसी को दोष मत दो! किसी को दोष देने के लिए अपने रास्ते से बाहर जाओ। बस वर्तमान स्थिति और वांछित स्थिति को स्थापित करें, और आपको वहां पहुंचने की आवश्यकता कैसे और क्यों है, इसका तार्किक तर्क दें।
जोरिस टिम्मरमन्स 14

एह, सुनिश्चित करें कि वहाँ नया प्रबंधन है। वही बॉस अभी भी हो सकता है। और यहां तक ​​कि अगर वह चले गए, वह कहीं बाहर है। सुनिश्चित करें कि आप लोगों को बस के नीचे फेंकने से पहले पता लगा लें।
फिलिप

काश, यह किसी को दोष न देने जैसा ही सरल होता। प्रबंधन किसी / कुछ पर उंगली इंगित करने के लिए जोर देता है। अगर मैं किसी ऐसे व्यक्ति या लोगों के समूह की ओर इशारा नहीं करता, जो मुझे इंगित करता है?
maple_shaft

4
@maple_shaft - इसलिए मैंने प्रबंधन को अपने जवाब में जो तर्क दिया है, और अगर वे अभी भी "दोषारोपण" पर जोर देते हैं, तो अपने रिज्यूमे को उतने ही साइटों पर पोस्ट करें जितना आप पा सकते हैं, क्योंकि चीजें आपके लिए बहुत बुरी तरह से जा रही हैं। उंगली को इंगित करने के लिए किसी और की कमी के लिए आपको दोषी ठहराना शुरू करने का फैसला करें ।
जॉरिस टिम्मरमन्स

7

जब किसी समस्या उत्पाद की वर्तमान स्थिति के बारे में टिप्पणी करने के लिए कहा जाता है, तो मैं हमेशा "यह क्या है," पर वापस गिर जाता है, और फिर इसे सुधारने के लिए योजनाओं के बारे में बात करना शुरू करता है।

आप उन सभी कारकों को नहीं जानते जो इस समस्या को बनाने वाले निर्णय में गए - शायद वे उस समय भी उचित थे। आप बस इतना कर सकते हैं कि आगे बढ़ना है और चीजों को कल बेहतर बनाना है। और ऐसा लगता है कि आप एक अच्छा काम कर रहे हैं - आपके पास इस स्थिति के लिए सही दृष्टिकोण है।

पूछे जाने पर केवल रिपोर्टिंग तथ्यों पर ध्यान दें। आपको कथा या टीका नहीं जोड़ना है; बस "सिस्टम X के मामले में विफल रहता है" या "रिपोर्ट Y के लिए गलत हैं।" फिर जल्दी से जोड़ें कि आप वर्तमान स्थिति में सुधार करने की योजना कैसे बनाते हैं।

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