क्या डिजाइन "कीड़े" एक बुरा संकेत हैं?


29

क्या यह एक बुरा संकेत है यदि उपयोगकर्ता डिज़ाइन के अनुसार चीजों के लिए बग रिपोर्ट प्रस्तुत करते हैं?

क्या इसका आम तौर पर यह अर्थ है कि एप्लिकेशन भ्रमित या अस्पष्ट है, या क्या मुझे इसे केवल एक-बार उपयोगकर्ता की गलती के लिए चाक करना चाहिए, विशेष रूप से कहा गया है?

(मेरे पास वास्तव में ऐसी कोई रिपोर्ट नहीं है। यह पूरी तरह से काल्पनिक सवाल है कि बाय-डिज़ाइन "बग" का अस्तित्व खराब है या नहीं।)


19
शायद लोटस नोट्स के कुछ प्रोग्रामर टिप्पणी करना पसंद करेंगे, क्योंकि मानक उत्तर "इसकी बग नहीं इसकी विशेषता है जिसे आप नहीं समझते"।
जेम्स एंडरसन

5
यह मुझे सुझाव देता है कि डेवलपर्स को दी गई उपयोगकर्ता की आवश्यकताएं उन उपयोगकर्ताओं के साथ मेल नहीं खातीं जो सोचते हैं कि उन्होंने क्या मांगा था।
प्रलोभन

7
@temptar "यह वही है जो मैंने मांगा था, लेकिन यह वह नहीं है जो मैं चाहता था।"
स्टुपरयूजर

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

7
@ डंक: मैंने एक प्रणाली लागू की है जिसे हर दिन 24 घंटे माना जाता है, क्योंकि हम डेलाइट सेविंग टाइम के अस्तित्व के ग्राहक को समझाने में विफल रहे। वे बस विश्वास नहीं करेंगे कि 25 घंटे के साथ दिन हैं। क्या यह कार्यक्रम में एक बग है?
MSalters

जवाबों:


54

क्या यह एक बुरा संकेत है? मुझे लगता है कि यह एक चेतावनी है जो देखने लायक है, लेकिन मुझे भी लगता है कि ऐसा होना तय है।

जब लोग मुझे किसी भी तरह की प्रतिक्रिया देते हैं, तो मैं इसे तीन बाल्टी में छानने की कोशिश करता हूं:

  • कीड़े
  • सुविधा का अनुरोध
  • गलत संचार

कीड़े

कीड़े तब होते हैं जब कुछ स्पष्ट रूप से उस तरीके से काम नहीं करता है जिसकी आप अपेक्षा करते हैं, और न ही वह तरीका जिस पर उपयोगकर्ता अपेक्षा करेगा। जैसे, इसने मुझसे मेरा नाम पूछा, मैंने "स्कॉट" में प्रवेश किया, हिट दर्ज किया, और यह कहा, "हाय जो!"

सुविधा का अनुरोध

यह "मुझे पता है कि हमने इस बारे में कभी बात नहीं की, लेकिन क्या मेरे माउस इशारों से पता चल सकता है कि मैं बाएं हाथ का हूं और ओके बटन को स्क्रीन के बाईं ओर ले जाऊं?" यह तब होता है जब वर्तमान व्यवहार आपके और उपयोगकर्ता दोनों की अपेक्षाओं से मेल खाता है, लेकिन वे अपेक्षा को बदलना चाहते हैं।

गलत संचार

यह तब होता है जब आप परिदृश्य से एक परिणाम की अपेक्षा करते हैं, लेकिन उपयोगकर्ता एक अलग परिणाम की अपेक्षा करता है। कभी-कभी यह एक सुविधा अनुरोध बन जाता है, अगर उन्होंने अपनी अपेक्षाओं का संचार नहीं किया है, लेकिन उन्होंने सोचा कि उन्होंने ऐसा किया है। कभी-कभी यह एक बग बन जाता है यदि आपकी उम्मीद गलत साबित होती है।

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

इसलिए आपको हर बग रिपोर्ट को पढ़ना चाहिए, लेकिन अधिकांश जटिल सिस्टम में बग रिपोर्ट होने वाली हैं जो वास्तव में सिर्फ फीचर अनुरोध हैं, या संभवतः आवश्यकताओं का गलत संचार है। वास्तविक दुनिया की अंतर्निहित जटिलता को न समझना शायद इन मुद्दों का सबसे बड़ा स्रोत है।


3
मिस-कम्युनिकेशन में गलत-याद रखने वाली (या सादे भूल) भी शामिल होती हैं, जो अपेक्षाओं को संप्रेषित और सहमत थीं।
पीटर टेलर

1
महान अंतर, लेकिन मुझे अभी भी लगता है कि आवेदन को गलत संचार को समझाने का प्रयास करना चाहिए अगर यह कर सकता है। एक ही नाम वाले आपके कई लोगों के साथ ऐप कह सकता है, "हमारे पास पहले से ही 3 जॉन स्मिथ हैं, क्या आप सुनिश्चित हैं कि यह इनमें से एक नहीं है" नहीं, मुझे यकीन है कि यह एक नया जॉन स्मिथ विकल्प है।
एलेक्स एंड्रोनोव

@ एलेक्स एंड्रोनोव - एक गलतफहमी का मतलब यह नहीं है कि कोई कार्रवाई करने के लिए नहीं है: या तो प्रलेखन, टूलटिप आदि को बदल दें, प्रशिक्षण सामग्री को अपडेट करें, या संभवतः बस एक संक्षिप्त विवरण और आगे बढ़ें।
स्कॉट व्हिटलॉक

7

यह पिछले उत्तर में नहीं छुआ था इस प्रकार अब तक मैं जोड़ दूंगा कि यह एक अज्ञानी उपयोगकर्ता आधार का संकेत भी हो सकता है। मैं "अज्ञानी" शब्द का अपमानजनक या कृपालु तरीके से उपयोग नहीं करता, केवल यह व्यक्त करने के तरीके के रूप में कि वे अपने डोमेन या सॉफ़्टवेयर की जटिलताओं में उचित ज्ञान या शिक्षा के बिना हैं।

अधिकांश उपयोगकर्ताओं को इस बात की जानकारी नहीं है कि कुछ आवश्यकताओं को पूरा करने के लिए सॉफ्टवेयर को कितना जटिल होना चाहिए। 80% प्रयास का प्रभाव केवल 20% कार्यक्षमता (फ्रिंज और अपवाद मामलों) में जाता है।

वे कभी-कभी यह नहीं समझ पाते हैं कि सॉफ़्टवेयर को एक निश्चित तरीके से व्यवहार करने की आवश्यकता है, कई बार दोषों की एक भीड़ या डेटा, आदि के भ्रष्टाचार को रोकने के लिए ...

यह चिंताजनक नहीं है क्योंकि यह स्पष्ट और संक्षिप्त प्रलेखन और संचार के साथ बेहतर हो जाता है।


2
+1 लेकिन कृपया जटिल और जटिल के बीच अंतर को देखें ... सॉफ्टवेयर को जटिल होने की आवश्यकता नहीं है, लेकिन यह अक्सर बहुत जटिल होता है।
मार्जन वेनेमा

यह एकदम सच है। मेरे द्वारा चलाए जाने वाला सबसे आम मामला है उपयोगकर्ताओं को कई-से-एक बनाम कई-से-कई रिश्तों के बीच अंतर का एहसास नहीं हो रहा है। मेरे द्वारा प्राप्त एक सामान्य अनुरोध है, "क्या आप रिपोर्ट को हेडर में क्रम संख्या दिखा सकते हैं?" और मुझे यह समझाना होगा कि लगभग 95% मामलों में वे जिस सामान पर काम करते हैं उस पर केवल एक ही क्रम संख्या होती है, ऐसे कई मामले हैं जहाँ क्वेरी में कई आदेशों में डेटा शामिल हो सकता है। फिर मुझे पूछना होगा, क्या आप चाहते हैं कि मुझे कॉमा द्वारा अलग किए गए हेडर में सभी ऑर्डर नंबरों को सूचीबद्ध किया जाए या क्या आप रिपोर्ट में प्रत्येक डिटेल लाइन पर ऑर्डर नंबर चाहते हैं?
स्कॉट व्हिटलॉक

@ScottWhitlock हाँ यह एक ही बात है। एक अच्छा डेवलपर या व्यावसायिक विश्लेषक तब केवल वही नहीं करना चाहिए जो ग्राहक पूछता है लेकिन उस मूल समस्या को उजागर करने की कोशिश करें जो वे अनुभव कर रहे हैं कि उन्होंने पहली बार में ऐसा अनुरोध क्यों किया है। एक बार जब आप उनकी समस्या की पहचान कर लेते हैं तो आप एक उचित समाधान की पहचान कर सकते हैं और उचित आवश्यकताओं या उपयोगकर्ता कहानियों को लिख सकते हैं।
maple_shaft

5

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

किसी विशेष UI सुविधा या किसी फ़ील्ड पर उनके विचार में एक मुद्रा प्रतीक या कुछ अन्य फ़ॉर्मेटिंग होनी चाहिए, कम से कम तब तक विचार किया जाना चाहिए, जब तक आपको अधिक प्रतिक्रिया न मिल जाए। इस पर शोध करना थोड़ा और मुश्किल हो सकता है।


1
कोई एकल उत्तर नहीं है, तब, मुझे लगता है। इसका मूल्यांकन केस-बाय-केस आधार पर किया जाना चाहिए। मुझे इतना ज्यादा लगा।
मैक्सएमपी

5

मेरे अनुभव में बाय-डिज़ाइन कीड़े का मतलब है कि आपके उपयोग के मामले आपके वास्तविक उपयोगकर्ताओं के लिए उपयुक्त नहीं हैं। अपने उपयोग के मामलों के लिए वास्तविक उपयोगकर्ताओं का उपयोग करने के बारे में पढ़ने का प्रयास करें (बस उन्हें नाम और एक थंबनेल विवरण उपयोग मामलों की गुणवत्ता के लिए चमत्कार करता है।)

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


5

यूआई को सिद्धांत का पालन ​​करना चाहिए - विस्मयकारी सिद्धांत का दोहराया जाना - डिज़ाइन के रूप में काम करने वाली विशेषता पर बार-बार बग रिपोर्ट करना एक संकेत है कि इस सिद्धांत का सही ढंग से पालन नहीं किया गया है।


3
या, एक विभाजित उपयोगकर्ता समूह है। उदाहरण के लिए, मान लें कि आपका वेबऐप एक डेस्कटॉप की नकल करता है। क्या आप उम्मीद करते हैं कि विंडो बंद करने से प्रोग्राम बंद हो जाएगा? विंडोज उपयोगकर्ताओं के लिए हाँ, मैक-उपयोगकर्ताओं के लिए नहीं।
कीपला

1
@ कीप्पला - आप एक अच्छी बात करते हैं। आप हर किसी को खुश नहीं कर सकते हैं, इसलिए "बग" के मामले में, जैसे कि यहां उल्लेख किया गया है, यह सुनिश्चित करने के लिए कुछ जांच की आवश्यकता है कि आपको पहले की तुलना में "फिक्स" के बाद अधिक बग रिपोर्ट नहीं मिलेंगे।
जॉरिस टिम्मरमैन

1
हो सकता है, लेकिन "सैकड़ों लोगों ने इस पर बग दर्ज किया है!" की तुलना में यह है कि आप कुछ पागल उपयोगकर्ताओं को बता रहे हैं कि आपने लिस्ट विस्मय के जादुई सिद्धांत की उनकी व्यक्तिगत व्याख्या का उल्लंघन किया है और वे चकित हैं। मैं बाद का थोडा थका हुआ हूँ, क्योंकि एक आदमी का "विस्मय" दूसरे आदमी का "सीधा" है।
जेफ एटवुड

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

2

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


2

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

(संपादित करें - मेरी टिप्पणी को @ मार्जन वेंमा के सुझाव के अनुसार जोड़ा गया।


मैं वास्तव में नहीं देखता कि बग रिपोर्ट के रूप में चिह्नित किया जा रहा है। एक सुझाव या सुविधा अनुरोध की तरह। (हालांकि, कुछ बग-ट्रैकिंग सिस्टम के साथ, इसे वैसे भी एक के रूप में गिना जा सकता है।)
मैक्सएमपी

1
मैं सहमत हूं, ज्यादातर समय, लेकिन इसका मतलब डिजाइन में ओवरसाइट (बग), या विनिर्देशों में एक ग्रे क्षेत्र, या डेवलपर और उपयोगकर्ता द्वारा बनाई गई मान्यताओं का एक अलग सेट हो सकता है।
जेम्स मैकलेड

1
जेम्स, यदि आप उस टिप्पणी को अपने उत्तर में जोड़ते हैं, तो पूरा उत्तर बेहतर हो जाता है।
मार्जन वेनेमा सेप

1

मेरा मानना ​​है कि इसका मुख्य संकेत इस तथ्य के कारण है कि डिजाइन सामान्य नहीं है और उपयोगकर्ताओं की आवश्यकता पूरी तरह से समझी / विश्लेषण नहीं की गई है।

मैं डिजाइन के दो कैटोगरीज देखता हूं, - दुर्घटना से डिजाइन। - इरादे से डिजाइन।

दुर्घटना से डिजाइन अक्सर ऐसे मुद्दों की ओर जाता है और टिक नहीं सकता।


1

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

लेकिन निश्चित रूप से आपको अपने उपयोगकर्ताओं से प्रतिक्रिया पढ़ने और मूल्यांकन करने की आवश्यकता है! वे, आखिरकार, वे जो आपकी रचना का उपयोग करते हैं!


0

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.