क्या मुझे समाधान चुनने में निकास लागत को शामिल करना चाहिए


10

मैं वर्तमान में दो व्यवहार्य सॉफ़्टवेयर डिज़ाइन / समाधानों के बीच चयन कर रहा हूं। समाधान 1 को लागू करना आसान है, लेकिन कुछ डेटा को एक मालिकाना प्रारूप में बंद कर देगा, और बाद में बदलना मुश्किल होगा। समाधान 2 को लागू करना कठिन है, लेकिन बाद में बदलने में बहुत आसान होगा।

क्या मुझे इस पर YAGNI जाना चाहिए या क्या मुझे निर्णय लेने में निकास लागत को शामिल करना चाहिए? या अलग से पूछा गया कि क्या TCO का निकास लागत हिस्सा है?

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

PS क्या निकास लागत सही शब्द है?


क्या आप जोड़ सकते हैं कि आपको क्यों लगता है कि पहला समाधान डेटा को लॉक कर देगा और बाद में बदलना मुश्किल होगा?
जाप

संक्षेप में, सभी प्रारूप मालिकाना नहीं हैं, यहां तक ​​कि जो 'मानक' या 'खुले' माने जाते हैं? याग्नी शायद लागू होता है अगर 'मालिकाना' प्रारूप लागू करने के लिए आसान है, उपयोग करने के लिए सीधे-आगे, और / या विनिमय के लिए डिफैक्टो प्रारूप।
जस्टिन १

बारीकियों में जाने के बिना; एक दस्तावेज़ प्रबंधन प्रणाली (समाधान 1) में एक एक्सेल शीट (ग्राहक द्वारा डिज़ाइन की गई) रखने के बारे में सोचें, बनाम उपयुक्त तालिकाओं और जीयूआई बनाने और मांग (समाधान 2) पर एक्सेल शीट बनाने के लिए। सिवाय इसके कि यह एक्सेल नहीं है।
डीवीडीवेल

हालांकि यह शायद परियोजना प्रायोजक की पसंद और निर्णय पेश करने में चिंता के इस पहलू को ध्यान में नहीं रखता है।
१२:२२ बजे जस्टिन

@JustinC अच्छी तरह से अंततः हम यहाँ नकदी के बारे में बात कर रहे हैं। क्या लंबे समय में 'मालिकाना' प्रारूप का उपयोग करना सस्ता है या नहीं? यही कारण है कि मुझे लगता है कि परियोजना प्रायोजक के लिए सबसे महत्वपूर्ण है
डीवीडी

जवाबों:


4

बाहर निकलने की लागत TCO का हिस्सा है ( टी कुल के लिए खड़ा है ), लेकिन जब तक आप एक प्राथमिकताओं को नहीं जानते कि सिस्टम कितने समय तक चलने वाला है , तब तक नाखून काटना मुश्किल है । दूसरे शब्दों में, यदि आप जानते हैं कि प्रणाली का उपयोग ठीक एक वर्ष के लिए किया जाएगा और इसे अब से एक वर्ष बाद इसे एक महीने के लिए 52,000 डॉलर खर्च करना होगा, तो आप इसे कवर करने के लिए परिचालन बजट में प्रति सप्ताह $ 1,000 जोड़ने के लिए बहुत आश्वस्त हो सकते हैं।

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

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

(और अब, इस उत्तर को लिखने के बाद, मुझे इस विषय के रूप में बंद करने के लिए मतदान करना है।)


इस समाधान के TCO का हिस्सा होने की निकास लागत का विकल्प यह होगा कि यह अगले समाधान के TCO का हिस्सा होगा। अब मुझे पता है कि यह अजीब लगता है अगर मैं इसे ठीक वैसे ही कहता हूं, लेकिन मेरे अनुभव में किसी सिस्टम को डिकम्फोर्मा करने की लागत को अगले सिस्टम के प्रोजेक्ट प्लान / बजट का हिस्सा बनाया जाता है, न कि मौजूदा सिस्टम के लिए प्रोजेक्ट प्लान / बजट। क्या इसका कोई मतलब है?
डीवीडीवॉल

1
मेरे लिए समझ में आता है, और यह बहुत निष्कर्ष है कि मैं आया था। आप वास्तव में एक वास्तविक कुल के साथ नहीं आ सकते हैं जब तक कि पूरी चीज खत्म न हो जाए और साथ न हो।
ब्लरफ्लू

मैं 'बाहर निकलने की लागत' का सही अनुमान लगाने की कठिनाइयों के बारे में सहमत हूं, मुझे लगता है कि आज के पैसे में भी एक को प्रदान करने में मूल्य है। तुलना करें "यह मुश्किल और समय लेने वाला होगा" और "यह संभवतया $ 25000 और $ 50000 के बीच की लागत होगी यदि कल किया गया"।
विन्गंड्रोइड

@ ब्लरफ्ल, क्या इस सवाल को ऑफ-टॉपिक बनाता है?
नेणतापिर

1
@neontapir: प्रश्न का मांस वास्तव में परियोजना प्रबंधन के बारे में है; तथ्य यह है कि यह एक कार्यक्रम के बारे में है यह वास्तव में प्रोग्रामिंग के बारे में नहीं बनाता है। यही बात टेलीफोन स्विच या पिज्जा ओवन में आसानी से लागू हो सकती है।
ब्लरफ्लू

2

YAGNI अपनी जगह एक महान नियम है, लेकिन मुझे यकीन नहीं है कि इसे इस मामले में लागू होना चाहिए। आप यहां भविष्य की लागतों का अनुमान लगा रहे हैं, एक ऐसी गतिविधि जो भविष्य की आवश्यकताओं के बदलावों के बारे में विचार करना चाहिए । यदि आप कार्यान्वयन लिख रहे थे तो यह एक अलग कहानी होगी!

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

जब आप अपना लागत अनुमान प्रस्तुत / कर रहे हों, तब विचार करने के लिए कुछ और बारीक पहलू हो सकते हैं:

  • कितनी संभावना है कि यह डेटा भविष्य में किसी अन्य सिस्टम पर माइग्रेट हो जाएगा?
  • क्या यह संभव है कि समाधान विक्रेता अपने स्वयं के डेटा प्रारूप को बदल देगा ताकि भविष्य में डेटा को स्थानांतरित करना आसान / कठिन हो जाए? यदि हां, तो क्या यह आपके समाधान को प्रभावित करेगा?
  • यहां तक ​​कि अगर आप बाद में डेटा को बदलना नहीं चाहते हैं , तो क्या एक मौका है कि आप इसे अलग तरीके से पेश / एक्सेस कर सकते हैं? मेरा अनुभव है कि यह काफी सामान्य है!

1

एक्सेल फाइल स्थिति के बारे में आपकी टिप्पणी से कार्य करना, मैं इसे इस प्रकार देखता हूं:

  • वर्तमान प्रारूप नहीं बदल रहा है (समाधान 1)
  • अब प्रारूप को पार्स कर रहा है, और इसे एक अलग प्रारूप में संग्रहीत कर रहा है (संभवतः / उम्मीद से अधिक उपयुक्त / भविष्य के लिए तैयार) (समाधान 1 + पार्सिंग चरण, उर्फ ​​समाधान 2)

मेरा मानना ​​है कि YAGNI उस पार्सिंग कदम पर लागू होता है; सुनिश्चित करें कि आप वर्तमान संरचना के बारे में ज्ञान रखते हैं, लेकिन अभी तक पार्सिंग लागू नहीं करते हैं।

इसके अतिरिक्त, पार्स की गई डेटा संरचना उतनी लचीली नहीं हो सकती है जितना आप सोचते हैं; आवश्यकताएं विभिन्न सूचनाओं / फाइलों को संग्रहीत करने की दिशा में जा सकती हैं, जिसका मतलब है कि आपको अपनी तालिकाओं को अपडेट / विस्तारित करना होगा।


स्पष्ट होने के लिए, वर्तमान में कोई समाधान नहीं है (समाधान 0 यदि आप करेंगे)। वे वर्तमान में सभी जानकारी कागज की फाइलों में रखते हैं। अगर मैं पहले से ही दस्तावेज़ प्रबंधन प्रणाली में "एक्सेल" फ़ाइल का उपयोग करता हूं, तो मैं इस जवाब से पूरी तरह सहमत हूं, लेकिन यहां अभी भी एक विकल्प है।
dvdvorle

या क्या आपको लगता है कि यह प्रासंगिक नहीं है क्योंकि समाधान 1 का कार्यान्वयन सस्ता है?
डीवीडीवर्ट

मेरा कहना है कि मेरा मानना ​​है कि यदि समाधान 2 को समाधान 1 का संवर्द्धन माना जा सकता है, लेकिन यह वृद्धि अभी कड़ाई से आवश्यक नहीं है, तो YAGNI लागू होता है।
जाप

मुझे पता है तुम्हारा क्या मतलब है। यह सोचने वाली बात है। हालांकि मुझे लगता है कि अब ग्राहक के पास जाने का समय है, देखें कि वह इसके बारे में क्या सोचता है कि यह एक वृद्धि और क्या है।
डीवीडीवॉल

0

यदि आप 95% सुनिश्चित नहीं हैं कि यह भविष्य में बदल जाएगा - समाधान 1 - YAGNI =)

निश्चित रूप से यह आपके ग्राहकों पर निर्भर करता है, और आपके अनुभव पर इस ग्राहक के लिए कुछ प्रोग्रामिंग करता है।


2
तो आप कह रहे हैं कि समाधान को बदलने के लिए 5% संभावना से संबंधित कोई भी लागत अप्रासंगिक है?
dvdvorle

मेरा मतलब है कि यह कुछ प्रकार की भावना है ... आप खुद जानते हैं कि "YAGNI" का क्या अर्थ है - बाकी सभी महसूस कर रहे हैं =)
मिक्रोडेल

0

मेरे अनुभव में, प्रबलित पहिये आपके विचार से सुदृढ़ होने में अधिक समय लेते हैं, और बाहरी पहिये आसानी से बदल जाते हैं। जब आप अपना निर्णय लेते हैं तो दोनों प्रकार के पहिए एक बार खरीदे जाने से भी बदतर दिखने लगते हैं।

यदि आप वास्तव में सोचते हैं कि # 1 को लागू करना आसान है, और यह सवाल कर रहे हैं कि # 2 को कितना समय लगेगा, तो मैं प्रश्न को सुनूंगा। # 1 को अब लागू करें, और बड़े डिज़ाइन के बारे में सोचें जैसे आप जाते हैं। यदि आप बाद में इसे फिर से बनाना चाहते हैं तो यह आपकी मदद करेगा।

इसके विपरीत यदि # 1 अब उतना आसान नहीं लगता जितना आपने सोचा था कि # 2 पर कूदें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.