CodeGym /Java Blog /अनियमित /सॉफ्टवेयर विकास के तरीके
John Squirrels
स्तर 41
San Francisco

सॉफ्टवेयर विकास के तरीके

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

झरना

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

जमघट

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

Kanban

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

सॉफ्टवेयर विकास पद्धतियों के बारे में एक अंतिम शब्द

प्रबंधन पदों पर आसीन या इच्छुक लोगों को सॉफ्टवेयर विकास पद्धतियों को अच्छी तरह से समझना चाहिए, लेकिन सभी को कम से कम मूल बातें समझने की जरूरत है। कार्यप्रणाली विकास प्रक्रिया का एक अभिन्न अंग है और इसका उपयोग न केवल आईटी क्षेत्र में किया जाता है। मेरे लेख को पढ़ने के लिए समय निकालने के लिए धन्यवाद। मुझे आशा है कि यह आपके लिए मददगार था। मैंने केवल मुख्य बिंदुओं को यथासंभव सुलभ और संक्षिप्त रूप से वर्णन करने का प्रयास किया। नतीजतन, यह लेख संपूर्ण नहीं है। मुझे इसके बारे में आपकी राय सुनकर और आपके सवालों का जवाब देकर खुशी होगी। शुभकामनाएं!
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION