लड़ाई खत्म हो गई है, लोग बहुत सारी बातें करते हैं कि उन्होंने अपने फैसले कब किए, किन तरीकों से उन्हें मार्गदर्शन दिया गया, लेकिन वास्तव में हमेशा बहुत सारी चीजों का एक नरक होता है जो स्पर्श में आते हैं।एडमिरल एफडी फ्लेचर

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