समय सीमा या कम कीड़े से मिलो?


15

एक आदर्श दुनिया में कम बग के साथ समय सीमा को पूरा करना बेहतर होता है। लेकिन आपके अनुभव से जो अधिक बेहतर / स्वीकार्य है:

  1. समय सीमा को पूरा करें, लेकिन कई बग हैं क्योंकि डेवलपर चीजों में भाग लेता है
  2. कम कीड़े लेकिन काफी समय सीमा को पूरा नहीं करते क्योंकि डेवलपर कोड लिखने में बहुत कठोर है

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

पहले एक अपेक्षाकृत बग-मुक्त रिलीज प्राप्त करें।
एबेल

जब आप सही तरीके से काम कर रहे होते हैं, तो बग एक सप्ताह से अधिक समय तक मौजूद रहते हैं :) लाभ: ए) बग्स के लिए भुगतान करना सस्ता होता है, और बी) जब आप अपफ्रंट का भुगतान करते हैं, तो आप जानते हैं कि असली लागत क्या है।
अय्यूब

3
XKCD हमेशा की तरह प्रासंगिक है। xkcd.com/844
मैक्सएमपी

जवाबों:


5

इस सवाल का जवाब व्यापार के लक्ष्यों, साथ ही ग्राहक पर बहुत अधिक निर्भर करता है।

उद्यम :

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

इस प्रकार के ग्राहक आमतौर पर समझते हैं कि अच्छा सॉफ्टवेयर विकसित होने में समय लेता है, और लक्ष्यों को पूरा करने के लिए आपके साथ काम करना होगा।

स्टार्टअप :

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

यह आपको बाजार के नेता के रूप में भी स्थापित कर सकता है, प्रतियोगिता से संतृप्त होने से पहले आपको एक नई ऊर्ध्वाधर में मूल्यवान बाजार हिस्सेदारी हासिल करने में मदद करता है।

चूंकि स्टार्टअप छोटे, लचीले होते हैं, और तेजी से बदलने के लिए अनुकूल हो सकते हैं, यह मॉडल उनके लिए सबसे अच्छा काम करता है।

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


14

या ... 3. गैर-आवश्यक कार्यक्षमता में कटौती

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

इस पुस्तक से उद्धृत करते हुए , "Rework", आपके सॉफ़्टवेयर से आवश्यक / कोर / उपरिकेंद्र, व्यवसाय को कार्य करने की आवश्यकता है, जैसे एक हॉट डॉग स्टैंड किसी भी टॉपिंग के बिना एक हॉट डॉग स्टैंड हो सकता है, जिसे आप काट नहीं सकते हैं। हॉट डॉग।

फिर से बातचीत

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

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

बाद में करने का अर्थ है बेहतर करना

... और कम बग के साथ समय सीमा को पूरा करना


2
यह मूल प्रश्न के लिए रूढ़िवादी है। कई बार, आप बस कार्यक्षमता में कटौती नहीं कर सकते। यह अच्छा है जब आप कर सकते हैं, लेकिन मुझे नहीं लगता कि यह अपने आप में एक अच्छा, सामान्य सवाल का जवाब है।
जेसन बेकर

कार्यक्षमता आवश्यक है। यह सब।
मौरिस

1
सभी कार्यक्षमता आवश्यक नहीं है
जुरगेन ए। एरहार्ड

2
सभी कार्यक्षमता आवश्यक नहीं है। इसमें से बहुत कुछ अच्छा हो सकता है या अगली रिलीज़ तक प्रतीक्षा कर सकता है (यह मानते हुए कि अगली रिलीज़ की योजना है)। मैंने कभी ऐसी परियोजना में काम नहीं किया है जहाँ कुछ सुविधाएँ नहीं थीं जिन्हें काटा जा सकता था।
ऐनी शूसेलर

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

9

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


यह बहुत अच्छी बात है। :-)
जोशुआ अंश जोगी

8

समय सीमा को पूरा करें, और ज्ञात मुद्दों की एक सूची प्रस्तुत करें ।

लोग बग ढूंढने से घृणा करते हैं, लेकिन अगर उन्हें सामने बता दिया गया है, तो वे बहुत अधिक शांत हो जाते हैं।


5

यह पूरी तरह से स्थिति पर निर्भर करता है ...।

विचार करने के लिए कई कारक हैं:

  1. पैच को रोल करना कितना आसान है?
  2. क्या समय के साथ एक बेसिक, स्ट्रिप-डाउन संस्करण जारी करना और फिर नए (एज केस) कार्यक्षमता को पैच करना संभव है?
  3. ऐसे उत्पाद के लिए ग्राहक उद्योग की सामान्य संस्कृति क्या है? क्या वे एकमुश्त पूर्ण रिलीज की उम्मीद करते हैं, या क्या वे एक विकसित प्रणाली के विचार के लिए उपयोग किए जाते हैं जो पहली बार जारी होने पर छोटी गाड़ी हो सकती है?
  4. डेडलाइन उड़ाने के विपरीत, बुग्याली प्रारंभिक संस्करण में व्यवसाय के लिए कितना जोखिम है?

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

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

नोट: एक प्रोग्रामर के रूप में, निश्चित रूप से मैं एक उत्पाद को चमकाने के विचार को पसंद करता हूं जितना संभव हो इससे पहले कि इसे हटा दें (बिल्ली, मैं बल्कि कभी भी कोई समय सीमा नहीं है;)। लेकिन वास्तविक रूप से, यह वास्तविक जीवन में संभव नहीं है। अक्सर, एक छीन-डाउन प्रारंभिक रिलीज एक अच्छा मध्य जमीन समाधान है।


2

मैंने बहुत सारे पीएम को क्लाइंट को यह बताने से डरते देखा है कि हम शेड्यूल को पूरा नहीं कर सकते हैं और ज्ञात कीड़े के साथ जहाज बनाने पर जोर देते हैं। मैं आपको बता सकता हूं कि हर बार जब वे ग्राहक को बताते हैं, तो वह आमतौर पर कम कीड़े और एक स्थानांतरित समय सीमा में अधिक रुचि रखते हैं। मैं गारंटी देता हूं कि वे याद की गई समय सीमा से अधिक बग्स को याद रखेंगे जब तक कि समय सीमा पूरी तरह से उपलब्ध नहीं होती है (जैसे कि टैक्स फाइलिंग के मौसम की शुरुआत जब आप कर सॉफ्टवेयर कर रहे हों) या कुछ अन्य चीजों को प्रभावित करेंगे जिन्हें स्थानांतरित करना बहुत महंगा होगा (IMHO सभी समय सीमा का 98% इन मानदंडों को पूरा नहीं करता है)।


1

मुझे लगता है कि यह बग पर निर्भर करता है। क्या आप किसी बग को ठीक करने के लिए रिलीज़ में देरी करना चाहते हैं जहां ऐप किसी भी कंप्यूटर पर लॉन्च किए गए मिनट को क्रैश कर देता है? हाँ बिलकुल। क्या आपको एक बग को ठीक करने की आवश्यकता है जो केवल विंडोज एमई पर होता है जबकि पूर्णिमा बाहर है? वह शायद इंतजार कर सकता है।

यदि यह एक महत्वपूर्ण बग है, तो नंबर 2 हाथ नीचे करना बेहतर है। कारण यह है कि अगर आप एक अद्यतन में है कि तय बाहर धक्का है तय करने के लिए यह घातीय अधिक खर्च होता है।

कम महत्वपूर्ण अपडेट के लिए, आप एक बंडल अपडेट जारी कर सकते हैं जो उस लागत को कुछ हद तक कम कर देता है।

जब संदेह होता है, तो मैं कहता हूं कि आप # 2 के साथ जाते हैं, लेकिन मुझे उस दृष्टिकोण के साथ प्रबंधन से पुशबैक प्राप्त करने में आश्चर्य नहीं होगा। मुझे संदेह है कि प्रबंधकों को इस बात से अधिक आंका जाता है कि वे समय सीमा को पूरा करने में कितने अच्छे हैं क्योंकि वे अनावश्यक आलोचनात्मक अद्यतन नहीं कर रहे हैं।


1

न तो। क्यों नहीं अपने कोड के साथ गुणवत्ता सेंकना? गुणवत्ता कोड के साथ समय सीमा को पूरा करने में सक्षम हो? आप कम सुविधाओं को धक्का दे सकते हैं, लेकिन यदि गुणवत्ता प्रक्रिया में बेक की गई है तो आप दोनों को प्राप्त कर सकते हैं।

अब क्या होता है आपको एक सशक्त टीम लीड या देव प्रबंधक की आवश्यकता होगी जो व्यवसाय को पीछे धकेल सकता है और 2 चीजों के बारे में बातचीत कर सकता है:

  1. गुणवत्ता कोड में निर्मित = प्रति बिल्ड 2 कम सुविधाएँ
  2. हितधारक से उच्चतम आवश्यक सुविधाओं को प्राथमिकता देते हुए कि उन्हें वास्तव में क्या चाहिए।

तब आप उच्चतम मूल्य सुविधाओं पर ध्यान केंद्रित कर सकते हैं और उन्हें उत्कृष्टता के साथ बाहर धकेल सकते हैं।


0

खैर जहां तक ​​परीक्षण का सवाल है यह कभी खत्म नहीं होता है। यह खत्म हो गया लेकिन कभी खत्म नहीं हुआ।

गंभीरता और अधिक प्राथमिकता के साथ बग के साथ लॉन्च के लिए जाएं।


4
हाँ, लेकिन आप आत्महत्या नहीं करते क्योंकि आप वैसे भी मरने वाले हैं। आप लंबे और स्वस्थ जीवन जीते हैं। उसी टोकन से, आप केवल बकवास को बाहर नहीं धकेलते हैं क्योंकि यह कभी भी समाप्त नहीं होने वाला है। आप इसे यथासंभव समाप्त करने का प्रयास करते हैं।
जेसन बेकर

अच्छा कहा @ जसन। +1
दान मैकग्राथ

0

बहुत सारे बग्स के साथ समय सीमा को पूरा करना आपको उद्योग में खराब बनाता है, और ग्राहक आपके पास फिर से नहीं आएगा। आप ग्राहक के साथ दो या तीन दिन की देरी से बात कर सकते हैं।


0

यदि आप इसे एक अंतिम उपयोगकर्ता से देखते हैं, तो मैं काफी परेशान हो जाऊंगा यदि कोई व्यक्ति सोमवार के लिए कुछ करने का वादा करता है और जब मैंने इसका उपयोग करने की कोशिश की तो यह काम नहीं करता है, या यह सभी छोटी गाड़ी है।

लेकिन अगर आप "प्रक्रियात्मक" पक्ष को देखते हैं, तो इसका मतलब है कि एप्लिकेशन को सॉफ़्टवेयर के प्राकृतिक जीवन के अधिक परीक्षण और इसके हिस्से की आवश्यकता है।

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


0

यह एक ऐसा प्रश्न है जिसका उत्तर आप केवल दे सकते हैं। यह उत्पाद के प्रकार पर निर्भर करता है कि ग्राहक कौन है, ग्राहक क्या मांग रहा है, आदि हमारे लिए एक सरल 'ए या बी' उत्तर देने का कोई तरीका नहीं है। इसकी पूरी तरह से स्थिति निर्भर है।

लेकिन मैं आपको याद दिलाऊंगा कि रिलीज के बाद बग को ठीक करने की लागत रिलीज से पहले इसे ठीक करने से कहीं अधिक है । इतना कारक कि जब बग को ठीक करने के लिए पोस्ट रिलीज होने तक इंतजार करना है या नहीं, जैसा कि आप उस पर अधिक समय / प्रयास / धन खर्च करेंगे।

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