यकीन नहीं होता कि आप इसे सुरुचिपूर्ण मानेंगे, लेकिन वाट्स हंफ्री ने पर्सनल सॉफ्टवेयर प्रोसेस नामक एक पूरी किताब लिखी जो आपकी उत्पादकता को मापने के बारे में थी। उन्होंने आपके डेस्क बनाम रुकावटों पर समय जैसे इनपुट के लिए उल्लिखित मेट्रिक्स, विभिन्न प्रकार के सॉफ्टवेयर जीवन चक्र गतिविधियों पर काम करने में समय बिताया, कोड की मात्रा के अनुसार दोष। एक तकनीकी रिपोर्ट है जो निम्न संस्करण देती है:
http://www.sei.cmu.edu/library/abstracts/reports/00tr022.cfm
यदि आप एक डेवलपर कोड की गुणवत्ता की तरह कुछ देखना चाहते हैं, तो चिदंबर और केमेरर ने ऑब्जेक्ट ओरिएंटेड कोड के लिए कई मेट्रिक्स प्रस्तावित किए।
ऑब्जेक्ट ओरिएंटेड कोड के लिए मेट्रिक्स
- वंशानुक्रम वृक्ष की गहराई,
- तरीकों की भारित संख्या,
- सदस्य कार्यों की संख्या,
- बच्चों की संख्या, और
- वस्तुओं के बीच युग्मन।
कोड के आधार का उपयोग करते हुए, उन्होंने सहसंयोजक विश्लेषण का उपयोग करके इन मैट्रिक्स को दोष घनत्व और रखरखाव के प्रयास से सहसंबद्ध करने की कोशिश की। बाद के अध्ययनों ने सीके मेट्रिक्स और बाद में प्रस्तावित कुछ अतिरिक्त मैट्रिक्स के सापेक्ष अपनी विशेषताओं को निर्धारित करने के लिए सैकड़ों स्रोत फोर्ज जावा परियोजनाओं पर समान विश्लेषण किया।
कोड समीक्षा के संदर्भ में उत्पन्न होने वाले मेट्रिक्स
दोषों को कई मानदंडों द्वारा वर्गीकृत किया जा सकता है:
- गंभीरता: (प्रमुख, मामूली, कॉस्मेटिक, जांच / अज्ञात),
- प्रकार (तर्क, टाइपो, वर्तनी, मानक उल्लंघन, आदि),
- उत्पत्ति / चरण नियंत्रण (आवश्यकताएँ, डिज़ाइन, कोड इत्यादि)।
निरीक्षण और निरीक्षक / समीक्षक समय के अनुसार तैयारी और निरीक्षण दरें (समीक्षक प्रति समय, कोड प्रति पंक्ति का समय) और दोष घनत्व (प्रति KLOC (कोड की हजार लाइनें)) हैं।
नियंत्रण चार्ट के खिलाफ इन मूल्यों को प्लॉट करना हमें दिखा सकता है कि क्या हम प्रक्रिया के लिए सीमा के भीतर हैं (उदाहरण के लिए, एक टीम जो कोड की 200 पंक्तियों का निरीक्षण करती है जो एक समूह में कोई दोष नहीं ढूंढती है जो कि KLOC प्रति पच्चीस दोषों का औसत खराबी हो सकती है)।
अन्य मेट्रिक्स
अन्य मेट्रिक्स जो मदद कर सकते हैं उनमें शामिल हैं
- अनुमान लगाने में मदद करने के लिए अर्जित मूल्य
- Scrum या Kanban का उपयोग करने वालों के लिए वेग ।
- के काम परेटो , Juran , Demming , इशिकावा गुणवत्ता और औद्योगिक इंजीनियरिंग से, और दूसरों को कुछ हद तक कल्पना का एक छोटा सा के साथ सॉफ्टवेयर विकास के लिए पोर्टेबल है।
विश्लेषण की सीमाएँ
मैट्रिक्स के मूल्य पर जबरदस्त सीमाएं हैं। प्रति डेवलपर निश्चित की गई चीज़ों का अर्थ लगभग कुछ भी हो सकता है, और जब आप उस माप को दंडित करना या पुरस्कृत करना शुरू करते हैं, तो मुझे यकीन है कि बग्स को अधिक से अधिक और दानेदार मिलेंगे, और तय किए गए मुश्किल से आसान मिश्रणों का मिश्रण भी बदल जाएगा क्योंकि टीम चेरी पिक करती है। सबसे ज्यादा दौड़ने के लिए।
एक निश्चित व्याकुलता और संभावित रूप से ध्यान और आनंद का नुकसान है जो घुसपैठ माप के साथ आ सकता है। आप वर्ड्सवर्थ जैसे झील कवि की तुलना में बहुत अधिक सुरुचिपूर्ण (और भावनात्मक रूप से बोझिल) नहीं हो सकते , जिन्होंने कहा,
Sweet is the lore which Nature brings;
Our meddling intellect
Mis-shapes the beauteous forms of things:--
We murder to dissect.
जबकि सॉफ्टवेयर बिल्कुल प्रकृति नहीं है, मुझे कुछ अक्षांश दें क्योंकि मैंने सोचा था कि मुझे हाई स्कूल अंग्रेजी साहित्य वर्ग से कुछ भी उपयोग करने के लिए कभी नहीं मिलेगा।
चंचल को केंद्रीकृत, बड़ी प्रक्रिया की प्रतिक्रिया माना जा सकता है। कभी-कभी उस कार्य मोड में इतने अधिक विश्लेषणात्मक प्रयास की आवश्यकता होती है कि सॉफ्टवेयर बनाते समय प्रवाह तक पहुंचने की क्षमता सभी गायब हो जाती है।