तुम्हाला तुमच्या बिझनेससाठी ऍप किंवा सॉफ्टवेअर बनवून घ्यायचंय?मग त्या अगोदर जाणुन घ्या थोडं याच्या डेवलपमेंट बद्दल

732 Views

जाणून घ्या ऍप डेवलपमेंटमध्ये वापरली जाणारी तत्वे

Waterfall & Agile Approach

( हे विषय सॉफ्टवेअर इंजिनिअरिंग किंवा सॉफ्टवेअर डेवलपमेंट क्षेत्रातील आहेत , थोडे किचकिट वाटू शकतात , पण यामुळेच भारतात ही इंडस्ट्री एवढी फॉर्म मध्ये आहे ) .

📌 पूर्वीचा काळ वेगळा होता,प्रत्येक इंडस्ट्री आपले रूल बनवायची, त्यांना टेस्ट करायची आणि त्या नुसार आपली काम यशस्वीपणे पार पाडायची, पण नंतर असं आढळून आलं की एका इंडस्ट्रीचे रूल दुसऱ्या इंडस्ट्रीमध्ये सुद्धा वापरता येतात, तसे जर केलं तर प्रत्येक इण्डस्ट्रीला एकमेकाच्या टेक्नीकचा जास्तीत जास्त फायदा होऊ शकतो , ज्याप्रमाणे इंजिनिअरिंगचा>>मेडिकल फिल्डमध्ये आर्टचा >> इंजिनिअरिंगमध्ये आणि कविता करणाऱ्याचं स्कील अॅड तयार करताना वापरलं कि एका इंडस्ट्रीच्या गोष्टींचा फायदा दुसऱ्या इण्डस्ट्रीला असतो.

📌 आजचा हा टॉपिक सॉफ्टवेअर इंजिनिअरिंग मधील आहे याचा वापर सॉफ्टवेअर डेव्हलपर एखादं किंवा एखादं सॉफ्टवेअर तयार करण्यासाठी करतात आपल्या ग्रुपमध्ये देखील पंकज देशपांडे यांच्यासारखे सॉफ्टवेअर डेव्हलपर आहेत , तेव्हा ते या लेखाला आणि याच्या आपलिकेशन जरा जास्त रिलेट करू शकतात .

📌 समजा एखाद्या व्यावसायिकाला आपल्या दुकानासाठी सॉफ्टवेअर किंवा बनवायचं आहे त्याची गरज घेऊन तो एखाद्या सॉफ्टवेअर डेव्हलपरकडे जातो ,तेव्हा तो सॉफ्टवेअर डेव्हलपर व्यक्ती जो आहे तो या आपल्या ग्राहकासाठी सॉफ्टवेअर डेव्हलप करून देताना ज्याप्रमाणे विचार करतो, त्याची जी विचार प्रक्रिया आहे ,तो जो अप्रोच असतो? तो आज कसं काम करतो याचा अभ्यास आपण करणार आहोत.

📌 सॉफ्टवेअर डेवलपमेंट मध्ये पुर्वी Waterfall नावाचा एक ऍप्रोच वापरला जायचा , त्याच्यामध्ये ग्राहकाला जे पाहिजे आहे? त्याची गरज एकच एकदाच घेऊन त्याच्यावर काम सुरू करून शेवटी त्याला ते दिलं जायचं.

📌 यामध्ये साधारणपणे ग्राहकाने जे काम केले ते हे योग्य आहे का याचीfeasibility आहे का ? याची स्टडी केली जायची, त्यानंतर त्याच्या गरजेचं अनालिसिस केलं जायचं, त्यानंतर त्यावर डिझाईन >> कोडींग>> युनिट टेस्टिंग>> इंटिग्रेशन>> सिस्टिम टेस्टिंग>> डेव्हलपमेंट >> करून >> डिलिव्हरी आणि सपोर्ट या पायऱ्या असायच्या.

📌 पाण्याचा धबधबा फक्त उंचावरून खाली पडतो कधीही खालून वर जात नाही, त्याप्रमाणे या सिस्टीम मध्ये सुद्धा एकदा का काम करायला घेतलं ,की पुन्हा त्याच्यामध्ये काहीही बदल किंवा एखादं नवीन ऑडिशन करायला त्रास होता.

📌 म्हणजे एकदा काम करायला चालू केलं की ते पूर्ण संपेपर्यंत वाट बघत बसावी लागायची, यामध्ये कुठेही त्या ग्राहकाला कामांमध्ये बदल किंवा काही नवीन सुधारणा सांगता येत नसत, एका स्टेप पासून पुढे गेल्यानंतर ती स्टेप परत करायला जमायची नाही पण ज्याप्रमाणे Market need बदलायला लागली , Competition वाढायला लागली , आपलं अॅप किंवा सॉफ्टवेअर तयार होईपर्यंत दुसरा व्यक्ती त्याच्या पुढचं version देऊन मोकळा होऊ लागला तेंव्हा या इंडस्ट्रीने सुद्धा नवीन ऍप्रोच घ्यायला चालू केलं आणि यांनी नवीन एक Philosophy तयार केली त्या फिलॉसॉफीला नाव आहे. AGILE .

📌 AGILE

या जगामध्ये अशा अनेक इंडस्ट्री आहेत त्या शेकडो वर्षापासून चालू आहेत, त्यांच्यामध्ये अनेक बदल झाले अनेकांनी ते घडवून आणले, परंतु सॉफ्टवेअर डेव्हलपमेंट करणे ही तुलनेने नवीन इंडस्ट्री असल्यामुळे, याच्या मध्ये देखील काही बदल घडवणे अत्यंत आवश्यक होते, म्हणून 17 लोकांच्या एका ग्रुपने एक फिलोसोफी तयार केले आणि या फिलॉसॉफीला Agile असं नाव दिलं.

– बघा समाज वरचेवर जास्तीत जास्त खुला होत आहे प्रत्येकाला अगदी शेवटच्या पॉइंट पर्यंत आपलं काम परफेक्ट हवं आहे, त्यामुळे काम करून देणारा आणि काम करून घेणारा या दोघांनाही, त्या कामात सध्या काय चालू आहे? याची माहिती असायला हवी ,अगदी शेवटच्या टोकाला सुद्धा ग्राहकाने काही बदल सुचवले तर त्याच्यात बदल घडवून आणता आले पाहिजेत, ही एक भावना त्यांच्या गरजा जाणून घेऊन हा ऍप्रोच घेतलेला आहे.

📌

Agile चा शब्दशः अर्थच होतो लवचिक ! त्यामुळे यात नियम नाहीत पण 4 values आणि 14 Principles आहेत .

📌 अनेक जणांना असं वाटतं की ही एक मेथोडोलॉजी आहे, परंतु एखाद्या गोष्टीची मेथड म्हणलं की त्याचे नियम असतात ती लवचिक असू शकत नाही, म्हणून याला मेथड म्हणत नाही तर अशी एक एक फिलॉसॉफी आहे.

📌 Agile चा सर्वात महत्त्वाचा नियम म्हणजे आपला ग्राहक अगदी शेवटच्या क्षणी येऊन सुद्धा सॉफ्टवेअर मध्ये किंवा जे काही काम करतोय त्या कामांमध्ये बदल करायला सांगू शकतो आणि आपण ते करायला पाहिजे.

सगळ्यात शेवटी पूर्ण तयार करून टेस्टींग घेण्याऐवजी Minimum viable Product ( ज्याला आपण कच्चा / पक्का प्रोङक्ट म्हणू ) त्याची टेस्ट घेतली पाहिजे .

📌 Waterfall मध्ये काय व्हायचं की ग्राहक त्याची गरज एकदाच सांगून निघून जायचा आणि डेव्हलपर त्याच्यावर सगळं काम करून शेवटी त्या ग्राहकाला फायनल उत्पादन दाखवायचा, याला वेळ पण लागायचा आणि आपलं सॉफ्टवेअर तयार होईपर्यंत मार्केटमध्ये अजून दुसऱ्या काही लोकांनी जर उत्तम केलं तर ते आपल्या वर्जन मध्ये यायचं नाही.

📌 त्याच्यामुळे आज काल ची ग्राहक आणि डेव्हलपर यांच्यामध्ये समन्वय साधत साधत उत्पादन घडवायची प्रोसेस अवलंबली जाते, याच्या प्रोटोकॉल मध्येच सांगितलेला आहे की ग्राहकाने अधून-मधून येऊन आपल्या प्रॉडक्ट कसा तयार होतोय? हे बघायचं आहे आणि डेव्हलपर नही सुद्धा अधेमध्ये त्याची टेस्टिंग घेऊन त्याच्यावर चर्चा घडवून आणून ग्राहकावर संवाद साधून त्याला त्याचा प्रॉडक्ट कसा बनतोय हे दाखवायच आहे.

📌 ऍक्च्युली ज्या लोकांनी ही फिलॉसॉफी मांडले त्यांनी काही पुस्तक लिहिलं नाही किंवा अजून कुठल्या फार मोठं नियम अथवा कायदे कानून करून दिले नाहीत त्यांनी साधा एक मेनीफेस्टो दिला आहे त्याच्यामध्ये त्यांनी 4 values आणि 12 Principles सांगितले आहेत .

जे मूळ स्वरूपामध्ये पुढील वेबसाइटवर उपलब्ध आहेत

www.Agilemenifesto.org

📌 लेख फार मोठा न करिता मी या Agile Philosophy मधील चार प्रिसिपल्स सांगतोय ते लक्षात घ्या

(1) individuals and interactions over process and Tools :

था मध्ये लोक सांगतात की प्रोसेस किंवा या दोन गोष्टींना महत्त्व न देता वैयक्तिक डेव्हलपर आणि ग्राहक यांच्या दोघा दरम्यान होणाऱ्या संवादाला जास्त महत्त्व दिले पाहिजे.

(2) Focus on working software than Documentation :

हे तत्व आपल्या हा उपयोगाचं आहे, त्याच्यामध्ये सांगितलं जातं की, आपल्याला काम करणार सॉफ्टवेअर द्यायचं आहे त्याच्या संदर्भात भाराभर डॉक्युमेंटेशन करायचं नाही ,,त्यामुळे
MVP तयार करा त्याची टेस्ट घ्या आणि नंतर अजून त्याच्यावर काम करायला चालू करा.

(3) Customer collaberation over Contract Negotiation

_या प्रिन्सिपल मध्ये असं सांगितलं गेलं आहे की जेव्हा आपण एखाद्या कॉन्ट्रॅक्ट करतो तेव्हा त्या कॉन्ट्रॅक्ट प्रभाव आपल्यावर असतो आणि त्या तणावाखाली आपण काम करतो, पण इथे आपल्याला ग्राहकांबरोबर सहयोगCollaberation करून काम करायचं आहे त्यामुळे काम उत्तम प्रकारचं होतं_

(4)Responds to change over Planning a plan;

_एखादी गोष्ट आपल्याला ज्या वेळी करायची असते ,त्यावेळी आपण बहुतेक वेळा प्लान बनवतो आणि त्या मुलांच्या अनुरूप काम करत ते पूर्ण करतो, पण मध्येच जर आपल्याला या प्लान मध्ये काही बदल घडवायचे असतील ,तर मात्र बहुतेक लोकांची चिडचिड होते ,पण इथे असं सांगितलं गेलं आहे की सॉफ्टवेअर डेव्हलपमेंट क्षेत्रामध्ये यामध्ये सतत बदल समाविष्ट करून घेतलं गेले पाहिजेत तरच आपण Agile वर काम करतोय असं मानलं जाईल .

KANBAN,KAIZEN ,5S ,standup Meeting या सर्वांचा वापर या Agile Philosophy वापरून ऍप डेवलपमेंट किंवा सॉफटवेअर मधे होतो .

मी काय म्हणतो,सुत्र कोणत्याही इंडस्ट्रीतले असू दे ना ! आपल्याला थोडं जरी कळलं तरी पुष्कळ आहे.

थोडासा अभ्यास करा आणि स्वतःच्या बिझनेस मध्ये वापरा !

शुभेच्छा !

निलेश काळे
उद्योगनिती बिझनेस कन्सलटंटस
आनंद पार्क, औंध ,पुणे.
9518950764
Office :
ओमकेश मुंडे सर : 9146101663

Previous Post Next Post

Leave a Reply

Your email address will not be published. Required fields are marked *