अनुकूली सॉफ्टवेयर विकास - जीवनचक्र

एडाप्टिव सॉफ्टवेयर डेवलपमेंट आरएडी प्रथाओं से विकसित हुआ है। इन प्रथाओं में टीम के पहलुओं को भी जोड़ा गया। न्यूज़ीलैंड से कनाडा तक की कंपनियों ने कई प्रकार के प्रोजेक्ट और उत्पाद प्रकारों के लिए, अनुकूली सॉफ़्टवेयर डेवलपमेंट का उपयोग किया है।

जिम हाईस्मिथ ने 2000 में एडाप्टिव सॉफ्टवेयर डेवलपमेंट प्रकाशित किया।

अनुकूली सॉफ्टवेयर डेवलपमेंट प्रैक्टिस परिवर्तन को समायोजित करने की क्षमता प्रदान करते हैं और थोड़ा योजना और सीखने के साथ विकसित होने वाले उत्पादों के साथ अशांत वातावरण में अनुकूल होते हैं।

एएसडी जीवन चक्र के चरण

एडेप्टिव सॉफ्टवेयर डेवलपमेंट इवोल्यूशनरी मॉडल की तरह चक्रीय है, जिसमें चरण नाम जटिल सिस्टम में अप्रत्याशितता को दर्शाते हैं। अनुकूली विकास जीवन चक्र के चरण हैं -

  • Speculate
  • Collaborate
  • Learn

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

अनुकूली सॉफ्टवेयर डेवलपमेंट लाइफसाइकल परिणामों पर केंद्रित है, कार्यों के लिए नहीं, और परिणामों को एप्लिकेशन सुविधाओं के रूप में पहचाना जाता है।

कल्पना करना

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

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

सहयोग करें

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

सहयोग के लिए परिणाम प्राप्त करने, ज्ञान साझा करने या निर्णय लेने के लिए संयुक्त रूप से काम करने की क्षमता की आवश्यकता होगी।

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

सीखना

परियोजना की सफलता के लिए जीवनचक्र का हिस्सा जानें महत्वपूर्ण है। टीम को अपने ज्ञान को लगातार बढ़ाना होगा, जैसे कि प्रथाओं का उपयोग करके -

  • तकनीकी समीक्षा
  • प्रोजेक्ट रेट्रोस्पेक्टिव्स
  • ग्राहक फोकस समूह

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

  • उत्पाद परिवर्तन के बारे में

  • उत्पादों को कैसे विकसित किया जा रहा है, इसके बारे में अंतर्निहित धारणाओं में अधिक मौलिक परिवर्तन

पुनरावृत्तियों को छोटा करने की आवश्यकता है, ताकि टीम बड़ी गलतियों के बजाय छोटे से सीख सके।

अटकलें - सहयोग करें - चक्र को पूरी तरह से जानें

जैसा कि आप ऊपर दिए गए स्पेकुलेट-कोलैबोरेट-लर्न चक्र से निरीक्षण करते हैं, यह स्पष्ट है कि तीन चरण अरेखीय और ओवरलैप हैं।

हम एक अनुकूली ढांचे से निम्नलिखित का पालन करते हैं।

  • सीखना के बिना सहयोग करना मुश्किल है या सहयोग के बिना सीखना।

  • लर्निंग के बिना अटकलें लगाना या बिना सट्टा सीखना मुश्किल है।

  • बिना विस्तार के अटकलें लगाना या बिना अटकल के सहयोग करना मुश्किल है।