बस फ़ैक्टर क्या है?
- बस फ़ैक्टर वह मेट्रिक है जो बताता है कि किसी प्रोजेक्ट में कितने टीम सदस्यों के अचानक गायब हो जाने पर प्रोजेक्ट में देरी होने लगेगी।
- 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 टिप्पणियां
Hacker News राय
CodeScene की एक विशेषता यह है कि यह उन हिस्सों की पहचान करती है जहाँ कोड में बदलाव बार-बार होते हैं लेकिन ज्ञान का वितरण कम होता है, ताकि उच्च-जोखिम वाले क्षेत्रों को खोजा जा सके
Amazon कोड सिस्टम पर रिपोर्ट्स के ज़रिए ऐसी सुविधा देता है जिससे टीम की गतिविधि और जोखिम वाले तत्वों को आसानी से समझा जा सके
GNU Parallel सभी cores का उपयोग इसलिए करता है क्योंकि हर
git cloneकईindex-packthreads बनाता हैpack.threadsको 1 पर सेट करने से मदद मिल सकती है'bus factor' टीम की स्वायत्तता और पारदर्शिता को दर्शाता है, और आदर्श स्थिति में हर टीम सदस्य को सब कुछ समझने में सक्षम होना चाहिए
एक गलतफ़हमी है कि करियर में आगे बढ़ने के साथ डेवलपर्स को कोड लिखने की बजाय review पर ज़्यादा ध्यान देना चाहिए
सिस्टम का author उस उपयोगकर्ता को माना जाता है जिसने किसी फ़ाइल में महत्वपूर्ण योगदान दिया हो, और अगर authors मिलकर पूरी फ़ाइल के 50% से कम हिस्से को कवर करते हों, तो सिस्टम को गंभीर देरी का सामना करना पड़ सकता है
startup में layoffs की समस्या 'किसे निकाला जाए' का सवाल नहीं है, बल्कि 'अगला version जल्दी विकसित करने वाली टीम कौन होगी' का सवाल है
कुछ enterprise software में ईमेल भेजने और पाने की मात्रा मापने वाले dashboards हो सकते हैं
CPAN लंबे समय से bus factor को track करता आया है; उदाहरण के लिए Moose का bus factor 5 है
'lottery factor' शब्द का उपयोग यह बताने के लिए किया जाता है कि अगर कोई व्यक्ति lottery जीतकर चला भी जाए, तब भी क्या project चलता रह सकता है