अजाईल मेथडॉलॉजी – भाग १

ही लेखमालिका अतिथी लेखक श्री. प्रशांत पुंड खास टेक मराठीसाठी लिहित आहेत. प्रशांत हे सॉफ्टवेअर मेथडॉलॉजीज, SDLC या संदर्भात कन्सलटंट आणि मेंटर म्हणून काम करतात.  आतापर्यंतच्या त्यांच्या २५ वर्षाच्या करीयरमधे  त्यांनी अनेक कंपन्यांमधे एक्झिक्युटीव पदावर जबाबदारी पार पाडली आहे. आजवर  त्यांनी ७५ हून अधिक कंपन्यांमधे ४०० हून अधिक ट्रेनिंग सेशन्स घेतली आहेत. सध्या अजाईलसॉफ्ट  मेथडॉलॉजीज ही स्वत:ची कंपनी  स्थापन करून CEO या पदावर कार्यरत आहेत. अजाईलसॉफ्ट  मेथडॉलॉजीज ही कंपनी सॉफ्टवेअर मेथडॉलॉजीज, आय. टी. सिक्युरीटी, SDLC या संदर्भात ट्रेनिंग व कन्सलटन्सी या सेवा पुरविते.

सध्या “अजाईल” हा शब्द अगदी परवलीचा झाला आहे. बर्‍याच कंपन्यांमधे अजाईल मेथडॉलॉजी वापरली जाते. हे नेमकं काय आहे याचा मागोवा या लेखमालेत आपण घेणार आहोत.

मेथडॉलॉजी म्हणजे नेमकं काय?

बर्‍याच वेळेला आपल्याला मेथड (Method), प्रोसेस(Process) आणि मेथडॉलॉजी (Methodology) असे वेगवेगळे शब्द दिसतात. खर्‍या अर्थाने या शब्दांमधल्या फरकांबाबत एक स्वतंत्र लेख लिहिता येईल. सध्या तरी आपण फारसा शैक्षणिक किंवा तात्विक विचार न करता आपल्याला उपयोगी पडेल असा मेथडॉलॉजीचा अर्थ पाहू.

सॉफ्टवेअर तयार करताना डिझाईन, कोडिंग, टेस्टींग अशा अनेक क्रिया कराव्या लागतात. या क्रिया कोणत्या क्रमाने, कोणी व कशा करायच्या याचे ढोबळमानाने वर्णन केले तर ते वर्णन म्हणजे मेथडॉलॉजी होय. अर्थात मी आधी म्हटल्याप्रमाणे ही काही शास्त्रीय व्याख्या नाही.

तर मेथडॉलॉजीमधे खालील तीन घटकांचा संबंध येतो.

१. भूमिका (Role)

2. क्रिया (Activity)

3. क्रियेत वापरले जाणारे किंवा क्रियेतून निर्माण होणारे आर्टिफॅक्ट्स(Artifacts)

या तीन घटकांचा परस्पर संबंध सुनिश्चित करणे म्हणजे मेथडॉलॉजी.

१९७० च्या सुमारास विन्स्टन रॉईस यांनी एका पेपरमधे Waterfall Model ची कल्पना मांडली. खरं तर त्या पेपरचा उद्देश Waterfall Model सुचविण्याचा नव्हता. पण तरीही Waterfall Model वापरण्याची सुरूवात झाली. Analysis -> Design-> Coding-> Testing या क्रमाने सॉफ्टवेअर तयार करायला सुरूवात झाली. सॉफ्टवेअर कंपन्यांनी या Waterfall Methodology वर आधारीत प्रोसेस (Process) तयार केल्या. पुढे पुढे यामधे लोकांना त्रुटी जाणवू लागल्या. मोठ्या मोठ्या प्रोजेक्ट्ससाठी ही मेथडॉलॉजी फारशी उपयुक्त नसल्याचे जाणवले. जवळजवळ एका दशकाच्या काळानंतर (विन्स्टन रॉईसच्या पेपर्नंतर) डॉ. बॅरी बोहमच्या Spiral Model ने आणि आणखी काही तत्कालीन मॉडेल्सने मेथडॉलॉजीबाबत वेगळे विचार मांडले. पुढे आयव्हर जेकबसनच्या Objectory आणि नंतर Unified Process ने Waterfall Model आधारीत वेगळ्या मेथडॉलॉजीज मांडल्या.

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

मेथडॉलॉजीज आणि प्रोसेस यांचा परस्पर संबंध कंपन्यांमध्ये तयार झाला होता. Process Manual मध्ये कुणी, केव्हा, काय करायचं याचे नियमच लिहून ठेवले जाऊ लागले; मग ती मेथडॉलॉजी Waterfall असो किंवा आणखी कुठली. हळू हळू या प्रोसेस, क्वालिटी प्रोसेस म्हणून ओळखल्या जाऊ लागल्या. CMMI आणि ISO Model ने सॉफ्टवेअर कंपन्यांचा ताबा घेतला. ज्याची प्रोसेस चांगली त्याचे प्रोडक्ट चांगले असा विचार पुढे आला. जो तो आपली प्रोसेस अधिकाधिक घट्ट व कोणत्याही चुकीला वाव नसावा अशा बेताने ठरवू लागला. कंपनीतील काम करणारे डेव्हलपर्स, टेस्टर्स हे एखाद्या यंत्राप्रमाणे प्रोग्रॅम केल्यासारखे ही प्रोसेस पाळू लागले, किंबहूना तेच अपेक्षित होते.

कधी कधी तर माणसांसाठी प्रोसेस की प्रोसेससाठी माणसं, असा प्रश्न निर्माण होऊ लागला. या मेथडॉलॉजी आणि प्रोसेसच्या चक्राकडे काही लोक मात्र अभ्यासूपणे पाहत होते आणि नवनविन प्रयोग करीत होते. केंट बीक, ऍलिस्टर लॉकबर्न, केन श्वॉबर, जेफ सदरलॅंड  इ. लोकांनी वेगवेगळ्या मेथडॉलॉजीज मांडल्या. प्रोसेसमध्ये लवचिकता यावी, असा आग्रह धरला. या मेथडॉलॉजीज, लाईटवेट मेथडॉलॉजीज म्हणून ओळखल्या जाऊ लागल्या; ज्यांनाच पुढे अजाईल मेथडॉलॉजीज असं नाव पडलं.

पुढील लेखात आपण या अजाईल मेथडॉलॉजीजच्या मूल तत्वांविषयी जाणून घेऊ.

अजाईल मेथडॉलॉजी – भाग २

अजाईल मेथडॉलॉजी – भाग ३

अजाईल मेथडॉलॉजी – भाग ४

श्री. प्रशांत पुंड यांना येथे संपर्क करू शकता –
Linked In: http://www.linkedin.com/pub/dir/Prashant/Pund/
Blog : http://pundprashant.wordpress.com/
E-mail: prashant.pund at agilesoft.in

लेखक पल्लवी

मी सॉफ्टवेअर डेव्हलपर म्हणून कार्यरत आहे. तसेच टेक मराठी व कृष्णा इनफ़ोसॉफ्ट यांची सहसंस्थापक आहे. मुख्यत: डॉट नेट टेक्नॉलॉजीवर काम करते. ट्विटर_अकाउंट, माझा_मराठी_ब्लॉग, माझा_ब्लॉग

2 thoughts on “अजाईल मेथडॉलॉजी – भाग १”

  1. नमस्कार,
    नुकताच मी अजाइल मेथड संबंधात वाचन करत होतो, आणि अधिक जाणण्याची उत्सुकता होती. आपला लेख मला मदत करेल. धन्यवाद.

प्रतिक्रिया व्यक्त करा

आपला ई-मेल अड्रेस प्रकाशित केला जाणार नाही. आवश्यक फील्डस् * मार्क केले आहेत