किस कीड़े को हल करने से सबसे बड़ी लागत लाभ मिलेगा [बंद]


9

मैं बगों को श्रेणीबद्ध करने का एक विचार प्राप्त करना चाहता था कि इसे हल करना कितना आसान है और इससे मुझे कितना लाभ होगा। उदाहरण के लिए, यदि एक बग है जो बनाम एक दूसरे को हल करने के लिए एक घंटे (डबल फ़ाइल बंद आदि) कहेगा जो एक दिन (खंड दोष) लेता है। लेकिन अगर पहली बग को हल करना बहुत महत्वपूर्ण नहीं है, तो मैं शायद दूसरे पर काम करूंगा।

क्या कोई शोध पत्र हैं जो लागत-लाभ या इसी तरह के मीट्रिक के आधार पर कीड़े को वर्गीकृत करते हैं?


मान लें कि बग विशेषताओं के आधार पर बगों को वर्गीकृत करना संभव है, जैसे सुरक्षा भेद्यता, मेमोरी त्रुटि, तर्क त्रुटि आदि। दूसरे आयाम पर कठिनाई (आसान, मध्यम, कठोर) जैसे पैरामीटर हो सकते हैं। क्या ऐसे अन्य आयाम हैं जिनकी मुझे तलाश होनी चाहिए। चीजों को सरल बनाने के लिए, मैं दो चीजों को ग्रहण कर सकता हूं:

  1. टीम में प्रत्येक प्रोग्रामर किसी भी बग को हल करने में समान रूप से सक्षम है
  2. कोई समय सीमा नहीं है


मैं आपसे सहमत हुँ। मैं एक सार्वभौमिक दृष्टिकोण के लिए नहीं कह रहा हूं, लेकिन लगभग एक ही हूं। कुछ कीड़े हैं जिनके लिए हम आसानी से समय का अनुमान लगा सकते हैं (जो कभी-कभी गलत हो सकता है लेकिन यह ठीक है)।
एके

1
समय पर वर्गीकृत न करें / ले जाएगा। महत्व पर वर्गीकृत करें: "शो स्टॉपर्स" (क्रैश, शुरू नहीं, अनुपयोगी यूआई), "शुद्धता", "ग्राहक संतुष्टि", आदि; और तात्कालिकता पर। महत्वपूर्ण और जरूरी के अनुसार उन्हें ऑर्डर करें; महत्वपूर्ण लेकिन जरूरी नहीं; महत्वपूर्ण और जरूरी नहीं; जरूरी नहीं कि जरूरी न हो। (यदि आप केवल अत्यावश्यक को देखते हैं तो जरूरी नहीं कि जरूरी चीजें जरूरी नहीं कि महत्वपूर्ण सामान से बाहर हो जाएं)।
मार्जन वेंमा

2
यह प्रश्न यहां भी पोस्ट किया गया था: pm.stackexchange.com/questions/9664/… । मुझे नहीं लगता कि नुकसान हुआ था क्योंकि यह यकीनन परियोजना प्रबंधन में पार कर सकता था। मैं इसे लिंक कर रहा हूं, ताकि इस प्रश्न को खोजने वाले सभी उत्तर देख सकें । उम्मीद है की यह मदद करेगा! :)
jmort253

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

जवाबों:


11

विशिष्ट बग ट्रैकिंग सिस्टम में दो, शायद तीन फ़ील्ड हैं जो बग लागत लाभ अनुपात की पहचान करते हैं:

  1. प्राथमिकता (व्यवसाय स्वामी द्वारा निर्दिष्ट)
  2. गंभीरता (बग का वर्गीकरण - महत्वपूर्ण से निम्न)
  3. अनुमानित घंटे (एक अनुमान है कि इसे करने में कितना समय लगेगा)

जैसा कि आप ध्यान दें, यह पहचान करता है कि किस बग पर काम करना महत्वपूर्ण है।

पीईएफ / आरईवी में लगाई गई प्रणाली : एक बहु-आयामी बग ट्रैकिंग मीट्रिक व्यवसाय और डेवलपर घटकों पर बग लागत लाभ के बारे में अधिक जानकारी जोड़ता है।

सभी मान 1 .. N स्केल (प्रत्येक के लिए एक ही शीर्ष मान) पर हैं।

PEF व्यवसाय द्वारा पहचाना जाता है:

  • पी ऐन - बग कितना दर्दनाक है
  • ffort - बग के आसपास काम करने में कितना प्रयास होता है
  • एफ आवश्यकता - बग कितनी बार होता है

REV डेवलपर से आता है:

  • आर isk - सिस्टम के लिए कितना जोखिम भरा है
  • ffort - बग को ठीक करने के लिए कितना प्रयास है
  • V erifiable - बग फिक्स को सत्यापित करना कितना आसान है

यदि, उदाहरण के लिए, आपके पास शायद ही कोई दुर्घटना हो रही है जो चारों ओर काम करना आसान है (ऑटोसैव चालू करें), तो यह 7,1,1 (स्कोर 9) का पीईएफ हो सकता है। इसे ठीक करते समय इसमें कोर मॉड्यूल में बदलाव हो सकता है और इसमें 9,3,2 (स्कोर 14) का REV हो सकता है।

दूसरी ओर, आपके पास एक झुंझलाहट हो सकती है जो हमेशा होती है (3,3,9 - स्कोर 15) जिसमें एक तुच्छ निर्धारण होता है (1,1,3 - स्कोर 5)।

इस उदाहरण में, झुंझलाहट काम करने के लिए एक बेहतर लागत / लाभ वाली चीज लगती है।


यह मुझे पंसद है। ऐसा लगता है कि इसे "नई सुविधाओं" पर भी लागू करना संभव होगा।
मार्टिन विकमैन

यह बहुत जानकारीपूर्ण है। हमारी टीम बगज़िला का उपयोग करती है, और मुझे लगता है कि इसमें समान विशेषताएं नहीं हैं।
एके

1
@ AdityaKumar Bugzilla बहुत ही अनुकूलन योग्य है, हालांकि यह कस्टम फ़ील्ड के अतिरिक्त के साथ किया जा सकता है और फिर PEF / REV मानों के विरुद्ध रिपोर्ट चला सकता है।

@MartinWickman फरार। आरईवी का अनुवाद लगभग बिना किसी बदलाव के किया जा सकता है। PEF संभवतः उपयोगिता का एक संयोजन बन जाएगा (यह कितना अच्छा है) और फ़्रीक्वेंसी (कितनी बार इसका उपयोग किया जाता है) और वैल्यू (फीचर का कथित मूल्य कितना होगा)। (और मुझे उस आयाम के बारे में सोचने के लिए धन्यवाद)

5

आप जिस समस्या का वर्णन कर रहे हैं, वह बहुत आम है और सबसे अच्छा उत्तर "आपकी आंत की भावना का उपयोग" हो सकता है।

मैं आमतौर पर कीड़े को तीन श्रेणियों में बांटता हूं: क्रैशिंग, कष्टप्रद, कॉस्मेटिक (उन्हें 1, 2, 3 कहा जा सकता है - जो वास्तव में कोई फर्क नहीं पड़ता) और फिर हर बग को ठीक करने के लिए आवश्यक समय पर एक समग्र अनुमान लगाते हैं (सभी बग्स को अवश्य करना चाहिए) हर समय एक मोटे तौर पर अद्यतन अनुमान)।

जब कीड़े को हल करना> कष्टप्रद> कॉस्मेटिक और तब मैं संभव के रूप में ज्यादा प्रारंभिक थ्रूपुट प्राप्त करने के लिए "सबसे कम काम पहले" करता हूं।

मुझे लगता है कि किसी भी बग को हल करने से किसी भी प्रकार के प्रत्यक्ष वित्तीय लाभ की गणना करना बहुत मुश्किल है - जब तक कि यह बहुत ही चुस्त भुगतान वाली नौकरी न हो।

एक नोट की आपको आवश्यकता हो सकती है कि आपको वास्तव में जोएल टेस्ट के पांचवें बिंदु पर रहना चाहिए - यह टीम के आकार और विभिन्न "स्थानीय" मुद्दों के बीच वितरण से प्रभावित हो सकता है - लेकिन यह आम तौर पर अच्छे अभ्यास का संकेत है।


1
यहां सहमत हैं, लेकिन उन वर्गीकरणों में से प्रत्येक का वास्तव में क्या मतलब है, इस बात पर सहमत होना महत्वपूर्ण है कि क्या आप दूसरों के साथ काम कर रहे हैं। "प्रचंड़ आवाज़" सुंदर उद्देश्य लगता है - यह या तो करता है या यह नहीं करता है। लेकिन फिर हम "कष्टप्रद" / "कॉस्मेटिक" भाग को प्राप्त करते हैं। कैसा कष्टकर? और किससे? आदि अक्सर "क्रैशिंग" और "कष्टप्रद" के बीच एक और वर्गीकरण होता है। जहां "क्रैशिंग" में कोई वर्कअराउंड नहीं हो सकता है , "ब्रेकिंग" (यदि मैं हो सकता है) में वर्कअराउंड हो सकता है।
तामूस

मैं aggree @tamouse - मेरे उदाहरण मेरी मातृभाषा में ;-) एक (शायद गरीब) शब्दों से अनुवाद है
माइकल Banzon

3

एक अन्य विचार परीक्षण या परीक्षण संगठन का प्रकार हो सकता है जो बग को उजागर करता है, जब बग के प्रभाव और लागत को निर्धारित करने और ठीक करने की कोशिश करता है। यूनिट या फ़ंक्शनल टेस्टिंग उस डिज़ाइन की किसी चीज़ की ओर इशारा कर सकती है जिसे बदलने की ज़रूरत है, और इस तरह जल्दी सही करना बाद के मुकाबले आसान और कम खर्चीला होगा। सिस्टम या एकीकरण परीक्षण किसी ऐसी चीज़ की ओर संकेत कर सकता है जो ग्राहकों की व्यापक विविधता को प्रभावित करती है। और मानक परीक्षण, जबकि अक्सर ग्राहकों के एक बड़े सबसेट के लिए कुछ गैर-महत्वपूर्ण होता है, अगर सही नहीं किया जाता है और व्यवसाय पर नकारात्मक प्रभाव पड़ता है, तो प्रमाणन का नुकसान हो सकता है।

उन्होंने कहा, सिर्फ इसलिए कि एक विशेष परीक्षण संगठन में एक परीक्षण में विफल होने पर स्वचालित रूप से बग को "महत्वपूर्ण" नहीं बनाना चाहिए। उदाहरण के लिए, कुछ ऐसा कहने का प्रलोभन हो सकता है जैसे "सभी सिस्टम परीक्षणों को शिपिंग से पहले पास करना होगा, इस प्रकार कोई भी सिस्टम परीक्षण जो स्वचालित रूप से विफल हो जाता है, एक महत्वपूर्ण / उच्च-गंभीरता बग में परिणाम होता है।" उम्मीद है कि कोई भी संगठन यह बयान नहीं देगा (अच्छा परीक्षण निकास मानदंड एक अलग चर्चा है), लेकिन मुद्दा यह है कि बग की "गंभीरता" को ग्राहक, उत्पाद, या कंपनी की छवि पर इसके प्रभाव का अंदाजा लगाया जाना चाहिए कि यह कहां या कब हुआ है। खुला है।

संबोधित करने का एक संभावित तरीका "गंभीरता" और "तात्कालिकता" के बीच अंतर करना है। उदाहरण के लिए, जैसा कि रिलीज की तारीख निकट है, यह निर्धारित करने के लिए समय दबाव हो सकता है कि क्या जाहिरा तौर पर कम-गंभीरता वाला बग ग्राहकों के एक बड़े उपसमूह को प्रभावित कर सकता है, जो बग को अधिक से अधिक "तात्कालिकता" दे सकता है और उस बग के ऊपर काम को बढ़ा सकता है (कुछ) अन्य कम से कम जब तक वह दृढ़ निश्चय नहीं किया जा सकता। अनुभव और अच्छे निर्णय के साथ दोनों के बीच एक उचित संतुलन, प्रत्यक्ष करने में मदद करेगा जहां समय और प्रयास खर्च होता है।


2

बग आदि के वर्गीकरण के बारे में अन्य लोगों ने जो कुछ कहा है, इसके अलावा, एक विशेष बग का प्रतिनिधित्व करने वाले महत्वपूर्णता के स्तर को निर्धारित करने के लिए अफेरेंट कपलिंग (सीए) को देखने पर भी विचार करें। यदि आपके पास उच्च सीए गणना वाले मॉड्यूल में बग है, तो मैं यह तय करना चाह रहा हूं कि पहले यह सिस्टम के अन्य घटकों को लाभ पहुंचा सके। सीए आपको जिम्मेदारी के स्तर को निर्धारित करने में मदद करता है, और उनमें बग के साथ जिम्मेदार मॉड्यूल पूरे आवेदन को चोट पहुंचाते हैं (सीए के बारे में और अधिक पढ़ें: http://www.ibm.com/developerworks/java/library/j-cq04256/index.html )।

इस बात को ध्यान में रखते हुए, हम ग्राहकों को उनके प्रभाव के आधार पर बग को वर्गीकृत करने और उन्हें प्राथमिकता में रखने की प्रवृत्ति रखते हैं। आपका ग्राहक अलग-अलग होगा, लेकिन उन्हें चर्चा में शामिल करने से अंतत: ड्राइव हो जाएगा कि दूसरों पर क्या बग्स तय होने चाहिए। यह वास्तविक वैज्ञानिक नहीं है, लेकिन एक पूरी टीम के रूप में हम कीड़े की प्राथमिकता और वर्गीकरण पर आम सहमति के लिए आते हैं, सभी के पास "बड़े लोगों" पर इनपुट है (सभी हितधारक इनपुट दे सकते हैं), और हम वहां से ढेर और रैक करते हैं।


2

आप सभी बगों की वास्तविक लागत निर्धारित नहीं कर सकते। कुछ आप कर सकते हैं, कई के लिए यह निर्धारित करना बहुत कठिन है। उदाहरण के लिए, मान लें कि आपके पास एक बग है, जिसके परिणामस्वरूप बटन पर सभी पाठ थोड़े गलत तरीके से लिखे गए हैं। यह आपके 1.0 उत्पाद को थोड़ा टेढ़ा लगता है। इससे आपका प्रोग्राम क्रैश नहीं होता है, या आपके उपयोगकर्ता डेटा खो देते हैं। शायद एक बहुत सस्ते बग, सही?

अब, यदि आपका प्रत्येक ग्राहक इस समस्या को नोटिस करता है, और प्रत्येक समीक्षक आपके उत्पाद की समीक्षा में इसका उल्लेख करता है। और क्या होगा अगर यह बग 1.0 से 1.1 और 1.2 के वर्जन से अधिक है। आपकी कंपनी में अब गुणवत्ता नियंत्रण में थोड़ा सा मैला होने की प्रतिष्ठा हो सकती है। भविष्य के उत्पादों के लिए आपकी कंपनी के लिए संभावित खो बिक्री के मामले में यह साधारण बग कितना महंगा हो सकता है? या, यह आपके उत्पाद को मिलने वाली समीक्षा को कैसे प्रभावित कर सकता है - आपका उत्पाद पूरी तरह से आपके ग्राहकों की जरूरतों को पूरा कर सकता है, लेकिन केवल 10 में से 9 मिलता है क्योंकि यह थोड़ा मैला दिखता है।

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

यह दूर की कौड़ी लग सकता है लेकिन ऐसा नहीं है। जब मैं इसे लिखता हूं, उस समय आप वेब पर किसी अन्य साइट पर जा सकते हैं, जिसमें एक लेख होता है कि कैसे Apple ने अपने कैलेंडर आइकन पर "1" को पिक्सेल या दो से आगे बढ़ाया है। यदि आप एक खोज करते हैं तो आप इस छोटे से बग के बारे में कई नकारात्मक लेख देखेंगे। बेशक, यह सीधे एप्पल की निचली रेखा को प्रभावित नहीं करता है, लेकिन वे खुद को अच्छे डिजाइन के शिखर के रूप में बढ़ावा देते हैं, इसलिए एक डिज़ाइन बग होने से उस धारणा को प्रभावित होता है, भले ही थोड़ा ही हो।


मुझे आपका विचार पसंद है कि ग्राहक / उपयोगकर्ता पर प्रभाव एक बड़ी प्रेरणा शक्ति बन सकता है जिस पर बग को हल करना है।
एके
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.