Tracer Bullets का उपयोग करने के लिए कुछ अच्छे मानदंड क्या हैं?


9

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

वे केवल एक उदाहरण देते हैं कि उन्होंने अतीत में इसका उपयोग कहां किया था। जिस तरह से स्थिति की पहचान की गई थी वह ट्रेसर बुलेट के लिए एक अच्छा उम्मीदवार था

कई अज्ञात, और कई अलग-अलग वातावरण थे, और कोई भी निश्चित नहीं था कि जीयूआई को कैसे व्यवहार करना चाहिए।

इस तरह का लगता है कि जिस तरह से बड़ी संख्या में परियोजनाएं शुरू होती हैं, खासकर जब आप हेज फंड (उदाहरण के रूप में) के लिए व्यावसायिक ऐप की एक विशिष्ट लाइन पर गैर-तकनीकी लोगों के साथ काम कर रहे होते हैं।

मैंने इसका इस्तेमाल किया क्योंकि यह केवल सही लगा, वास्तव में यह जानने के बिना कि इसे क्या कहा गया था या इसे मुझे समझाया गया था। मुझे पता था कि अगर मैंने हर किसी को एक कमरे में लाने की कोशिश की और उन्हें सब कुछ (या कम से कम कुछ चीजें) सामने लाने के लिए कहा, तो यह पूरी तरह से आपदा होगी, लेकिन फिर से यह एक तरह की चीज है ...

क्या यह मॉडल जाने का रास्ता हो सकता है, इसके लिए क्या कोई और ठोस मापदंड तय कर सकता है?


जवाबों:


5

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

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


1
मैं दूसरे पैराग्राफ से सहमत नहीं हूँ। मेरे विचार में, Tracer Bullets विकास आपको एक आर्किटेक्चर बनाने में मदद करता है जो आपके प्रोजेक्ट के लिए काम करता है। उपयोगकर्ता से कोई प्रतिक्रिया की आवश्यकता नहीं है, टीबीडी उत्पादकों के उत्पाद के आंतरिक हिस्से को विकसित करने में मदद करता है, न कि उपयोगकर्ता को दिखाई देने वाली विशेषताएं।
बरजक

2

मैं कहूंगा कि वास्तव में केवल एक मूल कारक है जो यह निर्धारित करता है कि अनुरेखक बुलेट दृष्टिकोण कितना उपयोगी है: आवेदन की वास्तुकला और डिजाइन में अनिश्चितताओं की संख्या और गुंजाइश।

क्योंकि तकनीक का प्राथमिक (यदि न केवल) लक्ष्य ऐसी अनिश्चितताओं को दूर करना है, तो आपको इससे बहुत लाभ नहीं होगा यदि आपके पास कोई है या वे वास्तुकला या डिजाइन की चिंता नहीं करते हैं। ट्रैसर बुलेट के साथ शुरू करने के लिए बिना वास्तु बाधाओं के साथ एक ग्रीनफील्ड परियोजना एक विशिष्ट उदाहरण है, जबकि ऐसा करने के लिए लगभग एकमात्र समझदार बात है, जबकि इसे लागू करने के लिए कुछ नई सुविधाओं के साथ एक परिपक्व परियोजना के लिए संभवतः समय की बर्बादी होगी (भले ही आवश्यकताओं के बारे में अनिश्चितता हो सकती है, उन को साफ करना सामान्य चुस्त या पुनरावृत्ति विकास का अधिक क्षेत्र है)।


0

मैं शिप इट पुस्तक में ट्रेसर बुलेट के विकास की अवधारणा में आया था ! व्यावहारिक प्रोग्रामर द्वारा संपादित ।

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

मेरे विचार में, टीबीडी दो चीजें हैं:

  • सिस्टम ऑब्जेक्ट्स को अलग करके एक सॉफ़्टवेयर आर्किटेक्चर बनाएं, और इन सिस्टम ऑब्जेक्ट्स के बीच इंटरफेस को परिभाषित करने के लिए डेवलपर्स को सहयोग करें
  • यह सुनिश्चित करने के लिए नकली वस्तुओं का उपयोग करें कि यह टिकाऊ है (वास्तुकला का परीक्षण जल्दी करें)

मुझे लगता है कि पहला बिंदु एक सॉफ्टवेयर को आर्किटेक्ट करने का एक बहुत अच्छा तरीका है, चाहे जो भी हो। दूसरा बिंदु अंतर्संबंध है: यह एक प्रारंभिक वास्तुकला के कारण किसी परियोजना के पूर्ण पुनर्लेखन को संभावित रूप से रोक सकता है जो अभ्यास में काम नहीं करता है।

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