ऑल्ट से कैसे संपर्क करें "" यह सिर्फ एक छोटा अनुप्रयोग होगा? हाँ सही?


11

ठीक है, मैं इसमें कई बार भाग चुका हूं, लेकिन यहां मामला ज्यादा खराब है।

एक ग्राहक का कहना है कि "क्या आप इस छोटे से काम को करने के लिए हमें अपना छोटा मॉड्यूल बना सकते हैं?"
मैं: "ज़रूर कोई बात नहीं"।

तो बजट और बाधाओं आदि के आधार पर, मैं कुछ आर्किटेक्चर को छोड़ देता हूं और सही में गोता लगाता हूं और इसे कोई पसीना नहीं बनाता हूं।

फिर वे दूसरे मॉड्यूल की मांग करते हैं। और दुसरी। और कुछ वृद्धि। और यह सब कुछ धीरे-धीरे आपके दिमाग में होता है, वर्षों से। और इससे पहले कि आप इसे जानते हैं, आपके पास यह राक्षस आवेदन है जो कि बुरी तरह से वास्तुकला है।

जब आपको कुछ छोटा करने के लिए कहा जाता है तो आप क्या करते हैं? आपको नहीं पता कि यह बढ़ता रहेगा या नहीं ... यदि ग्राहक अतिरिक्त की मांग करता रहेगा (और न ही वे)।

आप इस चीज़ को ओवर-आर्किटेक्ट नहीं कर सकते, क्योंकि यह सब के बाद सिर्फ एक छोटा अनुप्रयोग है, और यदि आप कहते हैं कि वे कहीं और जाएंगे (तो मुझे लगता है कि सभी आवाज जानते हैं) "ठीक है बस मामले में, चलो इस चीज़ को शीर्ष के साथ परतों में आर्किटेक्ट करें -ऑन-द-लाइन सुरक्षा और चिंताओं को अलग करना। वास्तव में चलो एक निर्भरता इंजेक्शन उपकरण के साथ चलते हैं जो वास्तव में इस चीज़ को शानदार ब्ला ब्ला ब्ला बना देगा "।

वे कहेंगे "हाँ ठीक है" और किसी और के पास जाओ।

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

यह कैसे संपर्क किया जाना चाहिए?

मुझे लगता है कि प्रश्न वास्तव में नीचे उबलता है "जब आपके पास एक छोटे से आवेदन के प्रतीत होने के अंतिम परिणाम के लिए सभी जानकारी नहीं होती है, तो आप कैसे वास्तुदोष और डिजाइन के निर्णय लेने से बचते हैं (या कम करते हैं) जो कि पूरी तरह से पूरी तरह से होगा बाद में उचित?

जवाबों:


17

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

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

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

सुनिश्चित करें कि वे तीन चीजों को समझते हैं:

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

  2. यह वास्तव में करने जा रहा है कि उन्हें किसी और को पाने के लिए अधिक लागत है। नए व्यक्ति को अपनी आवश्यकताओं और quirks की न्यूनतम समझ के साथ सब कुछ फिर से डिज़ाइन करना होगा, जिसका मतलब है कि अतिरिक्त पुनर्लेखन समय और जोखिम जो वह अच्छा काम नहीं करेगा।

  3. कि आप जल्दी हिरन बनाने की कोशिश नहीं कर रहे हैं। बात यह है कि फिर से डिजाइन की जरूरत है।

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


यह इसके बारे में जाने का एक सही तरीका लगता है।
sevenseacat

1
हाँ यह एक अच्छा तरीका है। क्या आपको लगता है कि बहुत शुरुआत (1 मॉड्यूल) में उन्हें यह बताना फायदेमंद होगा कि यह एक संभावना है ताकि वे जान सकें कि वे इस पहले त्वरित और गंदे मॉड्यूल के साथ क्या कर रहे हैं (और नहीं मिल रहे हैं)?
richard

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

10

बस उसे एक छोटा सा ऐप बनाएं और उसके लिए भुगतान करें।

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

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

प्रत्येक उत्तराधिकारी मॉड्यूल के लिए बस अपने ग्राहक को थोड़ा और बिल दें और कदम से प्रारंभिक परियोजना के कदम को फिर से भरें, लेकिन हमेशा ग्राहक की जरूरतों को पूरा करने के लिए।


एक अच्छा तरीका ... ग्राहक की जरूरत के लिए सिर्फ रिफैक्टरिंग और बिलिंग, लेकिन इसके विकास के लिए एप्लिकेशन को उचित रखने के लिए ... धन्यवाद।
रिचर्ड

1
इस बात से सहमत। इसके अलावा उपयुक्त रीफैक्टरिंग उपकरण सीखें ताकि आप जरूरत पड़ने पर आवेदन को जल्दी से निकाल सकें।

@ Thorbjørn रावन एंडरसन: टूल्स के लिए कोई सुझाव?
richard

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

मुझे लगता है कि आप Resharper के बारे में सोच रहे हैं ... निश्चित रूप से अन्य उपकरण भी हैं। विजुअल स्टूडियो बहुत बेसिका रिफैक्टरिंग टूल्स का भी समर्थन करता है।
रामहाउंड

8

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

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

आदर्श रूप से, आप उन्हें समय / लागतों के कुछ बॉल-पार्क आंकड़े देने में सक्षम होंगे - अन्यथा बातचीत बहुत अकादमिक हो सकती है - लेकिन मैं सराहना करता हूं कि इन नंबरों पर पहुंचने का भी प्रयास हो सकता है। कम से कम, पिछली परियोजनाओं के संदर्भ में चर्चा को तैयार करने से ग्राहक के लिए जीवन आसान हो जाएगा (और ग्राहक के जीवन को आसान बनाना एक उच्च प्राथमिकता होना चाहिए :-))

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


हाँ, मुझे लगता है कि शायद विकल्पों के सामने एक चर्चा या कम से कम दृष्टिकोण (अब जल्दी और गंदे, बाद में फिर से लिखना) फायदेमंद हो सकता है।
richard

1

मैं इनमें से प्रत्येक "पुनरावृत्तियों" को एक अलग परियोजना के रूप में मानूंगा। प्रत्येक छोटे मॉड्यूल या जोड़ के पूरा होने पर आपको इन परियोजनाओं को बंद कर देना चाहिए। फिर जब वे कुछ और चाहते हैं, कागजी कार्रवाई का मसौदा तैयार करें। और जैसे-जैसे समय आगे बढ़ता है, सॉफ़्टवेयर और अधिक महंगा हो जाता है ... जिसका अर्थ है कि आप प्रत्येक छोटी परियोजना के लिए अधिक शुल्क ले रहे हैं।

इसे देखने का एक तरीका है, एक के बजाय ... LONGGGGGG प्रोजेक्ट।


1

आप कैसे वास्तुदोष और डिजाइन के निर्णय लेने से बचते हैं (या शमन करते हैं) इस पर पहले पूरी तरह से बाद में उचित होगा?

आप नहीं कर सकते । प्रोग्रामर मनोविज्ञान नहीं हैं। जब हम सरल चीजों की भविष्यवाणी कर सकते हैं या यूआई सुधार देख सकते हैं, तो हम वास्तव में उस कोड से आगे नहीं बढ़ सकते हैं जो हम नहीं जानते हैं कि ग्राहक बाद में चाहते हैं (क्या आप वहां पागलपन देखते हैं?)।

आपके प्रश्न में उल्लेख किया गया था कि इसमें व्यावसायिक प्रक्रियाएँ थीं लेकिन मुझे यकीन नहीं है कि वे अच्छी प्रक्रियाएँ हैं। यहाँ कुछ संकेत दिए गए हैं:

  • लिखित रूप में और बजट के साथ सभी परिवर्तनों और परिवर्धन की आवश्यकता है ।
    • क्योंकि आपके पास भुगतान करने के लिए बिल हैं
    • लेखन और हस्ताक्षरित हिस्सा सुनिश्चित करें कि यह वास्तव में वे क्या चाहते हैं और 90% तुच्छ चीजों पर वापस कटौती करते हैं जो क्लाइंट परियोजना के दौरान आधे रास्ते पर अपना दिमाग बदलते हैं

आपका अतिवृद्धि उत्पाद

ऐसा हम में से अधिकांश के साथ होता है। खरोंच से पुनर्निर्माण आमतौर पर एक भयानक विचार है, खासकर यह देखते हुए कि यह भविष्य में फिर से किया जाएगा।

इसके बजाय, मैं उन परिवर्तनों के लिए अनुबंध करूँगा जो उपयोगकर्ता ने मांगे थे। प्रत्येक सुविधा के लिए अतिरिक्त समय जोड़ें, सुविधा पर काम करने के लिए मूल समय का उपयोग करें, और अतिरिक्त समय में समग्र वास्तुकला में सुधार करने के लिए, एक समय में एक छोटा सा सुधार। लक्ष्य एक अनुबंध में वास्तुकला को पूरी तरह से "ठीक" करना नहीं है, बल्कि समय के साथ धीरे-धीरे चिप करना है।

धीरे-धीरे पुनरावृत्ति द्वारा कोड पुनरावृत्ति में सुधार, उन हिस्सों पर ध्यान केंद्रित करना जो वास्तव में मायने रखते हैं।

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