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