एजिल सॉफ्टवेयर डेवलपमेंट क्या है? एजिल मैनिफेस्टो और विधियों की व्याख्या

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

एजिल प्रक्रिया को कम रखने और एक न्यूनतम विकल्प उत्पाद (MVP) बनाने पर ध्यान केंद्रित करता है, जिसमें अंतिम परिणाम निकलने से पहले कई बार इटरेशन किए जाते हैं। फीडबैक को निरंतर एकत्र किया जाता है और लागू किया जाता है। संक्षेप में, यह एक अधिक गतिशील प्रक्रिया है जहां सभी एक सामान्य लक्ष्य की ओर काम करते हैं।
Agile Software Development
एजिल सॉफ्टवेयर विकास

स्क्रम और अन्य प्रमुख एजिल विधियाँ

एजिल एक मानसिकता है — मूल्यों और सिद्धांतों का संग्रह। यह एक तरीका है सोचने और कार्य करने का। एजिल का अर्थ है छोटे चक्कर, आवर्ती और चरणबद्ध डिलीवरी, त्वरित विफलता, फीडबैक प्राप्त करना, व्यापार मूल्य को जल्दी डिलीवर करना, और लोगों, सहयोग और अंतरक्रिया पर ध्यान केंद्रित करना। एजिल एक पारदर्शिता, निरीक्षण और अनुकूलन की मानसिकता है। हालांकि, एजिल में कोई भी शामिल नहीं हैभूमिकाएं, घटनाएं, याकलाकृतियाँ। यह एक मानसिकता है। उदाहरण के लिए,स्क्रम एजिल छात्र के तहत व्यापक रूप से उपयोग किए जाने वाले ढांचों में से एक है, जो आपको अधिक एजिल बनाने में मदद करता है। लेकिन एजिल आंदोलन में कई अन्य ढांचे शामिल हैं, जैसे कि कैनबान,एक्सपी, क्रिस्टल, और अन्य, नीचे दिखाए गए अनुसार:
Scrum Agile Umbrella
स्क्रम एजिल छात्र

स्क्रम

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

लीन

लीन की उत्पत्ति टोयोटा उत्पादन प्रणाली (TPS) से हुई, जिसने 1950 के दशक, 60 के दशक और उसके बाद भौतिक वस्तुओं के उत्पादन को क्रांति में बदल दिया। जबकि लीन निर्माण में अपनी स्थिति बनाए रखता है, यह ज्ञान कार्य में भी नए अनुप्रयोग प्राप्त कर चुका है, जो सभी उद्योगों के व्यवसायों की मदद करता है **अपशिष्ट को समाप्त करना, प्रक्रियाओं में सुधार करना और नवाचार को बढ़ावा देना**। सॉफ्टवेयर विकास लीन विधियों के लिए एक प्राकृतिक मेल है, क्योंकि यह निर्माण की तरह अक्सर स्थापित प्रक्रियाओं का पालन करता है, परिभाषित स्वीकृति मानदंडों के साथ होता है, और भौतिक मूल्य के डिलीवरी की ओर ले जाता है। सभी लीन व्यवहारों के नेतृत्व करने वाली मुख्य अवधारणाओं को लीन स्तंभ के रूप में जाना जाता है। वे हैं:
  • निरंतर सुधार
  • लोगों के प्रति सम्मान
  • हल्के नेतृत्व

कैनबान

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

डायनामिक सिस्टम डेवलपमेंट मेथड (DSDM)

DSDM आठ सिद्धांतों से बना एक ढांचा है, जिसमें जीवनचक्र और उत्पाद, भूमिकाएं और जिम्मेदारियां, और कई उत्तम अभ्यास तकनीकें शामिल हैं। इन सिद्धांतों का समर्थन और जीवन में रणनीतिक रूप से महत्वपूर्ण व्यावसायिक लाभों के जल्दी वितरण को सुनिश्चित करता है, जिससे संगठनों के लिए सर्वोत्तम रिटर्न ऑन इन्वेस्टमेंट (ROI) प्राप्त होता है।
DSDM एक विधि है जो फीचर्स की तुलना में योजना और गुणवत्ता को प्राथमिकता देती है। यह लागत, गुणवत्ता और समय को शुरुआत से निर्धारित करती है और प्रोजेक्ट आवश्यकताओं को चार प्रकारों में बांटने के लिए MoSCoW प्राथमिकता तकनीक का उपयोग करती है:
  • एमआवश्यक है
  • एसकरना चाहिए
  • सीकर सकते हैं
  • डब्ल्यूनहीं करना चाहिए
DSDM Atern के आठ समर्थक सिद्धांत [13] टीमों को लगातार मूल्य प्रदान करने के लिए उन दृष्टिकोण और मानसिकता के बारे में मार्गदर्शन करते हैं जिन्हें उन्हें अपनाना चाहिए।
  1. व्यावसायिक आवश्यकताओं पर ध्यान केंद्रित करें
  2. समय पर डिलीवर करें
  3. सहयोग करें
  4. गुणवत्ता को कभी नहीं त्यागें
  5. ठोस आधार से चरण दर चरण निर्माण करें
  6. पुनरावृत्ति विकास
  7. निरंतर स्पष्ट संचार
  8. नियंत्रण को प्रदर्शित करें

एक्स्ट्रीम प्रोग्रामिंग (XP)

मूल रूप से केंट बेक द्वारा वर्णित, एक्स्ट्रीम प्रोग्रामिंग (XP) एक सबसे लोकप्रिय और विवादास्पद एजाइल विधि बन गई है। XP उच्च गुणवत्ता वाले सॉफ्टवेयर को तेजी से और निरंतर डिलीवर करने के लिए एक अनुशासित दृष्टिकोण है। इसका उद्देश्य सॉफ्टवेयर की गुणवत्ता और बदलती ग्राहक आवश्यकताओं के प्रति प्रतिक्रिया को सुधारना है। इसमें उच्च ग्राहक सहभागिता, त्वरित प्रतिक्रिया चक्र, निरंतर परीक्षण, निरंतर योजना और निकट सहयोग को बढ़ावा दिया जाता है, जिससे कार्यात्मक सॉफ्टवेयर बहुत अधिक अंतराल पर (आमतौर पर हर 1–3 सप्ताह) डिलीवर किया जाता है।
पद्धति का नाम ऐसे लाभदायक तत्वों के लिए आता है जो पारंपरिक सॉफ्टवेयर इंजीनियरिंग अभ्यासों से लिए जाते हैं और उन्हें एक “अत्यधिक” स्तर तक ले जाया जाता है। उदाहरण के लिए, कोड समीक्षा एक लाभदायक अभ्यास मानी जाती है। एक अत्यधिक रूप में, कोड को जोड़े के प्रोग्रामिंग के अभ्यास के माध्यम से निरंतर जांचा जाता है।
मूल XP ढांचा चार मूल मूल्यों पर आधारित है — सरलता, संचार, प्रतिक्रिया और बहादुरी।
इसमें बारह समर्थक अभ्यास भी शामिल हैं:
  • योजना खेल
  • छोटे रिलीज
  • ग्राहक स्वीकृति परीक्षण
  • सरल डिज़ाइन
  • जोड़ी प्रोग्रामिंग
  • परीक्षण-आधारित विकास
  • रिफैक्टरिंग
  • निरंतर एकीकरण
  • सामूहिक कोड स्वामित्व
  • कोडिंग मानक
  • मुहावरा
  • स्थायी विकास
Extreme Programming
एक्स्ट्रीम प्रोग्रामिंग

फीचर-आधारित विकास (FDD)

फीचर-आधारित विकास (FDD) को 1997 में एक बड़े सिंगापुरी बैंक में सॉफ्टवेयर विकास परियोजना के दौरान जेफ डी लूका द्वारा पेश किया गया था। यह एक आवर्ती और आगे बढ़ता हुआ सॉफ्टवेयर विकास प्रक्रिया है और सॉफ्टवेयर बनाने के लिए एगिल दृष्टिकोण है। FDD बहुत लोकप्रिय उद्योग की उत्तम व्यवहारों को एक सुसंगत इकाई में एकत्र करता है। इन अभ्यासों को ग्राहक के मूल्य के दृष्टिकोण — फीचर्स से चलाया जाता है। इसका मुख्य लक्ष्य निरंतर और समय पर भौतिक, कार्यात्मक सॉफ्टवेयर को डिलीवर करना है। FDD का एक महत्वपूर्ण लाभ यह है कि इसे “जस्ट एनफ डिज़ाइन” (JEDI) की अवधारणा के कारण बड़ी टीमों तक स्केल किया जा सकता है। इसके फीचर-केंद्रित प्रक्रिया के कारण, FDD एगिल, आगे बढ़ते और आंतरिक रूप से जटिल परियोजनाओं पर नियंत्रण बनाए रखने के लिए एक उत्तम समाधान है। इसमें पांच मुख्य गतिविधियां शामिल हैं:
  1. एक समग्र मॉडल विकसित करें
  2. एक फीचर सूची बनाएं
  3. फीचर के आधार पर योजना बनाएं
  4. फीचर के आधार पर डिज़ाइन करें
  5. फीचर के आधार पर बनाएं
Feature-Driven Development (FDD)
फीचर-आधारित विकास (FDD)
प्रत्येक परियोजना का अपना अद्वितीय मॉडल होता है, जो एक फीचर सूची उत्पन्न करता है। अंतिम तीन गतिविधियां छोटे इटरेशन हैं, जिनमें से प्रत्येक दो सप्ताह से अधिक नहीं लेते हैं। यदि कोई कार्य दो सप्ताह से अधिक समय लेता है, तो इसे छोटे फीचर्स में बांट दिया जाता है।

क्रिस्टल

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

एजिल मैनिफेस्टो

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

एजिल सिद्धांत

एजिल मैनिफेस्टो के पूरक के रूप में, एजिल एलायंस ने 12 सिद्धांतों का एक सेट भी परिभाषित किया है जो मैनिफेस्टो से आगे दिशा निर्देश और विस्तृत व्याख्या प्रदान करते हैं:
Agile Manifesto Principles
एजिल मैनिफेस्टो सिद्धांत
  1. हमारा सर्वोच्च प्राथमिकता उपयोगी सॉफ्टवेयर के जल्दी और निरंतर डिलीवरी के माध्यम से ग्राहक को संतुष्ट करना है।
  2. परिवर्तित आवश्यकताओं का स्वागत करें, भले ही विकास के अंतिम चरण में हों। एजिल प्रक्रियाएं प्रतिस्पर्धी लाभ के लिए परिवर्तन का उपयोग करती हैं।
  3. कुछ हफ्तों से लेकर कुछ महीनों तक निरंतर कार्यात्मक सॉफ्टवेयर डिलीवर करें, छोटे समयावधि के प्रति प्राथमिकता देते हुए।
  4. व्यापार लोगों और डेवलपर्स को प्रोजेक्ट के दौरान दैनिक रूप से मिलकर काम करना चाहिए।
  5. प्रेरित व्यक्तियों के चारों ओर प्रोजेक्ट बनाएं। उन्हें आवश्यक वातावरण और समर्थन दें, और उन पर भरोसा करें कि वे काम पूरा कर लेंगे।
  6. विकास टीम में और उसके बाहर सूचना प्रदान करने का सबसे प्रभावी तरीका चेहरे से चेहरे की बातचीत है।
  7. कार्यात्मक सॉफ्टवेयर प्रगति का मुख्य मापदंड है।
  8. एजिल प्रक्रियाएं स्थायी विकास को बढ़ावा देती हैं। स्पॉन्सर्स, डेवलपर्स और उपयोगकर्ता अनंतकाल तक एक स्थिर गति बनाए रख सकते हैं।
  9. तकनीकी उत्कृष्टता और अच्छे डिजाइन पर निरंतर ध्यान एजिलिटी को बढ़ाता है।
  10. सरलता — काम न करने वाली मात्रा को अधिकतम करने की कला — आवश्यक है।
  11. सर्वोत्तम आर्किटेक्चर, आवश्यकताएं और डिजाइन स्व-संगठित टीमों से उभरते हैं। टीमें नियमित रूप से यह विचार करती हैं कि वे कैसे अधिक प्रभावी बन सकती हैं और फिर अपने व्यवहार को उसके अनुसार समायोजित करती हैं।

सारांश

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

Leave a Reply