चार प्रकार के पेचीदा कार्य और उनका अनुमान कैसे लगाया जाए

Unsplash पर जरी ह्योटन द्वारा फोटो
सभी खुश परिवार एक जैसे हैं; प्रत्येक दुखी परिवार अपने तरीके से दुखी है।
लियो टॉल्स्टॉय

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

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

पिछले नोट में, हू नीड्स एस्टीमेशन: द स्टोरी ऑफ़ टू बैकपैक्स, हमने इस प्रक्रिया के लिए एक सादृश्य के रूप में एक नॅप्सैक समस्या का उपयोग किया। बस मामले में, यहाँ इसकी परिभाषा विकिपीडिया से है:

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

इस सादृश्य से मेल खाने के लिए हमें क्या करने की आवश्यकता है? हमें अपने सभी कार्यों को लेने की आवश्यकता है और उन्हें उसी पैमाने पर मैप करना है - उनका अनुमान लगाना है।

हम इस तस्वीर में क्या देखते हैं?

तत्व एक जैसे दिखते हैं, इसलिए हम उनकी एक दूसरे से तुलना करने में सक्षम हैं:

  1. मान लेते हैं कि एक चम्मच एक कहानी को ले जाएगा
  2. एक कांटा चम्मच के समान है। एक चाकू को संभवतः उसी प्रयास की आवश्यकता होगी। दो कहानी अंक उन दोनों के लिए सटीक होंगे
  3. एक चाकू, एक कांटा और एक प्लेट ... शायद प्लेट पहले दो से बनाने के लिए कठिन है - चलो इसके लिए पांच डालते हैं

मुझे उम्मीद है कि यह अब तक समझदार लग रहा है क्योंकि मैं ओवरसाइप्लाइज़ कर रहा हूं। वास्तव में, मैपिंग इस चित्र को अधिक पसंद करती है:

तत्व विषम हैं, उनके पास बहुत कम हैं - लेकिन हमें अभी भी उन्हें उसी पैमाने पर रखना होगा।

क्या प्रिय, गोल्फर, ज्योति और उड़न तश्तरी के बीच कोई समानता है? मैं केवल एक ही देख रहा हूँ - वे अनुमान लगाना मुश्किल है ...

… लेकिन हम कोशिश करेंगे

यह एक विशिष्ट परियोजना की तरह दिखता है:

दूसरी श्रेणी का प्रत्येक कार्य अपने तरीके से खतरनाक है, जिससे जेनेरिक एल्गोरिदम के साथ आना मुश्किल है। लेकिन यह बहुत बुरा नहीं है - कम से कम 4 बड़ी श्रेणियां हैं, प्रत्येक की अपनी विशिष्टताएं हैं। मैंने उन सभी का नाम लेने की कोशिश की:

यदि यह अभी तक समझ में नहीं आता है, तो बेहतर होगा कि मैं अपने knapsack सादृश्य पर वापस लौटूं।

उन लोगों के लिए जो याद नहीं करते, या द स्टोरी ऑफ़ टू बैकपैक्स नहीं पढ़ते, चिंता न करें, यह सरल है।
हम एक लड़के के बारे में बात कर रहे थे जो नॉर्विच से लंदन जा रहा है (ट्रेन में ~ 2 घंटे)। उसके पास एक बैकपैक (या एक सूटकेस, या दोनों) है और कई पुनरावृत्तियों में उसकी ज़रूरत की हर चीज़ को स्थानांतरित करने की योजना है।

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

मैं इन सभी प्रकारों से गुजरूंगा, आपको वास्तविक परियोजनाओं से कई उदाहरण दिखाऊंगा, और आपको कुछ सलाह दूंगा जो आपको मुश्किल कार्यों का अनुमान लगाने में मदद करेंगे। पहले एक के साथ शुरू करते हैं!

टेडी बियर: एक बहुआयामी समस्या

जैसा कि मैंने पहले ही उल्लेख किया है, नैकपैक समस्या का मूल संस्करण शायद ही कभी वास्तविक जीवन में मौजूद है क्योंकि इसमें केवल दो विशेषताएं हैं: वजन और मूल्य। दुर्भाग्य से, वहाँ बहुत कुछ कर रहे हैं।

उदाहरण के लिए, यदि आप इस लड़के को लंदन में अपने नए फ्लैट में ले जाना चाहते हैं, तो क्या होगा?

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

टेडी बियर अपील कर रहे हैं:

  1. वे ले जाने के लिए आसान कर रहे हैं
  2. आप पृष्ठभूमि में कुछ कर सकते हैं (उदाहरण के लिए ऑडियोबुक सुनें या फिल्में देखें)
  3. आमतौर पर, यह अनुमान लगाना संभव है कि उन्हें कितना समय लगेगा

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

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

केटलबेल: साइड-इफेक्ट की समस्या

एक और उदाहरण के लिए समय। कल्पना कीजिए कि आपको इस शानदार केटलबेल को अपने साथ ले जाने की ज़रूरत है - क्या यह एक बैग में फिट होगा?

खैर, यह होगा। यह भी कुछ मुक्त स्थान है कि आप शायद उपयोग नहीं होगा छोड़ देंगे। क्यों? क्योंकि यह बहुत भारी है।

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

  1. शायद, आपकी टीम का हर कोई अंदर केटलबेल के साथ बैकपैक नहीं ले सकता। यह अच्छी तरह से प्रशिक्षित लोगों के लिए एक नौकरी है
  2. इसके लिए पूरी एकाग्रता चाहिए। आप केटलबेल नहीं ले जा सकते हैं और एक ही समय में अंतर समीकरणों को हल कर सकते हैं। आपको हमेशा प्रक्रिया पर ध्यान केंद्रित करना चाहिए - कैसे सांस लें, कैसे अपनी पीठ को सीधा रखें। अन्यथा, यह सिर्फ अच्छा काम नहीं कर रहा है
  3. यह आपके समय से पहले और बाद में प्रभावित करता है। पहले - आप तैयारी कर रहे हैं। बाद में - आपकी पीठ दर्द करती है, और आप शारीरिक रूप से कुछ और नहीं कर सकते हैं
  4. आप इसे उस क्षण से फर्श पर फेंकना चाहते हैं जब आपने इसे लिया था। सबसे अधिक संभावना है, आप इसे अपने फ्लैट में प्रवेश करते ही करेंगे, और यह दरवाजे के बगल में लेट जाएगा
  5. वैसे, अनपैकिंग के बारे में: लोगों से अपेक्षा करें कि जब आपको सहायता की आवश्यकता हो तो व्यस्त रहें
वास्तविक जीवन का उदाहरण: किसी एप्लिकेशन के महत्वपूर्ण टुकड़े के लिए प्रदर्शन का अनुकूलन
  1. संदेह होने पर गोल करें। यदि आप 5 और 8 कहानी बिंदुओं के बीच संकोच करते हैं, तो न करें। यह 8 है
  2. यदि गुंजाइश स्पष्ट नहीं है, तो जब आपके पास अधिक डेटा हो, तो मिलने और पुनर्मूल्यांकन करने के लिए सहमत हों
  3. सुनिश्चित करें कि आप पूरी समस्या का आकलन कर रहे हैं और न केवल इसका सबसे चुनौतीपूर्ण हिस्सा है। चुनौती को हल करने के बाद लोग एकाग्रता खो सकते हैं, भले ही उनके पास अभी भी 80% काम हो। हमेशा इस 80% पर खाते
  4. अपने चक्र के सभी चरणों पर पूरा ध्यान दें: कोड समीक्षा, परीक्षण, तैनाती, आपके पास कुछ भी। यदि विकास कठिन था, तो अन्य चरणों के साथ-साथ कठिन होने की अपेक्षा करें
  5. जोड़ी प्रोग्रामिंग केटलबेल्स के साथ बहुत अच्छा काम करती है, लेकिन अनुमान मुश्किल हो जाता है। भले ही उनके 4 हाथ हों, दो प्रोग्रामर दो बार तेजी से कोडिंग नहीं करेंगे।

प्राचीन फूलदान: त्रुटि के लिए कोई मार्जिन के साथ एक समस्या

चलो अगले एक पर चलते हैं। हम सिर्फ एक टेडी बियर और एक केतली ले गए हैं, अब हमें क्या चाहिए? यह नाजुक फूलदान जिसकी कीमत पूरी तरह से इस तार्किक श्रृंखला को पूरा करती है:

इस उदाहरण को पिछले वाले से क्या अलग करता है? खैर, बहुत कुछ:

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

मेरे पास केवल एक सिफारिश है, लेकिन यह स्पष्टीकरण के योग्य है।

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

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

दो लोगों की आवश्यकता है? बहाना है कि वे दोनों छुट्टी पर हैं।

पूरी टीम चाहिए? क्यों आप अनुमान पर अपना समय बर्बाद कर रहे हैं - अभी काम करना शुरू करें!

65 इंच की दीवार पर चढ़कर टीवी: अज्ञात और निर्भरता के साथ एक समस्या

यह पिछले एक के लिए समय है।

आप अपने टीवी पैनल को नए फ्लैट में ले जाना चाहते हैं। यह कितना सख्त हो सकता है?

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

अधिक निर्भरताएं हो सकती हैं, जैसे कि आपके टीवी प्रदाता से संपर्क करना या एक्सटेंशन केबल खरीदना, लेकिन यह पहले से ही जटिल है।

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

आखिरी सा

हम वास्तव में एक-आयामी समस्या के अनुमान को कम करना चाहते हैं, जहां केवल कहानी अंक (या समय) मायने रखता है, लेकिन यह आसान नहीं है।

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

इस बीच, सारांश के रूप में कई अंतिम बिंदु हैं:

  1. बात करें। इन मुश्किल कार्यों को नोटिस करना हमेशा आसान नहीं होता है, सुनिश्चित करें कि आपकी टीम के पास इस पर चर्चा करने के लिए एक मंच है। यदि कार्ला को 8 स्टोरी पॉइंट्स दिए जाते हैं, जब टीम के बाकी सदस्य "3" के लिए वोट करते हैं, तो यह एक अच्छा मौका है कि आप असामान्य तरीके से व्यवहार करें
  2. यदि कुछ भी आपका ध्यान आकर्षित करता है, तो सोचें कि आपको किस प्रकार से निपटना है। एक कार्य विभिन्न श्रेणियों के संकेतों को साझा कर सकता है - 65 इंच की दीवार पर चढ़कर केटलबेल बहुत आम है, लेकिन आप जानते हैं कि इसके साथ क्या करना है
  3. जटिलता को खत्म करने का विरोध। क्या आपको बगफिक्स के लिए एक कार्ड का अनुमान लगाने की आवश्यकता है जिसे आप पुन: पेश नहीं कर सकते हैं? शायद एक समयबद्ध स्पाइक आपको अधिक विवरण दे सकता है?

12 जनवरी, 2020 को मूल रूप से https://evgenii.info पर प्रकाशित।

यह सभी देखें

मैं ग्राफिक डिजाइन आसानी से कैसे सीख सकता हूं? मैं WordPress पर एक पोस्ट में राज्य और शहर मेनू श्रेणी कैसे जोड़ सकता हूं जैसा कि संलग्न छवि में दिखाया गया है? मैंने प्रोग्रामिंग बेसिक्स सीखे हैं। अब मुझे प्रोग्रामिंग में वास्तव में अच्छा कैसे मिला?सात-वर्षीय के लिए कोड सीखने का सबसे अच्छा तरीका क्या है? मैं कहां और कैसे प्रोग्रामिंग शुरू कर सकता हूं? क्या मुझे बहुत देर हो गई है?मैं PHP का उपयोग करके डेटाबेस तालिका कैसे बना सकता हूं? मैंने कोडिंग सीखने का फैसला किया है। मुझे कौन सी भाषा चुननी चाहिए और मैं इसे कैसे सीख सकता हूं?मैं 2019 में सफलतापूर्वक एक वेबसाइट कैसे लॉन्च करूं?