सॉफ़्टवेयर इंजीनियरिंग मेट्रिक्स क्या हैं?
सॉफ़्टवेयर इंजीनियरिंग मेट्रिक्स मात्रात्मक माप हैं, जिनका उपयोग सॉफ़्टवेयर विकास की प्रक्रियाओं, उत्पादों और टीमों की गुणवत्ता, दक्षता और प्रभाव का मूल्यांकन करने, उन्हें ट्रैक करने और बेहतर बनाने के लिए किया जाता है। ठीक से इस्तेमाल हों तो ये व्यवस्थागत निदान के औज़ार के रूप में काम करते हैं: ये परिचालन की अड़चनों को उजागर करते हैं, तकनीकी ऋण चुकाने का औचित्य देते हैं और इंजीनियरिंग गतिविधि को ठोस व्यावसायिक परिणामों से जोड़ते हैं। ग़लत ढंग से इस्तेमाल हों तो ये व्यवहार को विकृत करते हैं, भरोसे को नुकसान पहुँचाते हैं और ठीक ग़लत चीज़ों को पुरस्कृत करते हैं।
यह पुस्तक इसलिए है क्योंकि ज़्यादातर टीमें यह तय करने से पहले ही मेट्रिक्स की ओर हाथ बढ़ा देती हैं कि मेट्रिक किस लिए है। डैशबोर्ड हर उस चीज़ से भर जाता है जिसे गिनना आसान है, नेतृत्व टीम पूछने लगती है “यह संख्या ऊपर है या नीचे”, और एक तिमाही के भीतर टीम उस परिणाम के बजाय संख्या को बेहतर बनाने में लग जाती है जिसका वह प्रतिनिधित्व करने वाली थी। इस विफलता का एक नाम है, गुडहार्ट का नियम: जब कोई माप लक्ष्य बन जाता है, तो वह अच्छा माप नहीं रह जाता। इस पुस्तक का हर विषय इस नियम को पृष्ठभूमि में रखकर लिखा गया है।
दो बुनियादी फ़्रेमवर्क
इंजीनियरिंग डिलीवरी और टीम के स्वास्थ्य को मापने के लिए उद्योग काफ़ी हद तक शोध-समर्थित दो फ़्रेमवर्क पर सहमत हो गया है।
DORA मेट्रिक्स (DevOps Research and Assessment कार्यक्रम से) सिस्टम का थ्रूपुट और स्थिरता मापते हैं: डिप्लॉयमेंट फ़्रीक्वेंसी, बदलावों का लीड टाइम, चेंज फ़ेल्योर रेट और विफल डिप्लॉयमेंट से रिकवरी का समय। इस पुस्तक का भाग 2 चारों को एक समर्पित संदर्भ विषय में कवर करता है, साथ में फ़्लो फ़्रेमवर्क (Flow Framework) जिसका उपयोग डिलीवरी और फ़्लो मेट्रिक्स को अधिक व्यापक रूप से व्यवस्थित करने के लिए होता है, क्योंकि DORA पाइपलाइन की यांत्रिकी को अच्छी तरह मापता है लेकिन यह नहीं बताता कि पाइपलाइन से किस तरह का मूल्य गुज़र रहा है।
SPACE फ़्रेमवर्क, जिसे Microsoft, GitHub और University of Victoria के शोधकर्ताओं ने बनाया, कच्चे थ्रूपुट को पाँच आयामों में डेवलपर अनुभव से संतुलित करता है: संतुष्टि और कल्याण, प्रदर्शन, गतिविधि, संचार और सहयोग, और दक्षता और प्रवाह। भाग 3 इसे गहराई से कवर करता है।
इन दो फ़्रेमवर्क के अलावा, टीमें डोमेन के अनुसार समूहित स्थानीय मेट्रिक्स ट्रैक करती हैं: कोड और गुणवत्ता मेट्रिक्स (भाग 4), उत्पाद और व्यावसायिक मेट्रिक्स (भाग 5), और विश्वसनीयता, संचालन और सुरक्षा मेट्रिक्स (भाग 6)। भाग 7 एक पहले से जारी बदलाव की बात करता है: जनरेटिव AI टूल्स ने कच्चे कोड आउटपुट को लगभग मुफ़्त कर दिया है, जिसका अर्थ है कि एक दशक से उद्योग जिन कई मेट्रिक्स पर निर्भर रहा है वे अब वह अर्थ नहीं रखते जो वे पहले रखते थे।
यह किसके लिए है
मुख्य पाठक वे लोग हैं जो चुनते हैं कि एक टीम क्या और क्यों मापती है: इंजीनियरिंग लीडर, स्टाफ़ और प्रिंसिपल इंजीनियर, प्लेटफ़ॉर्म और DevOps टीमें, और प्रोग्राम तथा उत्पाद प्रबंधक जो पहली बार मेट्रिक्स डैशबोर्ड या स्कोरकार्ड बना रहे हैं, या ऐसा डैशबोर्ड सुधार रहे हैं जो व्यवहार को विकृत करने लगा है। द्वितीयक पाठक कोई भी इंजीनियर है जो समझना चाहता है कि उसका संगठन जो ट्रैक करता है वह क्यों करता है, और जब किसी मेट्रिक का दुरुपयोग हो तो कैसे प्रतिवाद करें।
इसे कैसे पढ़ें
यहाँ से शुरू करें, फिर पुस्तक कैसे व्यवस्थित है यह जानने के लिए परिचय पढ़ें, या सीधे विषय-सूची पर जाएँ। हर विषय अपने आप में पूर्ण है: यह पहले अपने सिद्धांत बताता है, ठोस सिफ़ारिशें देता है, बताता है कि जिस मेट्रिक की वह चर्चा करता है उसमें कैसे हेरफेर किया जाता है, और एक परिपक्वता मॉडल, चर्चा के प्रश्नों और संदर्भों के साथ समाप्त होता है। इसका उपयोग करने के लिए आपको पुस्तक आदि से अंत तक पढ़ने की ज़रूरत नहीं है।