अजाईल मेथडॉलॉजी -भाग ५

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

या लेखमालेतील मागील लेख आपण येथे वाचू शकता-

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

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

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

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

मागील लेखामध्ये आपण XP या मेथडॉलॉजीतल्या काही महत्त्वाच्या तत्त्वांविषयी चर्चा केली. या लेखामध्ये आपण स्क्रम (Scrum ) या मेथडॉलॉजीविषयी पाहू.
स्क्रम (scrum)
स्क्रम हा कशाचाही short form नाही. हा शब्द रग्बी या खेळातून घेतला आहे , स्क्रमचे एका वाक्यात वर्णन करायचं झालं तर स्क्रम एक Agile Project Management Framework आहे. ज्याप्रमाणे आपल्या Architecture Framework मध्ये काही गोष्टी static (ठरलेल्या) असतात व काही भाग प्रत्येक application नुसार बदलतो, त्याचप्रमाणे या Agile Project Management Framework मधील काही भाग ठरलेला आहे व काही भाग त्या त्या Project /Product / Team / Environment नुसार ठरवण्याचा आहे. उदा. स्क्रममध्ये तीन role दिलेले आहेत; तसंच काही प्रकारच्या meetings ठरलेल्या आहेत. हा static part झाला. परंतु कोणत्याही engineering practices यामध्ये ठरलेल्या नाहीत. XP मध्ये सांगितलेल्या Engineering practices (TDD  , Refactoring वगैरे ) स्क्रममध्ये वापरता येणं शक्य असलं तरी त्या स्क्रमचा भाग नाहीत. म्हणून आपण ढोबळ मानाने याला Agile Project Management Framework म्हणू.
Project Management Framework मध्ये आपल्याला PMI , PRINCE2 वगैरे frameworks माहीत आहेत . ही Frameworks , waterfall किंवा Linear Development शी संलग्न आहेत. Agile सारख्या Iterative आणि Incremental development साठी मात्र स्क्रमसारखं वेगळं framework गरजेचं आहे.
आता आपण स्क्रम बद्दल एक Project Management Framework या दृष्टीकोनातून माहिती घेऊ . कोणतंही Project Management Framework हे who, When, how, where याबद्दल definition देते , त्याप्रमाणे स्क्रम मध्ये सुद्धा Roles , Activities आणि Artifacts दिलेले आहेत.
स्क्रममधील  Roles –
१. स्क्रम मास्टर (Scrum Master ) :
सर्वसाधारण Project मॅनेजरचा role स्क्रममध्ये स्क्रम मास्टर करतो. अर्थात Scrum Master आणि Project Manager यामध्ये बराच फरक आहे. पण आपण इतकं म्हणू शकतो की, scrum master हा Development team चा leader असतो. त्याचं काम Boss चं नसून Mentor किंवा Guide चं आहे. तो team ला बाहेरील disturbances पासून वाचवतो. तो team ची productivity जास्तीत जास्त राहण्यासाठी वातावरण निर्मिती करतो. Agile ची मुलभूत तत्त्वे पाळली जावीत, यासाठी आग्रही असतो.
२. Team :
Traditional Project Management मध्ये (Waterfall Model ) Analyst चं काम झाल्यावर Designers काम करतात , मग हे design developers / programmers ना दिलं जातं , त्यानंतर tester वगैरे . स्क्रम मध्ये ही सगळी मंडळी एकत्र येतात, एकत्र बसतात, एकत्र काम करतात. अशा team ला Cross – Functional Team म्हणतात. दुसरं म्हणजे ही team फक्त ७ +/- २ (५ ते ९ च्या दरम्यान ) इतकी लहान असते. तुह्मी म्हणाल, मोठं project फक्त ५ ते ९ लोकं develop करणार? तसं नाही, size नुसार कदाचित आपल्याला अशा अनेक लहान teams लागतील आणि त्यांच्यात काम वाटून द्यावं लागेल. आणखी एक महत्त्वाचा मुद्दा म्हणजे ही team स्वतःचे निर्णय स्वतः घेते, म्हणजे एका iteration मध्ये (ज्याला स्क्रम मध्ये स्प्रिंट Sprint म्हणतात ) किती functionality develop करायची हे team ठरवते. project च्या यशासाठी जे काही करावे लागते ते सर्व करण्यासाठी जिद्द आणि अधिकार team कडे असतात.
३. Product Owner :
आपण मागील एका लेखामध्ये पाहिलं होतं की Agile Methodology मध्ये ग्राहक (Customer ) प्रत्यक्ष सहभाग घेतो. जर functionalities एकामागोमाग एक develop करायची असेल तर काय आधी व काय नंतर हे ठरवलं पाहिजे. हे कुणी ठरवायचं? जर software develop करण्याचा उद्देश त्यापासून Business value / Returns मिळवणे असेल (नव्हे, तो तसंच असायला हवा ) तर आधी-नंतर हे Business value वर ठरवलं पाहिजे. मग Business value कुणाला नीट समजते? अर्थात Customer ला. स्क्रममध्ये Product Owner हा Customer चं प्रतिनिधित्व करतो. त्याला Business value नीट माहीत असते. तो सर्व functionalities ची प्राधान्यक्रमाने यादी करतो. त्यातूनच team आपलं काम निवडते. ही यादी सतत  प्राधान्यक्रमाने राहील याची काळजी घेण्याची जबाबदारी product owner ची असते.
प्रस्तुत लेखात आपण scrum मध्ये कोणते roles आहेत, हे पाहिलं पण ही मंडळी एकत्रितपणे project कस execute करतात , हे पुढील लेखात पाहू.

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

Leave a comment

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

Enable Google Transliteration.(To type in English, press Ctrl+g)