सॉफ्टवेयर इंजीनियरिंग में एजाइल मॉडल

एजाइल मॉडल क्या है?

एजाइल मॉडल सॉफ्टवेयर विकास की एक वृद्धिशील और पुनरावृत्तीय प्रक्रिया है। यह प्रत्येक पुनरावृत्ति की संख्या, अवधि और दायरे को पहले से परिभाषित करता है। एजाइल प्रक्रिया मॉडल में प्रत्येक पुनरावृत्ति को एक छोटा "फ़्रेम" माना जाता है, जो ज़्यादातर दो से चार सप्ताह तक चलता है।

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

चुस्त मॉडल

महत्वपूर्ण एजाइल मॉडल घोषणापत्र क्या हैं?

एजाइल मॉडल का आवश्यक घोषणापत्र इस प्रकार है:

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

एजाइल मॉडल के चरण

एजाइल के विभिन्न चरण इस प्रकार हैं:

एजाइल मॉडल के चरण

SDLC जीवन चक्र में एजाइल मॉडल प्रक्रिया में शामिल महत्वपूर्ण चरण इस प्रकार हैं:

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

वाटरफॉल की तुलना में एजाइल चक्र छोटे होते हैं। एक प्रोजेक्ट में ऐसे कई चक्र हो सकते हैं। उत्पाद डिलीवर होने तक चरण दोहराए जाते हैं।

एजाइल के प्रकार

यहां कुछ महत्वपूर्ण एजाइल प्रकार दिए गए हैं:

स्क्रम: यह चुस्त विधि मुख्य रूप से टीम-आधारित विकास स्थितियों में कार्यों के प्रबंधन पर केंद्रित है। स्क्रम एजाइल मॉडलटीम को प्रत्येक कार्य के लिए एक कार्य योजना का सख्ती से पालन करना चाहिए Sprintइसके अलावा, इस प्रकार की परियोजना में शामिल लोगों की भूमिकाएं पूर्वनिर्धारित होती हैं।

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

क्रिस्टल पद्धतियों को नीचे वर्गीकृत किया गया है:

  • स्पष्ट: छोटे और कम महत्वपूर्ण प्रयासों के लिए उपयोगकर्ता।
  • संतरा: मध्यम रूप से बड़ी और महत्वपूर्ण परियोजनाओं के लिए उपयोगकर्ता।
  • ऑरेंज वेब: आमतौर पर, इलेक्ट्रॉनिक व्यवसाय

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

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

लीन सॉफ्टवेयर विकास: यह कार्यप्रणाली "जस्ट-इन-टाइम प्रोडक्शन" के सिद्धांत पर आधारित है। यह सॉफ्टवेयर विकास की गति बढ़ाने और लागत कम करने में मदद करती है।

लीन डेवलपमेंट मॉडल के परिणामस्वरूप, अपव्यय समाप्त हो जाता है, सीखने को बढ़ावा मिलता है, शीघ्र डिलीवरी प्राप्त होती है, तथा अखंडता का निर्माण होता है।

एक्सट्रीम प्रोग्रामिंग (एक्सपी): चरम कार्यक्रम जब क्लाइंट की ज़रूरतें या मांगें लगातार बदलती रहती हैं, तो एजाइल मॉडल उपयोगी होता है। इसका इस्तेमाल तब भी किया जाता है जब सिस्टम की कार्यक्षमता के बारे में कोई निश्चितता न हो।

एजाइल मॉडल का उपयोग कब करें?

यहां कुछ सामान्य परिदृश्य दिए गए हैं जहां एजाइल पद्धति का उपयोग किया जाता है:

  • इसका प्रयोग तब किया जाता है जब बार-बार परिवर्तन लागू करने की आवश्यकता होती है।
  • कम-विनियामक-आवश्यकता वाली परियोजनाएँ
  • ऐसी परियोजनाएँ जिनमें मौजूदा प्रक्रिया बहुत सख्त नहीं है
  • ऐसी परियोजनाएँ जहाँ उत्पाद स्वामी अत्यधिक सुलभ हो
  • लचीली समयसीमा और बजट वाली परियोजनाएं

एजाइल मॉडल के लाभ

एजाइल मॉडल के कुछ सामान्य लाभ/पक्ष इस प्रकार हैं:

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

एजाइल मॉडल के नुकसान

एजाइल मॉडल के कुछ सामान्य नुकसान/कमियां इस प्रकार हैं:

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

एजाइल मॉडल बनाम वाटरफॉल मॉडल

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

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

कृपया विस्तृत जानकारी के लिए इस लिंक पर जाएं एजाइल और वाटरफॉल मॉडल के बीच तुलना.

सारांश

  • एजाइल मॉडल सॉफ्टवेयर विकास की एक वृद्धिशील और पुनरावृत्तीय प्रक्रिया है।
  • यह व्यापक दस्तावेज़ीकरण के बजाय कार्यशील सॉफ्टवेयर पर ध्यान केंद्रित करता है।
  • एजाइल मॉडल को विभिन्न चरणों में विभाजित किया गया है जैसे 1) आवश्यकताएं एकत्रित करना, 2) आवश्यकताओं की डिजाइन, 3) विकास/पुनरावृत्ति, 4) परीक्षण, 5) परिनियोजन 6) फीडबैक।
  • एजाइल के विभिन्न प्रकार हैं: 1) स्क्रम, 2) क्रिस्टल, 3) डायनेमिक सॉफ्टवेयर डेवलपमेंट मेथड (डीएसडीएम): 4) फीचर ड्रिवेन डेवलपमेंट (एफडीडी), 5) लीन सॉफ्टवेयर डेवलपमेंट 6) एक्सट्रीम प्रोग्रामिंग (एक्सपी)।
  • एजाइल मॉडल का प्रयोग तब किया जाता है जब लगातार परिवर्तन लागू करने की आवश्यकता होती है।
  • यह सॉफ्टवेयर विकास के लिए एक बहुत ही यथार्थवादी दृष्टिकोण प्रदान करता है
  • इस मॉडल में स्थायित्व, रख-रखाव और विस्तारशीलता का जोखिम अधिक है।
  • सॉफ्टवेयर परीक्षण में एजाइल पद्धतियां सॉफ्टवेयर डिजाइन के लिए वृद्धिशील और पुनरावृत्तीय दृष्टिकोण अपनाती हैं, जबकि सॉफ्टवेयर विकास प्रारंभिक बिंदु से अंतिम बिंदु तक क्रमिक रूप से प्रवाहित होता है।