वे इसे एक कारण से रियल वर्ल्ड ™ कहते हैं।
असली कॉर्पोरेट दुनिया में आप जो भी सामना करेंगे, उसका 99% बकवास माना जाएगा, और अच्छे कारण के लिए जिसे मैं समझाऊंगा। 1% जिसे बकवास नहीं माना जाता है वह अंततः बकवास बन जाएगा।
# 1 कोड लिखें, # 2 ????, # 3 लाभ!
पहले ऑफ बिज़नेस एक लाभ को चालू करने के लिए मौजूद हैं, वे पूर्ण रूप से सुनहरा भंडार में रखे गए सैद्धांतिक रूप से साफ डिजाइन और प्राचीन शैक्षणिक कोड के पहाड़ों को उत्पन्न करने के लिए मौजूद नहीं हैं। पास भी नहीं, उनके द्वारा उत्पादित सोर्स कोड को बेचने के व्यवसाय में भी नहीं।
व्यापार जगत में कोड समाप्त होने का एक साधन है । यदि कुछ कोड एक व्यावसायिक समस्या को हल करता है और इसे बनाने और बनाए रखने की लागत से अधिक पैसा बनाता है तो यह व्यवसाय के लिए वांछनीय है। कोड लिखने के लिए आपको रोजगार देना कोड प्राप्त करने के व्यवसाय के लिए सिर्फ एक तरीका है।
सिद्धांत ० - अभ्यास ∞
आदर्श रूप से रखरखाव एक चिंता का अधिक होना चाहिए लेकिन यह आमतौर पर नहीं होता है, क्योंकि अल्पावधि में यह वित्तीय रूप से नहीं जीतता है। लंबी अवधि में, सॉफ़्टवेयर में आमतौर पर एक अपेक्षाकृत छोटा जीवन चक्र होता है, विशेष रूप से वेब आधारित अनुप्रयोग, वे जल्दी से obsoleted हो जाते हैं और अधिक बार फिर से लिखे जाते हैं।
व्यावसायिक अनुप्रयोगों की हाउस लाइन में कई गति आधारित कारणों से अंतहीन ज़ोंबी परियोजनाओं के रूप में माना जाता है कि मंथन कर रहे हैं। ये परियोजनाएं वास्तव में वे सफलताएं हैं जो वे जारी रखती हैं क्योंकि वे व्यवसाय को लाभ कमाती हैं।
सिद्धांत रूप में सिद्धांत और व्यवहार में कोई अंतर नहीं है। व्यवहार में है। - योगी बर्रा
सिद्धांत रूप में 100% कोड कवरेज के साथ पूरी तरह से साफ सुथरा प्राचीन कोड बेस कंपनियों को पैसा बचाना चाहिए, व्यवहार में यह निवेश पर एक वैध रिटर्न के करीब किसी भी चीज को वितरित करने के करीब नहीं आता है।
सॉफ्टवेयर जीवनचक्र के भौतिकी
सॉफ्टवेयर की दुनिया में काम पर एक सुपर शक्तिशाली एन्ट्रापी बल भी है। यह अपरिहार्यता का एक काला छेद है जो सभी सॉफ्टवेयर को बिग बॉल ऑफ मड में पतित करने की निंदा करता है ।
आप जिस BBM से बेहतर शुरू करते हैं, वह बेहतर है, लेकिन हर सॉफ्टवेयर सिस्टम को अंततः पर्याप्त समय मिलेगा। आप कितनी जल्दी दृष्टिकोण करते हैं 100% एन्ट्रॉपी यह निर्धारित करता है कि आप कहां से शुरू करते हैं और कितनी तेजी से आप तकनीकी ऋण पर ढेर करते हैं और इस पर ब्याज कितना अधिक है।
सॉफ्टवेयर सिस्टम रखरखाव की वजह से पतित और सड़ जाते हैं , इसकी कमी के कारण नहीं। एक ऐसी प्रणाली जो सालों से बिना किसी कोड परिवर्तन के परिभाषा के अनुसार है, अपनी सभी आवश्यकताओं और लक्ष्यों को पूरा करती है और एक सफलता है।
यह ऐसी प्रणालियाँ हैं जिन्हें निरंतर परिवर्तन की आवश्यकता होती है क्योंकि वे अधिकतम एन्ट्रॉपी के करीब से शुरू हुईं हैं जो लगातार छिद्रित और प्रदूषित हैं और यह रखरखाव है जो नकारात्मक परिवर्तन को तेज करता है।
गुड इनफ गुड गुड एनफ है
वेबसाइटों की तरह लघु जीवन चक्र प्रणाली जो लगातार बदलती हैं, यूनिट परीक्षणों में महंगे विशाल अपफ्रंट डिज़ाइन 100% कोड कवरेज से लाभ नहीं उठाती हैं, क्योंकि लागतों की पुनरावृत्ति के लिए परिशोधन समय बहुत कम है।
व्यावसायिक एप्स की उपर्युक्त आंतरिक लाइन जैसी लंबी जीवनचक्र प्रणालियां, वास्तव में 100% कोड कवरेज इकाई परीक्षणों के बड़े पैमाने पर निवेश से लाभ नहीं उठाती हैं, क्योंकि परियोजना के जीवन में बदलाव की दर एक स्थिर दृष्टिकोण के पास होती है जो शून्य के करीब है गैर रेखीय फैशन।
इसीलिए जीवन की योजनाओं का अंत अधिक महत्वपूर्ण है और प्रतिस्थापन प्रणालियों की योजना बनाई जानी चाहिए जैसे कि कुछ जारी किया जा रहा है, न कि जब इसे कुछ वर्षों के लिए इसे पारित किया गया है और असमर्थित किया गया है, इसलिए एक नई प्रणाली को लागू किया जाना चाहिए।
वे बीबीएम के बारे में नहीं सिखाते हैं जहाँ तक मुझे पता है, मैंने हाल ही में सीएस स्नातक का सामना नहीं किया है जो जानता था कि यह क्या था, बहुत कम क्यों ऐसा होता है।
यही कारण है कि अच्छा पर्याप्त अच्छा पर्याप्त है , कम या ज्यादा कुछ भी नहीं है।
सॉफ्टवेयर Slumlords
एक कारण के लिए रियल एस्टेट स्लम लॉर्ड्स हैं, वे रन शंट्टी इमारतों पर लाभ कमाते हैं जो उनके पास हैं। रन-वे की संपत्ति के वृद्धिशील रखरखाव पर खर्च करने की तुलना में वे अधिक लाभ कमाते हैं। यदि वे नहीं करते तो वे इमारत को फाड़ देते और उसे बदल देते। लेकिन वे नहीं करते हैं, क्योंकि वृद्धिशील लागत ओवरहालिंग या पूरी इमारत को बदलने की तुलना में बहुत कम है। ऐसे ग्राहक (किरायेदार) भी हैं जो रन डाउन प्रॉपर्टी के लिए भुगतान करने को तैयार हैं।
कोई भी भवन स्वामी, झुग्गी स्वामी या पूर्णता की कुछ अकादमिक धारणा के कारण संपत्ति पर पैसा खर्च करने वाला नहीं है, जो संबद्ध लागत पर पर्याप्त लाभ का अनुवाद नहीं करता है।
कोई भी ग्राहक ऐसे सॉफ़्टवेयर सिस्टम में अपग्रेड के लिए भुगतान करने वाला नहीं है जो उनके लिए काम कर रहा है। कोई भी व्यवसाय कोई ठोस लाभ नहीं होने के लिए सिर्फ राइटिंग और री-राइटिंग कोड पर पैसा खर्च करने जा रहा है।
Microsoft सबसे अधिक प्रभावी और सफल सॉफ्टवेयर स्लमलॉर्ड है। विंडोज ने बहुत पहले तक प्रमुख फाउंडेशनल री-राइट्स मिलना शुरू नहीं किया था। और उन्होंने अभी भी कर्नेल से सभी विरासत कोड को नहीं गिराया है। यह उनके लिए व्यावसायिक अर्थ नहीं रखता है, लोग पिछले दशक में स्थापित की गई अपेक्षाओं के निम्न बार को स्वीकार करने के लिए तैयार हैं।
रोग का निदान
यह सॉफ्टवेयर विकास में 20+ वर्षों से एक पैटर्न है। यह जल्द ही किसी भी समय बदलने वाला नहीं है। यह वह तरीका नहीं है जो लोग चाहते हैं कि यह कुछ विश्वास प्रणाली से बाहर हो, यह एक व्यवसाय पर बाहरी ताकतों की वास्तविकता है। बिजनेस ड्राइव निर्णय लेते हैं, मुनाफा वे बुराई नहीं हैं जो वे आपके वेतन का भुगतान करते हैं, अल्पकालिक या दीर्घकालिक दृष्टि अप्रासंगिक है, यह परिभाषा द्वारा निरंतर परिवर्तन का एक अल्पकालिक उद्योग है। कोई भी जो लाभ कमाने के लिए अच्छे के खिलाफ तर्क देता है वह व्यवसाय को नहीं समझता है।
मैंने 15 साल सलाह-मशविरा किया और बहुत जल्दी सीख लिया कि अच्छा बस इतना ही था, बाकी कुछ भी मुझे खर्च करना था। हाँ, मैं चाहता था कि चीजें एकदम सही हों, लेकिन जब तक आप एक कोड बेस नहीं बेच रहे हैं, जो 99.99999% समय आप एक समाधान बेच रहे हैं , जो कि प्रीफेक्ट क्लीन ऑर्गनाइज़्ड एलिगेंट कोड खो गया है और आपने अभी अपना समय बर्बाद किया है, तो आप इसके लिए कभी भी प्रतिपूर्ति नहीं करेंगे ।
प्रगति और आशा
चुस्त तरीके सही दिशा में एक अच्छा कदम है, कम से कम दार्शनिक रूप से। वे अराजकता और निरंतर परिवर्तन को एक प्रथम श्रेणी के नागरिक के रूप में संबोधित करते हैं और इसे स्वीकार करते हैं। वे हठधर्मिता प्रथाओं को अस्वीकार करते हैं, यह स्वीकार करते हुए कि कार्यप्रणाली और प्रथाओं को आवश्यकताओं और प्रौद्योगिकियों के साथ-साथ बदलना चाहिए।
वे एन्ट्रापी को स्वीकार करते हैं जो समय की कमी या बदलती आवश्यकताओं, बदलते कर्मचारियों और तकनीकी ऋण की अवधारणा के साथ एक सॉफ्टवेयर सिस्टम की परत द्वारा प्रस्तुत की जाती है।
लेकिन Agile एक रामबाण नहीं है, यह भौतिकी के मूलभूत नियमों को बदलने वाला नहीं है और कोड आधार परवाह किए बिना सड़ जाएंगे। यह पूरी तरह से हाथ से बाहर होने और असहनीय होने से पहले सड़ांध से निपटने के लिए योजना बनाना है।
चुस्त जब सही ढंग से किया जाता है, एन्ट्रापी का प्रबंधन करने में मदद करता है, इसे धीमा कर देता है, इसे ट्रैक करता है, इसे मापता है और योजनाबद्ध तरीके से इससे निपटता है। यह इसे बंद नहीं करेगा!
कैरियर का निर्णय
यदि यह आपके लिए एक वास्तविक दार्शनिक समस्या है, तो आपको संभवतः अन्य कैरियर विकल्पों पर विचार करना चाहिए, क्योंकि जिस तरह से काम करते हैं उसके पीछे वैध व्यावसायिक योग्यता है। ओपन सोर्स प्रोजेक्ट्स का कोई बेहतर ट्रैक रिकॉर्ड नहीं है, और कई मामलों में कोड मेरे द्वारा देखे गए अधिकांश कॉर्पोरेट कोड से भी बदतर है।