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

धबधबा

धबधबा पद्धत सर्वात जुनी आहे आणि त्यात काटेकोरपणे अनुक्रमिक अंमलबजावणी समाविष्ट आहे: प्रत्येक टप्पा पुढील सुरू होण्यापूर्वी पूर्ण करणे आवश्यक आहे. दुसऱ्या शब्दांत, पुढील टप्प्यात संक्रमण म्हणजे मागील टप्प्याचे काम 100% पूर्ण झाले आहे. ते कसे कार्य करते हे चित्र दाखवते: प्रथम, आम्ही समस्येचे विश्लेषण करतो (दस्तऐवज कार्ये, आव्हानांवर चर्चा करणे), नंतर आम्ही डिझाइन करतो (या टप्प्यावर प्रकल्पाची रचना आकार घेते), आणि नंतर आम्ही कोड आणि चाचणी करतो. मागील टप्प्यांवर परत येण्याची परवानगी नाही. या दृष्टिकोनाची शिफारस लहान प्रकल्पांसाठी केली जाते जेथे आवश्यकता अगोदरच माहित असते आणि बदलण्याची शक्यता नसते. सॉफ्टवेअर डेव्हलपमेंट पद्धती - 2फायदे:
  • प्रत्येक टप्प्यावर पूर्ण आणि सातत्यपूर्ण दस्तऐवजीकरण
  • वापरणी सोपी
  • स्थिर आवश्यकता
  • बजेट आणि डेडलाइन पूर्वनिर्धारित आहेत
तोटे:
  • मोठ्या प्रमाणात कागदपत्रे
  • फार लवचिक नाही
  • क्लायंट उत्पादनाची डेमो आवृत्ती पाहू शकत नाही
  • मागे जाण्याचा पर्याय नाही

स्क्रॅम

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

कानबन

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

सॉफ्टवेअर डेव्हलपमेंट पद्धतींबद्दल अंतिम शब्द

जे लोक व्यवस्थापन पदे धारण करतात किंवा इच्छुक आहेत त्यांनी सॉफ्टवेअर डेव्हलपमेंट पद्धती पूर्णपणे समजून घेतल्या पाहिजेत, परंतु प्रत्येकाने किमान मूलभूत गोष्टी समजून घेणे आवश्यक आहे. पद्धती विकास प्रक्रियेचा अविभाज्य भाग आहेत आणि त्यांचा वापर केवळ IT-क्षेत्रातच होत नाही. माझा लेख वाचण्यासाठी वेळ दिल्याबद्दल धन्यवाद. मला आशा आहे की ते तुमच्यासाठी उपयुक्त होते. मी फक्त मुख्य मुद्दे शक्य तितक्या सुलभ आणि संक्षिप्तपणे वर्णन करण्याचा प्रयत्न केला. परिणामी, हा लेख संपूर्ण नाही. याबद्दल तुमचे मत ऐकून आणि तुमच्या प्रश्नांची उत्तरे देऊन मला आनंद होईल. ऑल द बेस्ट!