"म्हणून, मी तुम्हाला चपळ आणि स्क्रमबद्दल सांगू इच्छितो ."

"21 व्या शतकाच्या सुरूवातीस, प्रोग्रामिंगबद्दल लोकांचा विचार उलटा झाला होता."

"प्रत्येकाला खात्री होती की दीर्घकालीन नियोजन कार्य करत नाही, म्हणून त्यांनी ते पूर्णपणे सोडून देण्याचा निर्णय घेतला."

"त्यांनी ते कसे केले?"

"कसे हे येथे आहे."

"त्यांनी शक्य तितक्या लवचिक प्रकल्प व्यवस्थापन पद्धतीचा शोध लावला."

चपळ विकासामागील मुख्य कल्पना येथे आहेत :"

  • प्रक्रिया आणि साधनांपेक्षा लोक आणि संप्रेषण अधिक महत्वाचे आहे;
  • संपूर्ण दस्तऐवजीकरणापेक्षा कार्यरत उत्पादन अधिक महत्त्वाचे आहे;
  • कराराच्या अटींची पूर्तता करण्यापेक्षा ग्राहकाशी सहयोग करणे अधिक महत्त्वाचे आहे;
  • मूळ योजनेला चिकटून राहण्यापेक्षा बदल करण्याची इच्छा अधिक महत्त्वाची आहे.

येथे जलद विकासाची तत्त्वे आहेत:

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

"सॉफ्टवेअर डेव्हलपमेंटची मुख्य समस्या ही होती की कोणत्याही टप्प्यावर सहभागींपैकी कोणालाही काय करावे याबद्दल संपूर्ण माहिती नव्हती."

"ग्राहक तुम्हाला सांगू शकतो की तो प्रोग्रामची कल्पना कशी करतो, परंतु तो काहीतरी सोडून देईल किंवा काहीतरी गृहीत धरेल."

"व्यवस्थापकाला सामान्यत: प्रोग्रामिंग शब्दजाल पासून ग्राहकांच्या भाषेत आवश्यकतांचे भाषांतर करावे लागते आणि पुन्हा परत करावे लागते."

"खूप अनिश्चितता आहे."

"अनेकदा ग्राहकांच्या गरजा अशा असतात: ते काही प्रकारे करा, नंतर मला दाखवा - जर मला ते आवडत नसेल, तर तुम्ही ते पुन्हा करू शकता."

"अरे... हे भयानक आहे."

"नवीन प्रतिमानानुसार, प्रोग्रामर यापुढे उत्पादन किंवा प्रोग्राम विकसित करत नाहीत. त्याऐवजी, ते ग्राहकांना आवश्यक असलेल्या कार्यक्षमतेची अंमलबजावणी करत आहेत."

"फरक काय आहे?"

"ठीक आहे, समजा त्या कार्यक्रमाच्या विकासासाठी एक वर्ष लागायचे. आणि काहीही पाहण्याआधी सहा महिने निघून जावे लागतील. हे एक मोठे घर बांधण्यासारखे आहे: प्रथम, तुम्ही पायासाठी खड्डा खणता, नंतर पाया घाला, भिंती, छप्पर, ट्रिम इ. बांधा."

"पण आता प्रोग्रामर शक्य तितक्या लवकर आवश्यक कार्यक्षमता रिलीझ करण्याचा प्रयत्न करतात. हे प्रथम झोपडी, नंतर एक मोबाइल घर, नंतर एक लहान घर आणि त्यानंतरच - हप्त्याने मोठे घर बांधण्यासारखे असेल."

" ग्राहकाला कदाचित त्याला काय हवे आहे हे माहित नसावे हे लक्षात घेता, हा एक अतिशय वाजवी दृष्टीकोन आहे."

"समजा ग्राहकाला एक मोठा शिकार लॉज हवा आहे."

"विकासक त्याला एक छोटेसे घर बांधतात. तो त्यात हिवाळ्यासाठी राहतो. मग त्याने ठरवले की त्याला लाकडी घरे आवडत नाहीत. चला विटांची घरे बनवू."

"तो उन्हाळ्यात सरोवराजवळ राहतो, पण डास त्याला जिवंत खातात. तलाव थंड असतात असे त्याने कुठेतरी ऐकले होते, आणि त्यामुळे त्याला तलाव हवे होते. पण आता त्याला तलाव नको आहे. आणि ते बांधणे सोपे होईल. अशा प्रकारे घर: तलाव नाही म्हणजे पुराचा धोका नाही, आणि तुम्ही घर बांधण्याऐवजी जमिनीवर बांधू शकता, जे 25% जलद होईल."

"एक मनोरंजक साधर्म्य. ग्राहक खरोखरच त्यांच्या गरजा इतक्या वेळा बदलतात का?"

"हो, पण समस्या ग्राहकाची नाही."

"प्रथम, भविष्यात गोष्टी कशा घडतील याची कल्पना करणे खूप कठीण आहे. व्यवस्थापक, परीक्षक आणि प्रोग्रामर हे सर्व देखील तसेच करतात. गोष्टी कशा घडतात यावर अवलंबून ते त्यांचे विचार देखील बदलतात."

"दुसरे, ग्राहकाच्या गरजा सर्वात महत्त्वाच्या नसतात का?  शेवटी , या सर्व कामाचा मुद्दा ग्राहकाला जे आवश्यक आहे ते तयार करणे हा आहे , त्याने सुरुवातीला जे तयार करायचे म्हटले ते नाही ."

"खरोखर, हे असे कार्य करत असे: व्यवसाय विश्लेषक सर्व आवश्यकतांची यादी तयार करतील. ते ही यादी करारामध्ये समाविष्ट करतील, त्यावर स्वाक्षरी करतील आणि यादीनुसारच कार्य करतील."

"जर या यादीत अशी एखादी गोष्ट गहाळ झाली असेल ज्याची ग्राहकाला खरोखर गरज आहे परंतु ते विसरले असेल तर कोणीही त्याबद्दल काहीही करणार नाही."

"मी बघतो. योजना फॉलो करणं सोपं आहे, पण सगळं काही प्लॅननुसार करता येत नाही!"

"नक्की."

"म्हणूनच चपळ विकास पद्धतींचा शोध लावला गेला."

"आणि आज मी तुम्हाला स्क्रमबद्दल सांगणार आहे - त्यापैकी सर्वात लोकप्रिय.

"स्क्रमचे प्राथमिक वैशिष्ट्य म्हणजे प्रकल्पाच्या विकासाचे छोट्या पुनरावृत्त्यांमध्ये विभागणी करणे - साधारणपणे 2-4 आठवडे. प्रत्येक पुनरावृत्तीला स्प्रिंट म्हणतात."

"स्प्रिंटच्या सुरुवातीला, स्प्रिंट नियोजन बैठक आयोजित केली जाते. ती 3-4 तास चालते."

"शेवटी, सर्व पूर्ण पूर्ण झालेल्या कार्यांचे प्रात्यक्षिक आहे."

"सर्वसाधारणपणे सर्वकाही कसे कार्य करते ते येथे आहे:"

"पहिल्याच स्प्रिंटच्या आधी, ग्राहक (किंवा ग्राहकाचा प्रतिनिधी) आवश्यकतांची यादी तयार करतो, म्हणजे प्रोग्राम करू शकणार्‍या गोष्टींचा संच. या आवश्यकतांना सहसा वापरकर्ता कथा म्हणतात, आणि ग्राहक सामान्यतः उत्पादन मालकाला बोलावले ."

"त्याला उत्पादनाचा मालक म्हणतात , कारण उत्पादन त्याच्यासाठी लिहिलेले आहे. तो आणि तो एकटाच आवश्यकतांची यादी परिभाषित करतो — काय, कधी, आणि कोणत्या क्रमाने."

"याव्यतिरिक्त, उत्पादन मालक सहसा कार्य प्राधान्यक्रम नियुक्त करतो. सर्वोच्च प्राधान्य असलेली कार्ये प्रथम अंमलात आणली जातील. आवश्यकतांच्या संपूर्ण सूचीला उत्पादन अनुशेष देखील म्हणतात ."

"जेव्हा धावणे सुरू होते, तेव्हा प्रत्येकजण मीटिंगसाठी एकत्र येतो. स्क्रम मास्टर , विशेषत: संघाचा सदस्य, सहसा मीटिंगचे नेतृत्व करतो. सध्याच्या स्प्रिंट (विकासाची पुनरावृत्ती) साठी कार्ये ( वापरकर्ता कथा ) निवडणे हे मीटिंगचे ध्येय आहे. "

"प्रथम, संघ प्रत्येक कार्याला अमूर्त मानव-दिवसांमध्ये अंदाजे अंदाज नियुक्त करतो, ज्याला स्टोरी पॉईंट्स देखील म्हणतात.  मग संघ ठरवतो की स्प्रिंट दरम्यान त्यांना किती कार्ये पूर्ण करण्यासाठी वेळ मिळेल."

"पुन्हा, स्प्रिंट दरम्यान त्यांना किती कार्ये पूर्ण करण्यासाठी वेळ मिळेल हे संघच ठरवतो."

"चला असे म्हणू की, उत्पादन मालकाने संघाने पहिली 7 कार्ये निवडण्याची अपेक्षा केली होती परंतु त्याने फक्त 5 निवडली, नंतर 6 आणि 7 कार्ये पुढील स्प्रिंटसाठी पुढे ढकलली गेली आहेत. जर ते उत्पादन मालकाला अनुकूल नसेल, तर तो कार्यांचा प्राधान्यक्रम वाढवू शकतो. 6 आणि 7 ते निवडले आहेत याची खात्री करण्यासाठी, परंतु नंतर इतर काही कार्ये स्प्रिंटमधून बाहेर पडतील."

" स्क्रम मास्टर काही कार्ये लहानांमध्ये मोडण्याचा आणि उत्पादन मालकाला शक्य तितक्या आनंदी करण्यासाठी त्यांच्यासाठी भिन्न प्राधान्यक्रम सेट करण्याचा प्रस्ताव देखील देऊ शकतो."

"मीटिंगचा हाच मुद्दा आहे: कार्ये बदलली जाऊ शकतात आणि विभाजित केली जाऊ शकतात, प्राधान्यक्रम बदलले जाऊ शकतात इ. हे असे काम आहे जे सुरुवातीला दृश्यमान नव्हते, परंतु जे खूप मूल्य आणते."

"समजले. हे कार चालवण्यासारखे आहे. जरी सुरुवातीला तुम्हाला वाटत असेल की तुम्हाला फक्त सरळ जाण्याची गरज आहे, वास्तविकता अशी आहे की तुम्हाला सतत खड्डे टाळावे लागतील, उजवीकडे आणि डावीकडे जावे लागेल आणि इतरांना पास करावे लागेल किंवा त्यांना तुम्हाला जाऊ द्यावे लागेल."

"हो, असंच काहीतरी."

"स्प्रिंटसाठी निवडलेल्या कार्यांच्या यादीला स्प्रिंट बॅकलॉग म्हणतात ."

"कोण काय करायचे हे प्रोग्रामर ठरवतात आणि त्यानंतरच ते कामाला लागतात." कार्यक्षमतेत सुधारणा करण्यासाठी, स्क्रम सुचवतो की दररोज 5-15 मिनिटांची मीटिंग घेतली पाहिजे जिथे प्रत्येकजण एकमेकांना सांगू शकेल की त्यांनी काल काय केले आणि ते काय आहेत. आज करणार आहे."

"टीमवर्क. मी त्याचा आदर करू शकतो!"

"गोष्टी दृश्यमान करणे सोपे करण्यासाठी, सामान्यतः वर्तमान स्प्रिंट स्थिती विशेष बोर्डवर प्रदर्शित करण्याची शिफारस केली जाते:"

चपळ, स्क्रम, धबधबा - 2

"डावीकडील तीन स्तंभ लक्षात घ्या."

"संक्षिप्त कार्यांची नावे स्टिकी नोट्सवर लिहिली जातात. आणि स्टिकी नोट्स त्यांच्या स्थितीनुसार (नियोजित, प्रगतीपथावर, पूर्ण) वेगवेगळ्या स्तंभांमध्ये ठेवल्या जातात."

"उजवीकडे, तुम्ही बर्नडाउन चार्ट पाहू शकता . प्रत्येक दिवसासाठी, हा चार्ट अद्याप पूर्ववत राहिलेल्या कार्यांची यादी करतो. आदर्शपणे, स्प्रिंट दरम्यान अपूर्ण कार्यांची संख्या शून्यावर येते."

"स्प्रिंट संपल्यावर, स्क्रॅम-मास्टर पूर्णतः पूर्ण झालेल्या प्रत्येक गोष्टीची यादी दाखवण्यासाठी डेमो देतो ."

"मग तो स्प्रिंट रेट्रोस्पेक्टिव्ह मीटिंग घेतो , जी काही तास चालते. या मीटिंग दरम्यान, सहभागी सहसा काय चांगले झाले आणि कोणत्या (आणि कसे) गोष्टी अधिक चांगल्या केल्या जाऊ शकतात हे शोधण्याचा प्रयत्न करतात."

"सामान्यत: 2-3 स्प्रिंटनंतर, तुम्ही संघाला अधिक कार्यक्षमतेने काम करण्यापासून दूर ठेवण्याच्या मुख्य समस्या ओळखू शकता आणि त्या दूर करू शकता. यामुळे संघाचा वर्कलोड न वाढता अधिक उत्पादकता येते. चपळ पद्धतीच्या युगापूर्वी  हे शक्य नव्हते. "

"कधीकधी स्प्रिंट दरम्यान एक ग्रूमिंग मीटिंग देखील आयोजित केली जाते. पुढील स्प्रिंटची योजना करणे हा त्याचा उद्देश आहे. सहभागी सहसा या बैठकीत कार्य प्राधान्यक्रम स्पष्ट करतात. ते काही कार्ये भागांमध्ये विभाजित करू शकतात आणि/किंवा उत्पादन अनुशेषात नवीन कार्ये जोडू शकतात . "

"ठीक आहे, मुळात माझ्याकडे एवढेच आहे. हे फक्त एक विहंगावलोकन आहे. हे सर्व काही शब्दांत स्पष्ट करणे अशक्य आहे, परंतु तुम्ही या विषयावरील एक चांगला लेख येथे वाचू शकता:"

https://en.wikipedia.org/wiki/Scrum_(software_development)