क्या विकास के तरीकों को एक व्यक्ति के व्यक्तिवाद को तोड़ना चाहिए?


9

मैं कॉलेज के अपने अंतिम सेमेस्टर में हूँ और एक सॉफ्टवेयर इंजीनियरिंग कोर्स कर रहा हूँ। कक्षा में हम विभिन्न सॉफ्टवेयर विकास विधियों के बारे में सीखते हैं। जिस पर हमने ध्यान केंद्रित किया, और हमारी परियोजना को विकसित करने के लिए इस्तेमाल किया, वह था जलप्रपात विधि।

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

क्या प्रशिक्षक ने हमें हर कार्य को सूचीबद्ध करने के लिए कहा था? और, क्या ये डिज़ाइन विधियां कोड लिखने के लिए डेवलपर के व्यक्तिवाद को स्क्वाश करती हैं कि वे इसे कैसे समझ सकते हैं?


20
यह बहुत बुरा है कि आपकी कक्षा वाटरफॉल पद्धति सिखा रही है, जो सॉफ्टवेयर विकास की खराब प्रक्रियाओं का एक विहित उदाहरण है।
whatsisname

6
मैं कहूंगा कि इस वर्ग ने आपको बहुत कुछ सिखाया है।
जेफ़ो

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

10
बहुत ज्यादा हर डेवलपर ने डेवलपर के व्यक्तिवाद के मामलों को देखा है, जिन्हें तोड़ना चाहिए था। (हालांकि शायद झरना पद्धति द्वारा नहीं)।
psr

2
@whatsisname, मैं दृढ़ता से असहमत हूं। प्रत्येक डेवलपर को झरना विकास सीखना चाहिए, ताकि वे इसे खराब सॉफ्टवेयर विकास के एक विहित उदाहरण के रूप में रेखांकित करें और इसका अनुभव करें। इसके अलावा, कई दुकानें अभी भी सही या गलत के लिए झरना हैं और यह महत्वपूर्ण है कि इसके लिए ग्रेड तैयार किए जाएं।
maple_shaft

जवाबों:


10

क्या आपने प्रशिक्षक से पूछा कि आपको सभी विधियों को सूचीबद्ध क्यों करना पड़ा?

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

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


+1 अलग-अलग उद्देश्यों के लिए अलग-अलग डिज़ाइन की आवश्यकता है, यह इंगित करने के लिए। वर्ग डिजाइन के बारे में भी अच्छे अंक; प्रशिक्षक से पूछना एक अच्छा विचार है
Ethel Evans

1
कॉलेज पाठ्यक्रम पास करने के नियम को याद रखें: यह पता करें कि प्रोफेसर क्या चाहता है, और उसे वितरित करें।
क्रिस्टोफर महान

9

नहीं, प्रशिक्षक आपको यह बताने के लिए सही है कि यदि आप झरना पद्धति का उपयोग कर रहे हैं, तो सभी गुणों और तरीकों को सूचीबद्ध करें। विकिपीडिया झरने की आलोचना को नोट करता है:

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

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

आपने झरने की कमी को हाँ पाया है, लेकिन हर चीज की अपनी ताकत और कमजोरियां हैं।


4

कक्षा में हम विभिन्न सॉफ्टवेयर विकास विधियों के बारे में सीखते हैं। जिस पर हमने ध्यान केंद्रित किया, और हमारी परियोजना को विकसित करने के लिए इस्तेमाल किया, वह था जलप्रपात विधि।

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

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

हमारे वर्ग आरेखों में, हमें निजी लोगों सहित सभी गुणों और विधियों को सूचीबद्ध करना था। मैंने कुछ किताबें पढ़ी हैं, जिनका नाम है क्लीन कोड, जो यह कहती है कि कार्यों को कम से कम और ध्यान केंद्रित रखें। यह हमारे आरेखों में हर छोटे कार्य को सूचीबद्ध करने के लिए थकाऊ लगता है यदि वे अन्य डेवलपर्स को मदद नहीं करते हैं (वे निजी हैं, कोई और उपयोग नहीं करेगा)। साथ ही, कार्यक्रम की रूपरेखा तैयार करते समय मैं हर छोटे कार्य के बारे में नहीं सोच सकता, जब वे रिफैक्टिंग करते हैं तो वे साथ आ सकते हैं।

ये सभी बहुत ही मान्य बिंदु हैं।

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

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

मुझे लगता है कि यह इस तथ्य को इंगित करता है कि डिजाइन और कार्यान्वयन के बीच बहुत स्पष्ट रूप से पुनरावृत्ति होने की आवश्यकता है - एक समस्या जो पारंपरिक झरना के लिए जिम्मेदार नहीं है।


1
@ पिलमंचर तो बहुत कम लोगों ने पढ़ा है, यह दुखद है।
थॉमस ओवेन्स

3
उस कागज के बारे में सबसे दुखद बात यह है कि ज्यादातर लोगों ने वास्तव में इसके माध्यम से झरना की खोज की, जबकि यह एक ऐसा कागज है जो पूरी तरह से अभ्यास को बदनाम करता है।
जोएरी सेब्रचट्स

3

यह हमारे आरेखों में हर छोटे कार्य को सूचीबद्ध करने के लिए थकाऊ लगता है यदि वे अन्य डेवलपर्स को मदद नहीं करते हैं (वे निजी हैं, कोई और उपयोग नहीं करेगा)।

यदि आपको लगता है कि यह थकाऊ है, तब तक प्रतीक्षा करें जब तक आपको वास्तविक नौकरी प्रोग्रामिंग नहीं मिल जाती। विचार करें, एक पल के लिए, वह सॉफ़्टवेयर आपके लिए एक व्यवहार्य कैरियर नहीं हो सकता है।

साथ ही, कार्यक्रम की रूपरेखा तैयार करते समय मैं हर छोटे कार्य के बारे में नहीं सोच सकता, जब वे रिफैक्टिंग करते हैं तो वे साथ आ सकते हैं।

इसलिए?

क्या प्रशिक्षक ने हमें हर कार्य को सूचीबद्ध करने के लिए कहा है?

नहीं। यह एक सामान्य आवश्यकता है।

और, क्या ये डिज़ाइन विधियाँ कोड को लिखने के लिए डिज़ाइनर (डेवलपर के) व्यक्तिवाद को लागू करती हैं कि वे इसे कैसे समझ सकते हैं?

हाँ। व्यक्तियों का आत्मा-कुचल सॉफ्टवेयर विकास का एक महत्वपूर्ण हिस्सा है। सभी व्यक्तियों को हर समय सभी कार्यक्रमों में सभी संभावित तरीकों से पीटा जाएगा। यह कहता है कि कहीं न कहीं "गॉड्स रूल्स ऑफ़ प्रोग्रामिंग" कहीं पहाड़ से तो कहीं किसी नबी के हवाले है।

नहीं, आप बस टेडियम में जा रहे हैं। इसके ऊपर जाओ और काम पर वापस जाओ।


1
@FreshDaddy। "वे (अधिकांश भाग के लिए) निजी कार्यों को कभी नहीं देखेंगे।" असत्य। लॉटरी जीतने के बाद, अन्य प्रोग्रामर आपके कोड को संभाल लेंगे और निजी कार्यों को देखेंगे। इसके अलावा। कुछ भाषाओं (जैसे पायथन) ने इस तरह की गोपनीयता बरती।
S.Lott

2
@ एस.लॉट - हर निजी फ़ंक्शन को सूचीबद्ध करना एक सामान्य आवश्यकता नहीं है। ऐसा होता है, मुझे गलत मत समझो, लेकिन एक पूर्ण पैमाने पर "कोड लिखने से पहले हर निजी समारोह की सूची" निश्चित रूप से बहुत दुर्लभ है। "आवश्यक टेडियस" है और फिर "बेकार टेडियस" है। प्रोग्रामर को ध्यान में रखते हुए "बेकार टेडियस" को खत्म करने के व्यवसाय में हैं, असली दुनिया के ग्राहक शायद ही कभी इस तरह से महंगा और व्यर्थ के रूप में कुछ अनुरोध करेंगे, जब तक कि यह "जीवन या मृत्यु" प्रकार कोड नहीं था।
Morgan Herlocker

1
@ironcode: "कोड लिखने से पहले हर निजी समारोह की सूची" निश्चित रूप से बहुत दुर्लभ है। ' मेरे अनुभव में नहीं। यह है कि लोग डिजाइन करना कैसे सीखते हैं। जूनियर प्रोग्रामर्स को अक्सर इस मानक तक आयोजित किया जाता है जब तक कि वे यह साबित नहीं कर सकते कि उनके काम को इस स्तर के निरीक्षण की आवश्यकता नहीं है। आम तौर पर एक साल से भी कम। एक संगठन जिसने n00bs को स्कूल से लिया और बिना किसी ओवरसाइट के प्रोग्रामिंग में फेंक दिया, वह केवल बहुत बड़ी समस्याएं पैदा कर रहा है। ओवरसाइट का यह स्तर यह सुनिश्चित करने के लिए आवश्यक है कि कोड में काम करने का एक मौका है।
सल।

1
@ एस लोट - मेरा मकसद यह है कि यदि सॉफ्टवेयर विकास थकाऊ है, तो आप इसे गलत कर रहे हैं। हम प्रोग्रामर हैं। हम टेडियम को स्वचालित करते हैं। हम खुद को कोड में नहीं दोहराते हैं, और दस्तावेज में खुद को दोहराने का कोई कारण नहीं है।
केविन क्लाइन

1
@kevin: यह जवाब शुद्ध व्यंग्य है। जैसे, यह पूरी तरह से अनुचित है, और मैंने इसे ध्वजांकित किया है।
माइकल बोर्गवर्ड

1

प्रोग्रामिंग बाधाओं के भीतर काम करने की कला है। सीपीयू एक सीमित निर्देश सेट प्रदान करता है; IO हार्डवेयर के डिजाइन से विवश है; ओएस एपीआई कुछ व्यवहारों को प्रोत्साहित करने और दूसरों को प्रतिबंधित करने के लिए बनाए जाते हैं; उच्च स्तरीय भाषाओं को अक्सर दूसरों पर मुहावरों के एक सेट को बढ़ावा देने के लिए डिज़ाइन किया जाता है ...

और तरीके भी प्रतिबंधित करने के लिए तैयार किए गए हैं।

विकास प्रक्रिया के सभी पहलुओं में आपकी चुनौती, उन बाधाओं के भीतर अपनी दृष्टि का एहसास करना है । क्या आप हार्डवेयर, भाषा, एपीआई और कार्यप्रणाली द्वारा फेंकी गई प्रत्येक दीवार के खिलाफ अपना सिर फोड़ेंगे? या क्या आप सामंजस्य स्थापित करने का एक तरीका पाएंगे जो आप अनुमति और प्रोत्साहित किए जाने के साथ प्राप्त करना चाहते हैं?

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

या जैसा कि आप फिट देखते हैं , दस्तावेज तैयार करें। इसे स्पष्ट करें, इसे समझने योग्य बनाएं, इसे दशशील हैममेट उपन्यास की तरह पढ़ें। और फिर बैठ जाओ और उससे बात करो, उसे दिखाओ कि तुमने क्या किया है, उसे इसकी योग्यता के लिए मनाओ।


1

मुझे लगता है कि प्रशिक्षक आपको इस परियोजना को करने के लिए प्रतिभाशाली है, और इस प्रकार आपको पेशेवरों और अध्यायों को पढ़ाना (झरना विकास का)।


1

प्रोजेक्ट एनालिसिस की जटिलता का अनुमान लगाने के लिए अंगूठे का एक सरल नियम है "क्या वह जिस कंपनी या कंपनी के लिए काम करता है, उसे कुछ नाटकीय रूप से पर्याप्त रूप से जिम्मेदार ठहराया जा सकता है (आमतौर पर मौत या भारी मात्रा में धन की हानि सहित) सॉफ्टवेयर के साथ हो रहा है?"।

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

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

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


और इसके बारे में सावधान रहें "क्या यह लोगों को मार सकता है अगर यह दुर्घटनाग्रस्त हो जाता है" एक और प्रकार है जिसे कहा जाता है "क्या कोई जेल जा सकता है अगर यह गलत डेटा प्रिंट करता है" और वह अक्सर कीबोर्ड को छोडने वाले आदमी को वापस मिल जाएगा, इसलिए बहुत विस्तृत होना अच्छा है आवश्यकताओं, सबसे छोटा विस्तार करने के लिए।
क्रिस्टोफर महान

@ क्रिस्टोफर: मेरे जवाब को तदनुसार समायोजित किया, टिप्पणी के लिए धन्यवाद :)
मैथ्यू

0

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


0

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

क्या प्रशिक्षक ने "आपको गलत बताया"?

मुझे ऐसा लगता है।

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


2
हिम्मत मैं कहता हूं कि आपने कभी ऐसी कंपनी के लिए काम नहीं किया है जो सरकारी अनुबंधों से पैसा कमाती है। (संपादित करें) आपने कॉमर्शियल सॉफ्टवेयर कहा .. मेरा कथन अब निरर्थक है।
एंड्रयू टी फिननेल

@ एंड्री फिनेल: सच्चाई बहुत दर्दनाक है, इतने सारे स्तरों पर।
17:30 पर पीटर रोवेल

2
@ और - मैंने DOD2167 में काम किया है। यह भयानक और अनुत्पादक था क्योंकि यह अभ्यास किया गया था। बाद में मैंने एक और कंपनी के लिए काम किया, जो लगातार प्रसव के साथ सरकार के लिए चुस्त विकास कर रही है। ग्राहक बेतहाशा खुश है। उनके पास छह महीने में एक उपयोगी एप्लिकेशन था और त्रैमासिक रूप से नई सुविधाएँ प्राप्त करता था।
केविन क्लाइन

@ और मुझे अमेरिकी DoD काम में 2 साल का अनुभव है, एक सरकारी कर्मचारी के रूप में और एक ठेकेदार के रूप में। चुस्त तरीके अपनाए जा रहे हैं। एक टीम जिस पर मैंने काम किया था, वह सक्रमण का उपयोग करते हुए, "बस समय में" पर्याप्त "प्रलेखन" का उत्पादन कर रही थी। हां, प्रलेखन (यहां तक ​​कि "बस पर्याप्त" प्रलेखन) कई अन्य स्थानों की तुलना में काफी अधिक व्यापक है, लेकिन यह आम तौर पर शामिल पार्टियों की संख्या से संचालित होता है (अनुबंध हाथ बदल सकते हैं, अन्य पार्टियां अन्य प्रणालियों को विकसित कर सकती हैं, और इसी तरह) और / या सुरक्षा या जीवन की आलोचना और विकास की प्रणाली का महत्व।
थॉमस ओवेन्स

2
@ और यह सिर्फ सरकारें नहीं हैं। मैंने "उत्पादों" के लिए 40 पृष्ठ विनिर्देश देखे हैं; आम तौर पर आप इस तालिका से सब कुछ का चयन कर सकते हैं और मुझे इसे सीमांकित कृपया पाइप दे सकते हैं। कोई भी उन्हें पढ़ने के लिए कभी भी परेशान नहीं हो सकता ...
बेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.