सवाल आपको खुद से पूछना चाहिए कि विक्रेता को कैसे पता है कि इस सुविधा के लिए एक्स -डेवलपर के काम के दिन खर्च होंगे । यह देखते हुए कि वर्षों के पेशेवर अनुभव वाले अच्छे प्रोजेक्ट मैनेजर भी अक्सर यह नहीं बता सकते हैं, कि एक विक्रेता से आने वाला ऐसा डेटा बेहद अटकलें लगता है ... सट्टा ।
मेरे अनुभव के अनुसार, सेल्सपर्सन आमतौर पर अनुमान नहीं लगाते हैं, लेकिन प्रबंधन या ग्राहक के लिए कितना अधिक है , इसके बारे में अनुमान लगाता है : यदि प्रबंधन 50 मानव-सप्ताह के काम का भुगतान करने के लिए तैयार है, लेकिन 75 मानव-सप्ताह को पूरी तरह से अस्वीकार कर देगा, आइए बताते हैं उस सुविधा 70 मानव सप्ताह का समय लग जाएगा, जबकि तैयार किया जा रहा है फिर से बातचीत (कुछ है जो एक वास्तविक आकलन के लिए सवाल से बाहर है) 55 मानव सप्ताह के लिए नीचे।
एक तरफ, आपके पास आईटी विशेषज्ञों द्वारा किए गए अनुमान हैं जो कुछ बता रहे हैं:
इस विशिष्ट ऑडिट के अनुसार, हम समान आकार की समान परियोजनाओं की तुलना में एक पुरानी तकनीक का उपयोग करके प्रति दिन $ 8 000 बर्बाद कर रहे हैं जो नई तकनीकों का उपयोग करते हैं। यह भी प्रतीत होता है कि पूरे कोड आधार को स्थानांतरित करने में 50 से 80 मानव-सप्ताह लगेंगे; इस समय के दौरान, कोई नई सुविधाएँ जारी नहीं की जाएंगी। 10% जोखिम यह भी है कि एक विशिष्ट घटक को स्थानांतरित करने के परिणामस्वरूप 20-30 अतिरिक्त मानव-सप्ताह का काम हो सकता है।
दूसरी ओर, आपके पास सेल्समैन द्वारा किए गए अनुमान हैं , उनके उत्तोलन के आधार पर जब वे उस व्यक्ति के साथ बातचीत करते हैं जिसे उन्हें समझाने की आवश्यकता होती है।
यह सब आपकी कंपनी में कितना प्रभावशाली है, इसके बारे में है। संचार यहाँ महत्वपूर्ण है, और यह वह जगह है जहाँ सेल्समैन आमतौर पर आईटी पेशेवरों को जीतते हैं जब यह एक सुविधा के लाभों को प्रबंधन (या एक ग्राहक) को समझाने के लिए आता है।
ध्यान दें कि यदि अतीत में, आपके अनुमान काफी सटीक थे, तो आप प्रतिष्ठा और प्रभाव प्राप्त करते हैं। यदि आपके अनुमान हमेशा गलत थे, तो प्रबंधन शायद आपके प्रस्तावों की अनदेखी करेगा।
अनुमानों के लिए, यहां एक मूल्यवान बनाना बेहद मुश्किल है, क्योंकि इसमें बड़ी संख्या में पैरामीटर को ध्यान में रखा जाता है। दूसरों के बीच में:
क्या आप वास्तव में जानते हैं कि V # 6 की तुलना में C # में आपकी टीम कितनी निपुण है? क्या यह वास्तविक माप पर आधारित है या सिर्फ अनुमान है?
क्या इस टीम ने C # में बड़े प्रोजेक्ट विकसित किए हैं? क्या वे उन उपकरणों को जानते हैं जो उन्हें (आईडीई, डीबगर्स, प्रोफाइलर, आदि) का उपयोग करना चाहिए। क्या आपको अतिरिक्त लाइसेंस की आवश्यकता है (जो, माइक्रोसॉफ्ट की दुनिया में, प्रति मशीन हजारों डॉलर का मतलब है)?
क्या वर्तमान परियोजना पूरी तरह से स्पष्ट है और आप गारंटी दे सकते हैं कि पलायन करते समय कोई आश्चर्य नहीं होगा? क्या सब कुछ , हर सुविधा को फिर से लिखना सरल है , या आश्चर्य होगा?
क्या आपके पास बुनियादी ढांचा है जो C # का समर्थन करता है? निरंतर एकीकरण के बारे में क्या? अपने बिल्ड सर्वर के बारे में क्या? शैली गाइड? स्टेटिक चेकर्स?
उत्पादन में, सर्वर (यदि यह एक वेब ऐप है) या ग्राहक पीसी (यदि यह एक डेस्कटॉप ऐप है) तो .NET फ्रेमवर्क के संस्करण को चलाने में सक्षम हैं जिसका आप उपयोग करने की उम्मीद कर रहे हैं?
लेकिन सबसे महत्वपूर्ण बात यह जानना है कि आप सब कुछ फिर से क्यों लिखना चाहते हैं। वह समस्या क्या है जिसे आप एक पुनर्लेखन के माध्यम से हल करने का प्रयास कर रहे हैं? उत्पादकता का नुकसान? आप इसे कैसे मापेंगे? आप प्रबंधन को उत्पादकता के इस नुकसान को कैसे दिखाते हैं?
एक बार जब आप दिखाते हैं कि आप बर्बाद कर रहे हैं, तो कहें, VB6 के कारण प्रति दिन $ 8 000 (जिसका अर्थ है कि आप C # में माइग्रेट होने के बाद प्रति दिन $ 8 000 बचा लेंगे), आप हर नई सुविधाओं के विकास को रखने के लाभ की व्याख्या कैसे करते हैं और एक पूर्ण पुनर्लेखन पर ध्यान केंद्रित कर रहे हैं? प्रगतिशील पुनर्लेखन की तुलना में क्या लाभ है, जहां आप अपने घटकों को एक-एक करके छोटी-छोटी टुकड़ियों में स्थानांतरित करते हैं, जबकि नई सुविधाओं को शिपिंग करते हैं?