मुझे कितना कोड के लिए जिम्मेदार होना चाहिए?


13

सहकर्मियों और एक्जिट इंटरव्यू के माध्यम से, मैंने सुना है कि मेरी छोटी कंपनी में मैं कहीं और 3-10 गुना अधिक कोड के लिए "जिम्मेदार" हूं, जितना कि मैं किसी अन्य नौकरी में हूं। मैं किसी तरह की फजी मीट्रिक की तलाश करने की कोशिश कर रहा हूं जिसका उपयोग मैं अपने क्षेत्र में दूसरों के साथ अपने कार्यभार की तुलना करने के लिए कर सकता हूं।

"कोड जिम्मेदारी" से, मेरा मतलब यह नहीं है कि "मैं केवल एक ही हूं जो कोड बेस के क्षेत्र एक्स को जानता है" (हालांकि दुख की बात है, यह अक्सर एक स्टार्टअप वातावरण में सच है), बल्कि "code_base_size" जैसी संख्या का उल्लेख कर रहा हूं / number_of_developers "।

क्या कोई संसाधन हैं जो मुझे कोड की गिनती लाइनों की तुलना में मेरे कार्य भार को अधिक सटीक रूप से मापने में मदद करने के लिए उपयोग कर सकते हैं?


8
कोड की पंक्तियाँ आवश्यक रूप से जटिलता या कार्यभार का सटीक माप नहीं है।

3
इसलिए मेरा अंतिम वाक्य :)
माइकल

2
@ ThorbjørnRavnAndersen: "सटीक"? मुझे लगता है कि आप कुछ और मतलब हो सकता है। यह एकमात्र उपाय के बारे में है जो वास्तव में सटीक (और सटीक) है। बैरी बोहम (सॉफ्टवेयर इंजीनियरिंग अर्थशास्त्र) ने प्रदर्शित किया कि यह एकमात्र समझदार उपाय के बारे में था। यह परियोजना के आकलन के लिए बेकार बनाता है। लेकिन एक पूर्वव्यापी उपाय के रूप में जो प्रयास और अवधि की भविष्यवाणी करता है, यह किसी भी अन्य की तुलना में बहुत बेहतर था।
एस.लूट

जवाबों:


12

एक नियोजित डेवलपर के लिए एकमात्र ठोस उपाय घंटों की संख्या है जो कोडिंग और फिक्सिंग कीड़े को खर्च करते हैं, और इसके लिए आपको जो पैसा मिलता है। यदि आप सप्ताह में 6 दिन देर से रह रहे हैं तो सप्ताह में 50K US $ एक वर्ष के लिए है, तो आपको एक समस्या है। कोई फर्क नहीं पड़ता कि आपके बॉस की कितनी लाइनें आपके लिए जिम्मेदार हैं, आप निश्चित रूप से एक निश्चित कोड गुणवत्ता का ध्यान रखते हुए, जितना आप कर सकते हैं, उससे अधिक नहीं संभालेंगे। बिना यूनिट परीक्षणों के साथ खराब गुणवत्ता कोड विकसित करना बहुत अधिक कोड को संभालने का एक अच्छा तरीका है, लेकिन कंपनी को एक बड़े तकनीकी ऋण की कीमत चुकानी होगी ।

में छोटे कंपनियों डेवलपर्स में अधिक से अधिक कोड के लिए जिम्मेदार हो जाते हैं बड़े कॉर्प। कारक 3 से 10 आप मुझे यथार्थवादी लगते हैं।


6

मैंने एक तीन व्यक्ति टीम को जाना है जो 1.5 मिलियन लाइन कोडबेस को प्रबंधित करती है और उसमें डूब नहीं रही है। महत्वपूर्ण माप यह नहीं है कि आप कितने कोड के लिए ज़िम्मेदार हैं, बल्कि समय की एक निश्चित वृद्धि में आपको कितना कोड बदलना होगा।

जोखिम मूल्यांकन कोण भी है। यदि आप एकमात्र व्यक्ति हैं जो कोड के एक टुकड़े को जानते हैं, तो एक बस के नीचे चलने पर क्या अवसर लागत खो जाएगी? छोटी कंपनियां आमतौर पर इस तरह के जोखिम का आकलन नहीं करती हैं, लेकिन इसका मतलब यह है कि व्यापार की निरंतर सफलता का मौका छोड़ दिया जाता है।


3

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


2

कोड एक डेवलपर की नहीं समूह की जिम्मेदारी होनी चाहिए। समर्थन को प्रत्येक सप्ताह निष्पक्ष रूप से सौंपा जाना चाहिए, यह किसी अन्य तरीके से आवंटित करने के लिए बेवकूफ लगता है। अगर ऐसा नहीं है तो मेरा सुझाव है कि आप अपने प्रबंधन से बात करें।

ऐसी स्थिति में जब आपका एक डेवलपर वर्णन कर रहा हो, तो एक क्षेत्र से भारी मात्रा में समर्थन के कारण समय सीमा पूरी करने के लिए संघर्ष करना पड़ सकता है, जहां अन्य डेवलपर्स काम कर रहे हैं। यह एक बहुत ही अक्षम प्रबंधन संरचना है।

इसके अलावा, मेरा सुझाव है कि आप कोड की लाइनों में कार्यभार को मापने से दूर जाएं। मैन आवर्स एकमात्र समझदार मीट्रिक है जिसके बारे में मैं सोच सकता हूं

कोड की तर्ज पर प्रोग्रामिंग प्रगति को मापना वजन द्वारा विमान निर्माण प्रगति को मापने जैसा है - बिल गेट्स

एनबी। मैं बराबर नहीं कह रहा हूं मैं निष्पक्ष रूप से कह रहा हूं। यह भी ध्यान देने योग्य है कि कोड आधार के कुछ पहलुओं के विशेषज्ञ के लिए इसका जुर्माना स्वाभाविक रूप से होता है। यह केवल एक समस्या है अगर कोई और कभी भी उस कोड पर काम न करे।


मुझे स्पष्ट होना चाहिए था - मैं यह कहकर अपने काम के बोझ को मापने का एक तरीका खोजने की कोशिश कर रहा था "यह कोड मेरी जिम्मेदारी है - और मैं इसे बनाए रखता हूं।" उदाहरण के लिए, यदि फेसबुक में 2 प्रोग्रामर होते हैं, तो उन्हें स्पष्ट रूप से ओवरवर्क किया जाएगा - लेकिन आप उस निष्कर्ष पर कैसे पहुंचेंगे? यह उस प्रकार का प्रश्न है जिसके लिए मैं जा रहा था।
माइकल

2

उदाहरण के लिए, यदि फेसबुक में 2 प्रोग्रामर होते हैं, तो उन्हें स्पष्ट रूप से ओवरवर्क किया जाएगा - लेकिन आप उस निष्कर्ष पर कैसे पहुंचेंगे? यह उस प्रकार का प्रश्न है जिसके लिए मैं जा रहा था।

यह एक प्रोग्रामिंग सवाल नहीं है, यह एक प्रबंधन सवाल है।
इसका उत्तर देने के लिए कुछ आसान प्रश्न हैं और उनका सॉफ्टवेयर से कोई लेना-देना नहीं है।

  1. आप कितने घंटे काम कर रहे हैं?
  2. आपको कितने घंटे काम करना चाहिए?
  3. क्या समय सीमा पूरी हो रही है?

तो इस तर्क का पालन करें:

  • यदि 1> 2, आपको अधिक लोगों या कम आक्रामक समय सीमा की आवश्यकता है।
  • यदि 1 <2, आपको कम लोगों या अधिक पहल की आवश्यकता है।
  • यदि समय सीमा पूरी नहीं हो रही है और 1> = 2 है, तो आपको और लोगों की आवश्यकता है।
  • यदि समय सीमा पूरी नहीं हो रही है और 1 <2, आपको किसी को आग में जाना चाहिए।

यह एक ओवरसाइम्प्लिफिकेशन है जिसमें दो स्पष्ट दोष हैं।

  • लोगों को समान नहीं बनाया जाता है।
  • लोगों को अधिक उत्पादन (अपने कंप्यूटर या कुछ और अपग्रेड) करने के तरीके हैं।

लेकिन आप विचार समझ गये।

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