अनुकूली सॉफ्टवेयर विकास - अभ्यास
अनुकूली सॉफ्टवेयर डेवलपमेंट प्रथाओं को निरंतर अनुकूलन में विश्वास द्वारा संचालित किया जाता है, जीवनचक्र को मानक के रूप में निरंतर परिवर्तन को स्वीकार करने के लिए सुसज्जित किया जाता है।
अनुकूली सॉफ्टवेयर विकास जीवनचक्र - के लिए समर्पित है
- लगातार सीखना
- अभिविन्यास बदलें
- Re-evaluation
- अनिश्चित भविष्य में झांकना
- डेवलपर्स, प्रबंधन और ग्राहकों के बीच गहन सहयोग
अनुकूली एसडीएलसी
अनुकूली सॉफ्टवेयर डेवलपमेंट जैसे सॉफ्टवेयर इंजीनियरिंग के साथ आरएडी को जोड़ती है, जैसे -
- परियोजना का प्रारम्भ।
- अनुकूली चक्र योजना।
- समवर्ती घटक इंजीनियरिंग।
- गुणवत्ता की समीक्षा।
- अंतिम क्यूए और रिलीज।
अनुकूली सॉफ्टवेयर विकास प्रथाओं को निम्नानुसार चित्रित किया जा सकता है -
जैसा कि ऊपर बताया गया है, अनुकूली सॉफ्टवेयर डेवलपमेंट प्रथाएं तीन चरणों में फैली हुई हैं -
अटकलें - पहल और योजना
परियोजना का प्रारम्भ
पूरे प्रोजेक्ट के लिए टाइम-बॉक्स की स्थापना
पुनरावृत्तियों की संख्या पर निर्णय लें और प्रत्येक को एक टाइम-बॉक्स असाइन करें
प्रत्येक पुनरावृत्तियों के लिए एक थीम या उद्देश्य विकसित करें
प्रत्येक पुनरावृत्ति को सुविधाएँ निर्दिष्ट करें
Collaborate - समवर्ती सुविधा विकास
वितरित टीमों के लिए सहयोग
छोटी परियोजनाओं के लिए सहयोग
बड़ी परियोजनाओं के लिए सहयोग
Learn - गुणवत्ता की समीक्षा
ग्राहक के दृष्टिकोण से परिणाम की गुणवत्ता
तकनीकी दृष्टिकोण से परिणाम की गुणवत्ता
वितरण टीम और प्रथाओं टीम के सदस्यों के कामकाज का उपयोग कर रहे हैं
परियोजना की स्थिति
अटकलें - पहल और योजना
अनुकूली सॉफ्टवेयर डेवलपमेंट में, सट्टा चरण की दो गतिविधियाँ हैं -
- Initiation
- Planning
सट्टा में पांच प्रथाएं हैं जिन्हें दीक्षा और नियोजन चरण के दौरान दोहराव से निष्पादित किया जा सकता है। वे हैं -
- परियोजना का प्रारम्भ
- पूरे प्रोजेक्ट के लिए टाइम-बॉक्स की स्थापना
- पुनरावृत्तियों की संख्या पर निर्णय लें और प्रत्येक को एक टाइम-बॉक्स असाइन करें
- प्रत्येक पुनरावृत्तियों के लिए एक थीम या उद्देश्य विकसित करें
- प्रत्येक पुनरावृत्ति को सुविधाएँ निर्दिष्ट करें
परियोजना का प्रारम्भ
परियोजना की पहल में शामिल हैं -
- परियोजना के मिशन और उद्देश्यों को निर्धारित करना
- अड़चन समझना
- परियोजना संगठन की स्थापना
- आवश्यकताओं की पहचान और रूपरेखा
- प्रारंभिक आकार और गुंजाइश का अनुमान लगाना
- प्रमुख परियोजना जोखिमों की पहचान करना
गति के प्रमुख पहलू के रूप में विचार करते हुए, परियोजना आरंभ डेटा को प्रारंभिक JAD सत्र में इकट्ठा किया जाना चाहिए। छोटे से मध्यम आकार की परियोजनाओं के लिए या दो से तीन सप्ताह के बड़े प्रयासों के लिए दो से पांच दिन के प्रयास में पहल को पूरा किया जा सकता है।
जेएडी सत्रों के दौरान, सुविधाओं की पहचान करने और ऑब्जेक्ट, डेटा या अन्य वास्तुशिल्प मॉडल का अवलोकन स्थापित करने के लिए आवश्यकताओं को पर्याप्त रूप से इकट्ठा किया जाता है।
संपूर्ण परियोजना के लिए टाइम-बॉक्स की स्थापना
संपूर्ण प्रोजेक्ट के लिए समय-बॉक्स, गुंजाइश, फीचर-सेट आवश्यकताओं, अनुमानों और संसाधन उपलब्धता के आधार पर स्थापित किया जाना चाहिए, जो प्रोजेक्ट आरंभ करने के कार्य से उत्पन्न होता है।
जैसा कि आप जानते हैं, सट्टा लगाना अनुमान लगाना नहीं छोड़ता है, लेकिन इसका मतलब सिर्फ यह है कि अनुमान गलत हो सकता है।
Iterations और समय-बॉक्स
संपूर्ण प्रोजेक्ट स्कोप और अनिश्चितता की डिग्री के आधार पर पुनरावृत्तियों की संख्या और व्यक्तिगत पुनरावृत्ति की लंबाई पर निर्णय लें।
एक छोटे से मध्यम आकार के आवेदन के लिए -
- Iterations आमतौर पर चार से आठ सप्ताह से भिन्न होते हैं।
- कुछ परियोजनाएं दो सप्ताह के पुनरावृत्तियों के साथ सबसे अच्छा काम करती हैं।
- कुछ परियोजनाओं को आठ सप्ताह से अधिक की आवश्यकता हो सकती है।
आपके लिए क्या काम करता है, इसके आधार पर समय चुनें। एक बार जब आप पुनरावृत्तियों की संख्या और पुनरावृत्तियों की लंबाई पर निर्णय लेते हैं, तो पुनरावृत्तियों में से प्रत्येक के लिए एक शेड्यूल असाइन करें।
एक थीम या उद्देश्य विकसित करें
टीम के सदस्यों को प्रत्येक पुनरावृत्ति के लिए एक थीम या उद्देश्य विकसित करना चाहिए। यह स्क्रम में स्प्रिंट गोल के समान है। प्रत्येक पुनरावृत्ति को उन विशेषताओं का एक सेट प्रदान करना चाहिए जो उत्पाद कार्यक्षमता को प्रदर्शित कर सकते हैं जिससे ग्राहक को समीक्षा और प्रतिक्रिया को सक्षम करने के लिए उत्पाद दिखाई दे।
पुनरावृत्तियों के भीतर, बिल्डरों को एकीकरण प्रक्रिया को सक्षम करने और उत्पाद को विकास टीम के लिए दृश्यमान बनाने के लिए दैनिक रूप से काम करने की सुविधाएँ प्रदान करनी चाहिए। परीक्षण सुविधा विकास का एक निरंतर, अभिन्न अंग होना चाहिए। परियोजना के अंत तक इसमें देरी नहीं होनी चाहिए।
सुविधाएँ निर्दिष्ट करें
डेवलपर्स और ग्राहकों को एक साथ प्रत्येक पुनरावृत्ति को सुविधाएँ प्रदान करनी चाहिए। इस सुविधा असाइनमेंट के लिए सबसे महत्वपूर्ण मानदंड यह है कि प्रत्येक पुनरावृत्ति को ग्राहक को पर्याप्त कार्यक्षमता के साथ सुविधाओं का एक दृश्य सेट प्रदान करना होगा।
पुनरावृत्तियों को सुविधाओं के असाइनमेंट के दौरान -
विकास टीम को फीचर अनुमान, जोखिम और निर्भरता के साथ आना चाहिए और उन्हें ग्राहक को प्रदान करना चाहिए।
ग्राहकों को विकास टीम द्वारा दी गई जानकारी का उपयोग करके, सुविधा प्राथमिकता पर निर्णय लेना चाहिए।
इस प्रकार पुनरावृत्ति नियोजन सुविधा-आधारित है और डेवलपर्स और ग्राहकों के साथ एक टीम के रूप में किया जाता है। अनुभव से पता चला है कि इस प्रकार की योजना परियोजना प्रबंधक द्वारा कार्य-आधारित योजना की तुलना में परियोजना की बेहतर समझ प्रदान करती है। इसके अलावा, फीचर-आधारित योजना प्रत्येक परियोजना की विशिष्टता को दर्शाती है।
सहयोग Development समवर्ती सुविधा विकास
सहयोग चरण के दौरान, विकास पर ध्यान केंद्रित किया गया है। सहयोग चरण के दो कार्य हैं -
डेवलपमेंट टीम वर्किंग सॉफ्टवेयर का सहयोग और वितरण करती है।
परियोजना प्रबंधक सहयोग और समवर्ती विकास गतिविधियों की सुविधा प्रदान करते हैं।
सहयोग साझा निर्माण का एक कार्य है जो विकास टीम, ग्राहकों और प्रबंधकों को शामिल करता है। साझा रचना विश्वास और सम्मान से प्रेरित होती है।
टीमों को सहयोग करना चाहिए -
- तकनीकी समस्याएँ
- व्यापार की आवश्यकताओं
- तेजी से निर्णय लेना
अनुकूली सॉफ्टवेयर विकास में सहयोग चरण के लिए प्रासंगिक निम्नलिखित प्रथाएं हैं -
- वितरित टीमों के लिए सहयोग
- छोटी परियोजनाओं के लिए सहयोग
- बड़ी परियोजनाओं के लिए सहयोग
वितरित टीमों के लिए सहयोग
वितरित टीमों से जुड़ी परियोजनाओं में, निम्नलिखित पर विचार किया जाना चाहिए -
- सहयोगी सहयोगियों की भिन्नता
- व्यापक ज्ञान
- जिस तरह से लोग बातचीत करते हैं
- जिस तरह से वे अन्योन्याश्रय प्रबंधन करते हैं
लघु परियोजनाओं के लिए सहयोग
छोटी परियोजनाओं में, जब टीम के सदस्य शारीरिक निकटता में काम कर रहे होते हैं, तो अनौपचारिक हॉलवे चैट और व्हाइटबोर्ड स्क्रिबलिंग के साथ सहयोग को प्रोत्साहित किया जाना चाहिए, क्योंकि यह प्रभावी पाया जाता है।
बड़ी परियोजनाओं के लिए सहयोग
बड़ी परियोजनाओं के लिए अतिरिक्त अभ्यास, सहयोग उपकरण और परियोजना प्रबंधक की सहभागिता की आवश्यकता होती है और इसे प्रासंगिक आधार पर व्यवस्थित किया जाना चाहिए।
जानिए - क्वालिटी रिव्यू
अनुकूली सॉफ्टवेयर विकास 'प्रयोग और जानें' की अवधारणा को प्रोत्साहित करता है।
गलतियों और प्रयोग से सीखने के लिए आवश्यक है कि टीम के सदस्य आंशिक रूप से पूर्ण किए गए कोड और कलाकृतियों को जल्दी-जल्दी साझा करें, ताकि -
- ग़लतियाँ खोजो
- उनसे सीखो
- छोटी समस्याओं का पता लगाने से पहले उन्हें कम करें, ताकि वे बड़े हो जाएं
प्रत्येक विकास पुनरावृत्ति के अंत में, सीखने के लिए चार सामान्य श्रेणियां हैं -
- ग्राहक के दृष्टिकोण से परिणाम की गुणवत्ता
- तकनीकी दृष्टिकोण से परिणाम की गुणवत्ता
- प्रसव टीम और प्रथाओं टीम के कामकाज
- परियोजना की स्थिति
ग्राहक के दृष्टिकोण से परिणाम की गुणवत्ता
अनुकूली सॉफ्टवेयर विकास परियोजनाओं में, ग्राहकों से प्रतिक्रिया प्राप्त करना पहली प्राथमिकता है। इसके लिए अनुशंसित अभ्यास एक ग्राहक फ़ोकस समूह है। ये सत्र एप्लिकेशन के एक कामकाजी मॉडल का पता लगाने और ग्राहक परिवर्तन अनुरोधों को रिकॉर्ड करने के लिए डिज़ाइन किए गए हैं।
ग्राहक फ़ोकस समूह सत्रों को जेड सत्रों के समान सत्र की सुविधा दी जाती है, लेकिन आवश्यकताओं को उत्पन्न करने या परियोजना की योजनाओं को परिभाषित करने के बजाय, वे आवेदन की समीक्षा करने के लिए डिज़ाइन किए गए हैं। ग्राहक एक पुनरावृत्ति के परिणामस्वरूप काम करने वाले सॉफ़्टवेयर पर प्रतिक्रिया प्रदान करते हैं।
एक तकनीकी परिप्रेक्ष्य से परिणाम की गुणवत्ता
अनुकूली सॉफ्टवेयर विकास परियोजनाओं में, तकनीकी कलाकृतियों की आवधिक समीक्षा को महत्व दिया जाना चाहिए। कोड समीक्षा निरंतर आधार पर की जानी चाहिए। अन्य तकनीकी कलाकृतियों की समीक्षा, जैसे तकनीकी वास्तुकला साप्ताहिक या एक पुनरावृत्ति के अंत में आयोजित की जा सकती है।
अनुकूली सॉफ्टवेयर विकास परियोजनाओं में, टीम को समय-समय पर अपने स्वयं के प्रदर्शन की निगरानी करनी चाहिए। पूर्वव्यापी एक टीम के रूप में, अपने और अपने काम के बारे में जानने के लिए टीमों को प्रोत्साहित करते हैं।
Iteration-end रेट्रोस्पेक्टिव्स समय-समय पर टीम के प्रदर्शन की समीक्षा करते हैं जैसे कि -
- निर्धारित करें कि क्या काम नहीं कर रहा है।
- टीम को और क्या करने की जरूरत है।
- टीम को कम करने की जरूरत है।
परियोजना की स्थिति
परियोजना की स्थिति की समीक्षा आगे काम की योजना बनाने में मदद करती है। अनुकूली सॉफ्टवेयर विकास परियोजनाओं में, परियोजना की स्थिति का निर्धारण सुविधा-आधारित दृष्टिकोण है, पूर्ण किए गए विशेषताओं के अंत में काम करने वाले सॉफ़्टवेयर में जिसके परिणामस्वरूप चिह्नित हैं।
परियोजना की स्थिति की समीक्षा में शामिल होना चाहिए -
- प्रोजेक्ट कहां है?
- परियोजना बनाम योजना कहां है?
- प्रोजेक्ट कहां होना चाहिए?
जैसा कि एडेप्टिव सॉफ्टवेयर डेवलपमेंट प्रोजेक्ट्स में योजनाएं अटकलें हैं, प्रश्न 2 से अधिक, प्रश्न 3 महत्वपूर्ण है। यही है, परियोजना टीम और ग्राहकों को खुद से लगातार पूछने की ज़रूरत है, "हमने अब तक क्या सीखा है, और क्या यह हमारे दृष्टिकोण को बदल देता है जहां हमें जाने की आवश्यकता है?"