एजाइल मेनिफेस्टो सिद्धांत में एक निश्चित बिंदु को नहीं समझ सकता है


24

मैं एजाइल मेनिफेस्टो सिद्धांत पढ़ रहा था । एक बिंदु को छोड़कर सब कुछ स्पष्ट और उचित लगता है:

सरलता - काम नहीं किए जाने की मात्रा को अधिकतम करने की कला - आवश्यक है।

मैं यह नहीं समझता। क्या इसका मतलब यह है कि जो काम नहीं किया गया वह किसी तरह अतिरंजित होना चाहिए? यदि हां, तो यह वास्तव में सेंस नहीं करता है।


2
+1 वोट डाउन करने के लिए - आपके यहाँ एक आश्चर्यजनक दिलचस्प सवाल है।

1
वू वी को भी देखें और कल्पना करें कि यह सामान्य रूप से सॉफ्टवेयर विकास पर कैसे लागू किया जा सकता है। यह आपके प्रश्न में व्यक्त दर्शन की स्वाभाविक प्रगति है।

जवाबों:


30

पैतृक टिप्पणी निकालें। जो बचता है वह है "सादगी जरूरी है", जो कि अपनी अभिव्यक्ति के लिए सिद्धांत का एक अनुप्रयोग है।

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

मैंने हमेशा पास्कल की संक्षिप्तता पर ले जाने के अर्थ में व्याख्या की है : " मैंने एक छोटा पत्र लिखा होगा, लेकिन मेरे पास समय नहीं था। आपको (अक्षर से, कोड से) अनएडेड होने से बचना होगा और यह है एक सक्रिय कार्य , और एक आसान नहीं है। यह कुछ ऐसा नहीं है जो अपने आप होता है।


35

विचार यह है कि ऐसा काम करने से बचें जो आवश्यक नहीं है, अर्थात "काम की अधिकतम राशि जो नहीं की गई है"।

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

YAGNI एक संबंधित अवधारणा है।


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

2
@ मोम, मुझे लगता है कि भविष्य के संभावित परिवर्तनों को देखना आवश्यक है। यहाँ वह जगह है जहाँ दूरदर्शिता एक बड़ी मदद है। और आपके द्वारा वर्णित डेवलपर्स शुतुरमुर्ग की तरह अधिक हैं, जो रेत में छिपते हैं।
सुपर

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

15
@ मोम: YAGNI अंतिम ज़िम्मेदार पल के लिए देरी से निर्णय लेने के बारे में है । आप जिस बारे में बात कर रहे हैं, वह निर्णय को अंतिम संभव क्षण में देरी कर रहा है , जो वास्तव में एक बुरा आइडिया है। बात यह है: आपके पास किसी निर्णय को आधार बनाने के लिए आपके पास अभी कम जानकारी नहीं होगी कि आपके पास अभी है। सबसे खराब स्थिति में, आपके पास कल एक ही जानकारी होगी। लेकिन आमतौर पर, आप तब तक कुछ सीख चुके होंगे। मामले आपने उल्लेख किया है, तो आप जानते हैं कि आप कर रहे हैं , इसकी जरूरत वाला तो YAGNI बस लागू नहीं होता। इसे लागू करने की कोशिश वास्तव में उस मामले में बेवकूफी है।
जोर्ग डब्ल्यू मित्तग

2
@ मोम: आप यहाँ जो वर्णन कर रहे हैं, वह काम नहीं किए जाने की मात्रा को अधिकतम करने के ठीक विपरीत है। यह दोगुना काम कर रहा है।
पीडीआर

5

हम इसे "सोना चढ़ाना" कहते थे। एक हथौड़ा की आवश्यकता यह है कि यह एक कील को लकड़ी के टुकड़े में काट सकता है। यह सोना मढ़वाया हथौड़ा होने के लिए किसी भी बेहतर काम नहीं करता है।

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


4

यह विचार टोयोटा प्रोडक्शन सिस्टम (टीपीएस) की एक अवधारणा के समान है , जिसके कारण जेनरिक लीन मैन्युफैक्चरिंग और फिर लीन सॉफ्टवेयर डेवलपमेंट के लिए उन तकनीकों के अनुप्रयोग का नेतृत्व किया गया । 1950 के दशक के उत्तरार्ध में अपनी जड़ों के साथ टीपीएस काफी फुर्तीले आंदोलन को जन्म देता है।

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

दोनों अवधारणाओं का समग्र विचार एक ही है - जो चीजें मूल्य नहीं जोड़ती हैं वे बेकार हैं और उन्हें कम से कम किया जाना चाहिए। अंतिम लक्ष्य उत्पादन में समय और लागत को कम करते हुए गुणवत्ता बढ़ाना है।

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