1 पॉइंट द्वारा GN⁺ 2024-11-13 | 1 टिप्पणियां | WhatsApp पर शेयर करें

बस फ़ैक्टर क्या है?

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

प्लगइन विकास प्रक्रिया

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

नतीजों को दोहराने की कोशिश

  • शोध-पत्र में दिए गए GitHub रिपॉज़िटरी का उपयोग करके नतीजों को दोहराने की कोशिश की गई।
  • डेटा JSON फ़ॉर्मेट में दिया गया है, और विज़ुअलाइज़ेशन CSV के ज़रिए संभव है।
  • README के निर्देश ठीक से काम नहीं कर रहे थे, इसलिए समस्या सुलझाने में समय लगा।

GNU Parallel का उपयोग

  • GNU Parallel का उपयोग करके कई GitHub रिपॉज़िटरी को एक साथ clone किया गया।
  • सिर्फ 8 processes इस्तेमाल करने के लिए सेट किया गया था, लेकिन सभी cores पूरी क्षमता तक इस्तेमाल हुए।

Ruby Gems और NixOS

  • Linguist प्लगइन इंस्टॉल करने में कठिनाई हुई।
  • NixOS पर Ruby Gems इंस्टॉल करने का तरीका खोजा जा रहा है।

नतीजों की दोबारा गणना

  • मूल रिपॉज़िटरी को fork करके, Java source compile किया गया और नतीजों की दोबारा गणना की गई।
  • Linux kernel रिपॉज़िटरी का उदाहरण परिणाम: ट्रक फ़ैक्टर 12, coverage 49.98%.

समस्याएँ और आगे का शोध

  • गणना प्रक्रिया में review process को ध्यान में नहीं रखा गया।
  • यह जाँचने की ज़रूरत है कि Linux kernel का ट्रक फ़ैक्टर 10 साल पहले की तुलना में इतना अलग क्यों है।
  • बेहतर गणना पद्धति खोजने के लिए शोध-पत्र के citations की समीक्षा करने की योजना है।

निष्कर्ष - बस फ़ैक्टर का महत्व

  • 2015 के शोध-पत्र में Linux kernel का ट्रक फ़ैक्टर 90 आंका गया था, लेकिन अभी यह 12 निकाला गया है।
  • इसका मतलब सुधार नहीं है।
  • अतिरिक्त विज़ुअलाइज़ेशन और विवरण mclare के ब्लॉग पर देखे जा सकते हैं.

1 टिप्पणियां

 
GN⁺ 2024-11-13
Hacker News राय
  • CodeScene की एक विशेषता यह है कि यह उन हिस्सों की पहचान करती है जहाँ कोड में बदलाव बार-बार होते हैं लेकिन ज्ञान का वितरण कम होता है, ताकि उच्च-जोखिम वाले क्षेत्रों को खोजा जा सके

    • अगर कोई व्यक्ति कंपनी छोड़ दे, तो यह आसानी से देखा जा सकता है कि कौन-सा कोड मुख्य रूप से उसी को पता था, जिससे knowledge transfer की योजना बनाना आसान हो जाता है
    • मुझे नहीं लगता कि इसका दुरुपयोग होगा; यह visibility देने वाला एक टूल है
  • Amazon कोड सिस्टम पर रिपोर्ट्स के ज़रिए ऐसी सुविधा देता है जिससे टीम की गतिविधि और जोखिम वाले तत्वों को आसानी से समझा जा सके

    • 'bus factor' एक ऐसा मापदंड है जो दिखाता है कि टीम का कोई विशेष सदस्य अनुपस्थित हो जाए तो टीम कितनी प्रभावित होगी
    • डेवलपर्स सोच सकते हैं कि किसी खास सिस्टम का ज्ञान उनकी job security सुनिश्चित करता है, लेकिन इसे तकनीकी जोखिम के रूप में भी देखा जा सकता है
  • GNU Parallel सभी cores का उपयोग इसलिए करता है क्योंकि हर git clone कई index-pack threads बनाता है

    • pack.threads को 1 पर सेट करने से मदद मिल सकती है
  • 'bus factor' टीम की स्वायत्तता और पारदर्शिता को दर्शाता है, और आदर्श स्थिति में हर टीम सदस्य को सब कुछ समझने में सक्षम होना चाहिए

    • 0 bus factor का मतलब है कि टीम सदस्य एक-दूसरे की भूमिकाएँ संभाल सकते हैं, और यह सॉफ़्टवेयर की सरलता को दर्शाता है
    • ईमेल, commit, PR, कोड की लाइनों की संख्या आदि से लोगों का मूल्यांकन करना गलत तरीका है
  • एक गलतफ़हमी है कि करियर में आगे बढ़ने के साथ डेवलपर्स को कोड लिखने की बजाय review पर ज़्यादा ध्यान देना चाहिए

    • मैं बेहतरीन डेवलपर्स को औसत managers में बदलना नहीं चाहता
  • सिस्टम का author उस उपयोगकर्ता को माना जाता है जिसने किसी फ़ाइल में महत्वपूर्ण योगदान दिया हो, और अगर authors मिलकर पूरी फ़ाइल के 50% से कम हिस्से को कवर करते हों, तो सिस्टम को गंभीर देरी का सामना करना पड़ सकता है

  • startup में layoffs की समस्या 'किसे निकाला जाए' का सवाल नहीं है, बल्कि 'अगला version जल्दी विकसित करने वाली टीम कौन होगी' का सवाल है

  • कुछ enterprise software में ईमेल भेजने और पाने की मात्रा मापने वाले dashboards हो सकते हैं

    • सहकर्मियों के मना करने के बावजूद किसी चीज़ पर शौकिया काम करना अच्छा व्यवहार नहीं लग सकता
  • CPAN लंबे समय से bus factor को track करता आया है; उदाहरण के लिए Moose का bus factor 5 है

  • 'lottery factor' शब्द का उपयोग यह बताने के लिए किया जाता है कि अगर कोई व्यक्ति lottery जीतकर चला भी जाए, तब भी क्या project चलता रह सकता है