चरम प्रोग्रामिंग और SCRUM के बीच का अंतर

Anonim

चरम प्रोग्रामिंग बनाम SCRUM | XP बनाम SCRUM

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

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

स्क्रैम क्या है?

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

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

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

अति प्रोग्रामिंग क्या है?

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

चरम प्रोग्रामिंग और SCRUM के बीच क्या अंतर है?

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

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