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