Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

क्यों अनुमान संचार उपकरण हैं, लक्ष्य नहीं

"इसे करने में कितना समय लगेगा?"

"इस परिवर्तन को करने में कितना कठिन होगा?"

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

अनुमान लक्ष्य नहीं हैं

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

वे एक संचार उपकरण हैं

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

मैं "ये होना चाहिए द्वारा पूरा हो जाएगा..." के साथ उत्तर दे रहा हूं, लेकिन बॉब "ये होगा द्वारा पूरा हो जाएगा..." ढूंढ रहा है।

डेविड ब्रायंट कोपलैंड की एक शानदार किताब है, द सीनियर सॉफ्टवेयर इंजीनियर, जो इसके पहले अध्याय में इस बारे में बात करती है:

एक सीनियर सॉफ्टवेयर इंजीनियर पर भरोसा किया जाता है और उनसे सबसे महत्वपूर्ण काम करने और इसे विश्वसनीयता से करने की उम्मीद की जाती है। इसे पूरा करने का तरीका है जो कुछ भी आप करते हैं उस पर परिणामों के वितरण पर ध्यान केंद्रित करना।

इसे ध्यान में रखते हुए, बॉब से उनकी शर्तों पर मिलना सबसे अच्छा है। इसका मतलब है कि:

  • अनुमान 90% आत्मविश्वास पर किए जाने चाहिए, 50% पर नहीं

    बॉब जानना चाहता है कि वह कब उन चीजों की योजना बनाना शुरू कर सकता है जो काम पूरा होने पर निर्भर करती हैं। अगर इसका मतलब है कि अनुमान को पैड करने की आवश्यकता है (शायद ऐसा है), तो ये ठीक है। अगर इसका मतलब है कि आपको एक या दो घंटे में वापस आना है, तो ये भी ठीक है।

  • अनुमान टाइम-टू-शिप पर आधारित होने चाहिए, टाइम-टू-टेस्ट-हैंडऑफ या टाइम-टू-डिप्लॉय-क्यू या किसी और चीज पर नहीं

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

  • सबसे अच्छा अनुमान अक्सर "मैं अभी इसका उत्तर नहीं दे सकता, लेकिन मैं आपको वापस बताऊंगा।" होता है

    90%-आत्मविश्वास टाइम-टू-शिप अनुमान तक पहुंचना बहुत आसान है अगर अनुमान को छोटे भागों में विभाजित किया जाता है, जिनमें से प्रत्येक को समझना आसान होता है। कई किताबें सटीक अनुमान लगाने की रणनीति पर चर्चा करती हैं, लेकिन ये इस पोस्ट के दायरे से बाहर है।

क्या होगा अगर मुझे बताया जाए कि मैं काफी तेजी से नहीं बढ़ रहा हूँ?

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

क्या होगा जब मैं अपने अनुमानों को एक हास्यास्पद राशि से हरा दूं और ऐसा लगे कि मेरे अनुमान अविश्वसनीय रूप से पैडेड हैं?

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

अगर आपने 50% केस को लक्षित किया, तो अप्रत्याशित जटिलताएं पूरे प्रोडक्ट शेड्यूल को ध्वस्त कर सकती हैं। आप ऐसा लगभग आधे समय करेंगे! अगर आप 90% केस को लक्षित करते हैं, तो भले ही चीजें खराब हों, शेड्यूल का बाकी हिस्सा इरादे के अनुसार काम कर सकता है। प्रोडक्ट समय पर शिप होता है, हर कोई खुश होता है, आपको वेतन वृद्धि और पदोन्नति मिलती है और सबसे अच्छा इनाम: आपको और अनुमान लगाने को मिलते हैं!

  1. मैक पर वीडियो प्लेबैक समस्याओं को ठीक करने के लिए चरण-दर-चरण गाइड मैक पर वीडियो प्लेबैक समस्याओं को ठीक करने के लिए चरण-दर-चरण गाइड

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

  1. विंडोज मीडिया क्रिएशन टूल एरर्स को ठीक करें और कार्यक्षमता बहाल करें विंडोज मीडिया क्रिएशन टूल एरर्स को ठीक करें और कार्यक्षमता बहाल करें

    आप विंडोज मीडिया क्रिएशन टूल नामक एक सपोर्टिंग टूल की मदद से अपने विंडोज 10 को बहुत जल्दी इंस्टॉल और अपडेट कर सकते हैं। सिस्टम की एक परफेक्ट क्लीन इंस्टॉलेशन प्राप्त की जा सकती है। इसके अलावा, आप अपने पीसी को अपग्रेड कर सकते हैं या इसके लिए एक यूएसबी फ्लैश ड्राइव बना सकते हैं। हालांकि, कभी-कभी यूजर्

  1. त्वरित समाधान: GIMP पेंटब्रश टूल की समस्याओं को हल करें त्वरित समाधान: GIMP पेंटब्रश टूल की समस्याओं को हल करें

    GIMP एक कंप्यूटर सॉफ्टवेयर है जिसे उपयोगकर्ताओं को ग्राफिक एडिटिंग टूल प्रदान करने के लिए विकसित किया गया है। 1998 में पहली बार लॉन्च किया गया, GIMP को अक्सर फोटोशॉप सॉफ्टवेयर का एक मुफ्त विकल्प माना जाता है। कंप्यूटर एप्लिकेशन उपयोगकर्ताओं को इमेज एडिटिंग, ड्राइंग और अन्य ग्राफिक डिजाइनिंग टूल प्र