कभी-कभी, अनुसंधान और विकास परियोजनाएं होती हैं जहां प्रौद्योगिकी, अवधारणाओं और ग्राहक के बारे में पहले से कुछ भी ज्ञात नहीं है। हालांकि, प्रबंधक को अभी भी समय के अनुमान की आवश्यकता है। उपयोगी अनुमान लगाने के लिए मैं क्या कर सकता हूं?
कभी-कभी, अनुसंधान और विकास परियोजनाएं होती हैं जहां प्रौद्योगिकी, अवधारणाओं और ग्राहक के बारे में पहले से कुछ भी ज्ञात नहीं है। हालांकि, प्रबंधक को अभी भी समय के अनुमान की आवश्यकता है। उपयोगी अनुमान लगाने के लिए मैं क्या कर सकता हूं?
जवाबों:
ईमानदारी से, जैसा कि नासिम निकोलस तालेब ने अपनी पुस्तक द ब्लैक स्वान में लिखा है: 'हम सिर्फ भविष्यवाणी नहीं कर सकते'। मुख्य रूप से अज्ञात-अज्ञात के कारण। यह आमतौर पर इस तथ्य को संप्रेषित करने के लिए सबसे अच्छा है, यह तथ्य कि आप अनुमान लगाने के बजाय भविष्यवाणी नहीं कर सकते।
जैसा कि तालेब लिखते हैं: मोटे तौर पर सही होने से बेहतर है, ठीक गलत से। इसलिए इस तथ्य से अवगत होना सुनिश्चित करें कि आपके पास कठिन समय का आकलन है, और एक तर्क के रूप में 'नई तकनीक में सीखने की अवस्था' जैसी चीजों का उपयोग करें। इसका मतलब है कि आपके अनुमान की सीमा बड़ी होगी: 'यह परियोजना 100k और 500k के बीच लागत को पार करेगी।'
इस तरह की बात कहकर, आपको किसी चीज का अनुमान लगाने के लिए कहने से पता चलता है कि चीजें इतनी सरल नहीं हैं।
आपको जो सबसे पहली चीज़ चाहिए वो है स्कोप का कुछ अंदाज़ा। अधिक ठोस बेहतर, लेकिन प्रारंभिक अनुमान लगाने के लिए किसी भी प्रकार की आवश्यकताओं का उपयोग किया जा सकता है। ग्राहकों की आवश्यकताओं, दृष्टि और दायरे, और अवधारणा दस्तावेजों का उपयोग जल्दी किया जा सकता है। जैसे-जैसे आवश्यकताएं और ऑपरेटिंग वातावरण अधिक स्पष्ट होने लगेगा, तब अनुमानों में सुधार होगा। क्लाइंट की अधिक समझ (विशेष रूप से क्लाइंट और विकासशील संगठन के बीच का अंतर), कार्य करने वाली टीम, उपयोग की जाने वाली प्रौद्योगिकियाँ, सिस्टम आर्किटेक्चर और एक विस्तृत डिज़ाइन सभी एक अधिक सटीक अनुमान में योगदान करेंगे। यह शंकु की अनिश्चितता में दिखाई देता है।
यदि आप एक पैरामीट्रिक मॉडलिंग टूल का उपयोग कर रहे हैं, जैसे SLIM या COCOMO (केवल इंटरमीडिएट या एडवांस्ड, जैसा कि बेसिक लागत ड्राइवरों के लिए नहीं है), तो प्रौद्योगिकी की अपरिचय के लिए समायोजन कारक होना चाहिए। एक उदाहरण के रूप में, COCOMO में बड़ी संख्या में लागत ड्राइवर हैं , जिनमें कुछ ऐसे भी हैं जो विशेष रूप से लक्ष्य प्लेटफॉर्म के साथ-साथ भाषा और उपकरणों के साथ परिचित हैं, जो सिस्टम को विकसित करने के लिए उपयोग किए जा रहे हैं। एसएलआईएम विकास टीम के समग्र अनुभव के लिए भी जिम्मेदार है, जिसमें उपयोग किए जा रहे उपकरणों और प्रौद्योगिकियों के विचार शामिल होने चाहिए।
इस तकनीक के साथ, मॉडलिंग टूल के आउटपुट को आम तौर पर मान्य किया जाता है क्योंकि उन्हें कई संगठनों में कई वर्षों में पिछले सॉफ्टवेयर प्रोजेक्ट का अनुमान लगाने के लिए सफलतापूर्वक उपयोग किया गया है। हालांकि, आउटपुट केवल टूल के इनपुट के रूप में अच्छा है।
यदि आप अनुमान के लिए पैरामीट्रिक मॉडल का उपयोग नहीं कर रहे हैं, तो आपको अपने अनुमानों का निर्माण करते समय बस इन कारकों पर विचार करना होगा। यह एक निर्णय कॉल के रूप में अधिक हो जाता है, लेकिन आप प्रलेखन जैसे गतिविधियों पर विचार कर सकते हैं, नए विकास वातावरण की स्थापना कर सकते हैं, और लक्ष्य मंच पर या लक्ष्य भाषाओं के साथ नमूना अनुप्रयोगों को विकसित कर सकते हैं।
इन उदाहरणों में, आपको कार्य द्वारा अपने अनुमानों को तोड़ना होगा और इसे वापस करने के लिए अपने पेशेवर निर्णय का उपयोग करने में सक्षम होना चाहिए। उम्मीद है, आपके पास अपने अनुमानों को आधार बनाने के लिए ऐतिहासिक आंकड़े और अन्य ठोस सबूत होंगे। अन्यथा, यह एक कठिन लड़ाई है।
विकास समय से प्रमुख प्रशिक्षण और अनुसंधान समय को अलग करें। खुश अंत है कि कई उप परियोजनाओं में परियोजना को तोड़ो। सुनिश्चित करें कि आप प्रशिक्षण के बाद अवधारणा का प्रमाण बनाएं।
यदि आप प्रौद्योगिकी के लिए नए हैं, तो आप वास्तविक विकास के समय के करीब कभी नहीं पहुंचेंगे। इसे परियोजना की शुरुआत में जोखिम के रूप में उठाएं और अपने अनुमान में उदार रहें। यह उन मुख्य तकनीकों पर लागू होता है जिनसे आप और आपकी टीम परिचित नहीं है।
निर्भर करता है, मैंने ज्यादातर समय एफपीए ( फंक्शन प्वाइंट एनालिसिस ) का इस्तेमाल किया , लेकिन हम इस "एंटरप्रीज़ी वेब डेवलपमेंट" में थे, मेरा मतलब है, आप जानते हैं, फोर्ब्स 500 वेब कंपनियां हैं।
वहां कार्य को हमेशा दो भागों में विभाजित किया जा सकता है: एक, जो कि एफपीए को अच्छी तरह से फिट बैठता है: आपके पास इनपुट इंटरफेस, आउटपुट इंटरफेस, आंतरिक तार्किक फाइलें (उर्फ डेटाबेस टेबल / निर्यात किए जाने वाले प्रकार) हैं, और आपके पास ये जटिल, अज्ञात सिस्टम हैं। ।
आसान संस्करण में, जटिल कार्य एक घटक है जो पहले से ही लिखा गया है, यह इसके साथ इंटरफेस करने के लिए बस कठिन और अज्ञात है।
हार्ड संस्करण है जब इसे लिखने की आवश्यकता होती है, तो पायलट-आधारित अनुमान, COCOMO, जो भी हो।
दो बातें, हालांकि, महत्व की:
आपके संगठन के लिए हर तरह की आकलन प्रणाली का अंशांकन समय होना चाहिए। आप कभी भी अकेले विकसित नहीं होते हैं, कम से कम आपके कोड के लिए एक ग्राहक इंतजार कर रहा है (या आप इस बारे में बहुत हताश नहीं होंगे, अपने खुद के लिए कोड लिखना)। सवाल यह नहीं है कि "यह कितनी तेजी से विकसित किया जा सकता है?", लेकिन "यह कितनी तेजी से आप सभी के साथ विकसित किया जा सकता है?"
एक बार मेरे पास एक मैनेजर था जिसने उस ब्लैक स्वान उपन्यास को पढ़ा और उसके बारे में उन्मत्त था। वह हमें बता रहा था कि यह अनुमान लगाना असंभव है, और मैं अपने सामान्य सटीक -10% अनुमानों पर लगातार काम कर रहा था ...
मैं ऐसी परियोजनाओं को फिट करता हूं जो उस विवरण को कुछ नियमित रूप से फिट करती हैं और मैंने अभी तक इसका पता नहीं लगाया है! शुक्र है कि जहां मैं काम करता हूं, मुझे वह करने के लिए अक्षांश दिया जाता है जो मुझे करने की आवश्यकता है और व्यर्थ समय सीमाएं नहीं हैं। परियोजनाएं हमेशा सफल नहीं होती हैं और यह सिर्फ इतने सारे अज्ञात लोगों के साथ काम करने का एक हिस्सा है। कंपनी हालांकि हर बार ज्ञान हासिल करती है।
क्षमा करें जो बिल्कुल भी मदद नहीं करता है।
परिचित तकनीक का उपयोग करके एक समान परियोजना करने में कितना समय लगेगा, इसका अनुमान लगाएं। 4. से गुणा करें। कुछ सीखने का समय जोड़ें।
यदि अनुमान बहुत छोटा है, तो आप अनुभवहीन और अभिमानी दिखेंगे। यदि अनुमान बहुत बड़ा है तो आप अज्ञानी और अक्षम दिखेंगे। सोच के चुनें।