अनुमान किसी कार्य को पूरा करने, सुविधा विकसित करने या पूरे प्रोजेक्ट को वितरित करने के लिए आवश्यक प्रयास का मात्रात्मक मूल्यांकन है। मोबाइल डेवलपमेंट में, अनुमानों का उपयोग स्प्रिंट योजना, लागत निर्धारण और क्लाइंट अपेक्षाओं के प्रबंधन के लिए किया जाता है। Project Management Institute, 2024 के अनुसार, प्रोजेक्ट के शुरुआती चरणों में अनुमान त्रुटि 100% तक पहुँच सकती है, जो अनुमान को डेवलपमेंट की सबसे कठिन विधाओं में से एक बनाता है।
मुख्य बातें
अनुमान (अंग्रेज़ी estimate से — मूल्यांकन) किसी कार्य को पूरा करने के लिए आवश्यक समय या प्रयास की मात्रा का पूर्वानुमान है। मोबाइल डेवलपमेंट में, अनुमानों को घंटों, दिनों, स्टोरी पॉइंट्स या मौद्रिक शब्दों में व्यक्त किया जा सकता है। अनुमान का उद्देश्य सटीक भविष्यवाणी नहीं, बल्कि निर्णय लेने के लिए अनिश्चितता को कम करना है।
अनुमान त्रुटि की गुंजाइश वाला पूर्वानुमान है। प्रतिबद्धता एक निश्चित तिथि तक कार्य पूरा करने का वादा है। अंतर महत्वपूर्ण है: अनुमान कहता है «शायद 5 दिन», प्रतिबद्धता कहती है «हम इसे 5 दिनों में करेंगे»। प्रबंधक अक्सर इन अवधारणाओं को भ्रमित करते हैं, अनुमान को त्रुटि की कोई गुंजाइश न रखने वाली समय सीमा में बदल देते हैं।
अनुमान प्रक्रिया इसके परिणाम से कम महत्वपूर्ण नहीं है। जब टीम किसी कार्य के अनुमान पर चर्चा करती है, तो छिपी हुई आवश्यकताएँ, निर्भरताएँ और जोखिम सामने आते हैं। भले ही अंतिम संख्या गलत हो, चर्चा सभी प्रतिभागियों को कार्य की समझ देती है। इसलिए सामूहिक अनुमान विधियाँ (Planning Poker) व्यक्तिगत विधियों की तुलना में अधिक प्रभावी हैं।
कई अनुमान विधियाँ मौजूद हैं, प्रत्येक प्रोजेक्ट के विभिन्न चरणों और विवरण स्तरों के लिए उपयुक्त है। विधि का चुनाव उपलब्ध डेटा और आवश्यक सटीकता पर निर्भर करता है।
| विधि | प्रकार | सटीकता | कब उपयोग करें |
|---|---|---|---|
| Planning Poker | विशेषज्ञ, सामूहिक | उच्च (स्प्रिंट में) | स्प्रिंट कार्य अनुमान |
| T-Shirt sizing | विशेषज्ञ, त्वरित | मध्यम | प्रारंभिक एपिक अनुमान |
| समरूप अनुमान | इतिहास-आधारित | मध्यम | समान पिछले कार्य |
| तीन-बिंदु (PERT) | संभाव्यतावादी | औसत से ऊपर | उच्च अनिश्चितता वाले कार्य |
| पैरामीट्रिक | सूत्र-आधारित | डेटा पर निर्भर | दोहराए जाने वाले मापनीय कार्य |
Planning Poker Agile में सबसे लोकप्रिय अनुमान विधि है। प्रत्येक डेवलपर को फिबोनाची संख्याओं (1, 2, 3, 5, 8, 13, 21) वाले कार्ड का एक डेक मिलता है। कार्य पर चर्चा करने के बाद, सभी एक साथ अपना कार्ड दिखाते हैं। यदि अनुमान अलग-अलग होते हैं, तो न्यूनतम और अधिकतम अनुमान वाले डेवलपर अपने तर्क समझाते हैं, फिर पुनर्मतदान होता है। यह विधि अधिकार पूर्वाग्रह को समाप्त करती है और अधिक सटीक अनुमान देती है।
T-Shirt sizing टी-शर्ट के आकार (XS, S, M, L, XL, XXL) द्वारा मोटा अनुमान है। इस विधि का उपयोग बड़े कार्यों (एपिक) के त्वरित अनुमान के लिए शुरुआती चरणों में किया जाता है जब विवरण अज्ञात होते हैं। बाद में, ऐसे प्रत्येक कार्य को विघटित किया जाता है और Planning Poker में अनुमान लगाया जाता है। T-Shirt sizing प्रति कार्य 5-10 मिनट लेता है, लेकिन केवल परिमाण का क्रम देता है।
PERT तीन अनुमानों का उपयोग करता है: आशावादी (O), निराशावादी (P), और सबसे संभावित (M)। अंतिम अनुमान सूत्र (O + 4M + P) / 6 द्वारा गणना किया जाता है। यह विधि अनिश्चितता को ध्यान में रखती है और एकल अनुमान की तुलना में अधिक यथार्थवादी परिणाम देती है। PERT विशेष रूप से उच्च जोखिम या नई तकनीकों वाले कार्यों के लिए उपयोगी है।
अनुमान सटीकता प्रोजेक्ट के चरण और ज्ञात जानकारी की मात्रा पर निर्भर करती है। जितनी जल्दी अनुमान लगाया जाता है, त्रुटि की गुंजाइश उतनी ही अधिक होती है — यह सामान्य है और इसे योजना में शामिल किया जाना चाहिए।
अनिश्चितता का शंकु (Cone of Uncertainty) एक मॉडल है जो बताता है कि प्रोजेक्ट की प्रगति के साथ अनुमान त्रुटि कैसे कम होती है। अवधारणा चरण में, त्रुटि की गुंजाइश 400% है (कार्य में 1 से 4 महीने लग सकते हैं)। स्प्रिंट चरण तक, यह 20% (1-1.2 महीने) होती है। इस मॉडल को समझने से शुरुआती चरणों में सटीक अनुमानों की माँग न करने में मदद मिलती है।
सापेक्ष अनुमान (स्टोरी पॉइंट्स में) निरपेक्ष अनुमान (घंटों में) से अधिक सटीक है क्योंकि लोग समय का अनुमान लगाने की तुलना में कार्यों की तुलना करने में बेहतर होते हैं। «यह कार्य उससे दोगुना जटिल है» «यह कार्य 8 घंटे लेगा» की तुलना में अधिक विश्वसनीय निर्णय है। सापेक्ष अनुमान किसी विशिष्ट डेवलपर पर निर्भर नहीं करते और निष्पादक बदलने पर सटीकता बनाए रखते हैं।
अनुमान सटीकता को व्यवस्थित दृष्टिकोण, सामूहिक चर्चा और पिछली गलतियों के विश्लेषण के माध्यम से सुधारा जा सकता है। कई सिद्ध अभ्यास हैं।
2 दिनों से अधिक अनुमानित कोई भी कार्य उप-कार्यों में विघटित किया जाना चाहिए। सिद्धांत: यदि किसी कार्य को 50% से अधिक सटीकता से अनुमानित नहीं किया जा सकता, तो वह बहुत बड़ा है। इसे चरणों में विभाजित करें, जिनमें से प्रत्येक समझने योग्य और अनुमान योग्य हो। विघटन के बाद, कुल अनुमान अक्सर प्रारंभिक अनुमान से 1.5-2 गुना बड़ा होता है।
अनुमान इतिहास बनाए रखें और वास्तविक प्रयास से तुलना करें। उदाहरण: «3 स्टोरी पॉइंट्स पर अनुमानित कार्य औसतन 4 दिन लगते हैं, 2 नहीं»। पूर्वानुमान के लिए टीम velocity का उपयोग करें: यदि टीम प्रति स्प्रिंट 20 स्टोरी पॉइंट्स पूरी करती है, तो 30 की योजना न बनाएँ। पिछले अनुमान सटीकता का विश्लेषण अनुमान कौशल के लिए सबसे अच्छा प्रशिक्षण है।
लंगर एक मनोवैज्ञानिक प्रभाव है जहाँ पहला व्यक्त अनुमान सभी प्रतिभागियों को प्रभावित करता है। Planning Poker में लंगर से बचने के लिए, सभी बारी-बारी से नहीं बल्कि एक साथ अपने कार्ड दिखाते हैं। अंशांकन अनुमानों की वास्तविकताओं से नियमित तुलना है: 10-20 स्प्रिंट के बाद, टीम प्रतिक्रिया के माध्यम से अधिक सटीक अनुमान लगाना सीखती है।
प्रत्येक कार्य में छिपे जोखिम होते हैं: डेवलपर की बीमारी, API समस्याएँ, आवश्यकताओं में बदलाव। अपने अनुमान में जोखिम-समायोजित कारक जोड़ें: उच्च जोखिम वाले कार्यों के लिए 1.5-2 का गुणक, कम जोखिम वाले के लिए 1.1-1.2। क्लाइंट को पारदर्शी रूप से दिखाएँ कि किन जोखिमों को ध्यान में रखा गया है और वे समयसीमा को कैसे प्रभावित करते हैं।
अनुमान संबंधी गलतियाँ अधिकांश टीमों में दोहराई जाती हैं, चाहे उनकी परिपक्वता कुछ भी हो। इन गलतियों को जानना उन्हें सुधारने का पहला कदम है।
सबसे आम गलती सबसे अच्छे परिदृश्य के अनुसार अनुमान लगाना है: «अगर सब कुछ पूरी तरह से हुआ, तो हम इसे 3 दिनों में करेंगे»। वास्तव में, कुछ भी पूरी तरह से नहीं होता: बग, आवश्यकताओं पर प्रश्न, आश्रित कार्य। समाधान: आशावादी के बजाय सबसे संभावित परिदृश्य के अनुसार अनुमान लगाएँ। परिवर्तनशीलता को ध्यान में रखने के लिए PERT का उपयोग करें।
जब प्रबंधक कहता है «हमें शुक्रवार तक चाहिए», डेवलपर अवचेतन रूप से अनुमान को उस समय सीमा के अनुसार समायोजित करता है। दबाव में अनुमान हमेशा कम आंका जाता है और समय सीमा से चूक जाता है। समाधान: अनुमान समय सीमा से पहले आना चाहिए, न कि इसके विपरीत। पहले टीम अनुमान लगाती है, फिर पक्ष समयसीमा पर सहमत होते हैं।
कार्य जटिलता (कितना सोचना है) और समय (कितना करना है) अलग-अलग मीट्रिक्स हैं। एक कार्य सरल लेकिन समय लेने वाला हो सकता है (10 स्क्रीन बनाना) या जटिल लेकिन त्वरित (लीगसी कोड में बग ढूँढना)। स्टोरी पॉइंट्स आमतौर पर जटिलता का अनुमान लगाते हैं, जबकि समय टीम velocity से प्राप्त होता है।
एक डेवलपर एक ही कार्य पर लगातार 8 घंटे काम नहीं करता: मीटिंग, कोड समीक्षा, सहकर्मियों की मदद और प्रशासनिक कार्य काम के समय का 30-50% उपभोग करते हैं। संदर्भ स्विचिंग को अनुमान में ध्यान में रखा जाना चाहिए: वास्तव में, एक डेवलपर प्रतिदिन 3-4 घंटे कोड लिखता है।
अक्सर पूछे जाने वाले प्रश्न
डेवलपमेंट उच्च अनिश्चितता वाली एक रचनात्मक प्रक्रिया है। निर्माण या विनिर्माण के विपरीत, जहाँ हर कदम ज्ञात है, आईटी में प्रत्येक कार्य अद्वितीय है। अज्ञात अज्ञात (unknown unknowns) गलती का मुख्य कारण है। अनुभवी टीम भी 30-50% अनुमानों में गलती करती है। यह सामान्य है और इसे योजना में ध्यान में रखा जाना चाहिए।
स्टोरी पॉइंट्स स्प्रिंट योजना के लिए बेहतर हैं क्योंकि वे सापेक्ष हैं और निष्पादक पर निर्भर नहीं करते। घंटे अनुबंधों और बाहरी रिपोर्टिंग के लिए आवश्यक हैं लेकिन कम सटीक हैं। इष्टतम संयोजन: कार्यों का अनुमान स्टोरी पॉइंट्स में लगाया जाता है, और समयसीमा टीम velocity के माध्यम से कैलेंडर दिनों में परिवर्तित की जाती है।
अज्ञात तकनीकों वाले कार्यों के लिए, पहले स्पाइक (समय-बद्ध अनुसंधान) का उपयोग करें। अनुसंधान के बाद, टीम जटिलता को समझती है और यथार्थवादी अनुमान दे सकती है। सामान्य अनुमान पर 2-3 का गुणक लागू करें और अप्रत्याशित कठिनाइयों के लिए 50% बफर जोड़ें।
विघटन दिखाएँ — कार्य को व्यक्तिगत अनुमानों के साथ उप-कार्यों में विभाजित करें। समझाएँ कि समय किससे बना है: डेवलपमेंट, परीक्षण, कोड समीक्षा, दस्तावेज़ीकरण। विकल्प प्रदान करें: दायरा कम करें, कार्यक्षमता सरल करें, या चरणों में विभाजित करें। आवश्यकताओं को बदले बिना कभी भी अनुमान कम न करें।
पुनर्मूल्यांकन तब आवश्यक है जब कार्य के बारे में नई जानकारी सामने आती है: अतिरिक्त आवश्यकताएँ खोजी जाती हैं, तकनीकी सीमाएँ मिलती हैं, या प्राथमिकताएँ बदलती हैं। स्प्रिंट के भीतर, कार्यों का पुनर्मूल्यांकन नहीं किया जाता — ध्यान पूरा करने पर है। स्प्रिंट के बीच, grooming के दौरान बैकलॉग का पुनर्मूल्यांकन किया जाता है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें