इस लेख में मैं टीम में सॉफ्टवेयर निर्माण प्रक्रिया के संगठन का अवलोकन देता हूं जिसमें मैं काम करता हूं। मेरा लक्ष्य विकास टीम के विकास और प्रबंधन के अनुभव को साझा करना है।
परियोजना पर काम की प्रक्रिया को व्यवस्थित करने के लिए, हमने लोकप्रिय स्क्रैम पद्धति को चुनने का फैसला किया। आंशिक रूप से यह फैशन के लिए एक श्रद्धांजलि है, आंशिक रूप से इंटरनेट पर प्रकाशनों की एक बड़ी संख्या "थीम सब कुछ हमारे लिए!"।
स्क्रम में क्या भूमिकाएँ हैं
सॉफ्टवेयर विकास आमतौर पर कहां से शुरू होता है? इस विचार से: “अगर मैं किसी तरह का सॉफ्टवेयर बनाता तो कितना बढ़िया होता। यह सिर्फ सुपर होगा! ”जो व्यक्ति टीम पर इस विचार का प्रतिनिधित्व करेगा, उसे प्रोडक्ट ओनर (पीओ) या प्रोडक्ट ओनर कहा जाता है। एक उत्पाद स्वामी वह है जो उत्पाद का लक्ष्य देखता है या जो सोचता है कि वह उत्पाद का लक्ष्य देखता है, लेकिन क्या मायने रखता है कि वह इसे तैयार कर सकता है और इसे प्राप्त करने की दिशा में आगे बढ़ना शुरू कर सकता है। वह अपनी इच्छा (विशलिस्ट) की सूची के रूप में लक्ष्य बनाता है। इस सूची को उत्पाद बैकलॉग आइटम (PBI) कहा जाता है। बाजार पर या उत्पाद स्वामी की बढ़ती भूख के आधार पर इसे लगातार संशोधित किया जा रहा है।
टीम। स्क्रम के अनुसार, यह माना जाता है कि सबसे बड़ी विकास दक्षता हासिल की जाती है यदि टीम खुद तय करेगी कि यह लक्ष्य की ओर कैसे बढ़ेगा। इसलिए, टीम के लिए मुख्य आवश्यकता - यह स्व-आयोजन और स्व-शासन होना चाहिए। इस आवश्यकता को अकेले प्रदान करें, और यह परियोजना की सफलता के लिए पर्याप्त होगा। चूंकि आवश्यकता गंभीर है, इसलिए स्क्रैममास्टर की भूमिका को टीम में पेश किया जाता है, जो यह सुनिश्चित करता है कि स्क्रम के नियमों का सम्मान किया जाए।
स्प्रिंट क्या है और इसकी आवश्यकता क्यों है
ProductOwner ने अपने लक्ष्य को एक निश्चित बिंदु B के रूप में तैयार किया, जिसे आपको बिंदु A से शुरू करके प्राप्त करने की आवश्यकता है। लेकिन बिंदु B एक बिंदु नहीं है कि आप इसके और बिंदु A के बीच एक सीधी रेखा खींचकर पहुँच सकते हैं। वास्तव में, बिंदु B एक पड़ोस है। अंक, और इसकी त्रिज्या अलग-अलग हो सकती हैं।

इस पड़ोस में जाने के लिए, छोटे चरणों में सॉफ़्टवेयर विकसित करना सबसे अच्छा है (या दौड़ में अधिक सटीक रूप से): स्प्रिंट। स्प्रिंट के अंत में, हर कोई मूल्यांकन करता है कि क्या होता है और आंदोलन की दिशा को समायोजित करता है। ProductOwner को हमेशा पता होता है कि उसके विचारों को सही ढंग से समझा जाता है (और यदि नहीं, तो इसे अगले स्प्रिंट पर पहले से ही सही किया जा सकता है), और शांत है। टीम जानती है कि वे क्या कर रहे हैं और अपने काम से संतुष्ट हैं।
स्प्रिंट टास्क लिस्ट कैसे बनाई जाती है
टीम स्प्रिंट 2 सप्ताह तक रहता है। एक हफ्ते के लिए, कुछ भी नहीं किया जाता है, एक महीने के लिए सब कुछ भूल जाता है। इसलिए, 2 सप्ताह हमारे लिए सबसे अच्छा विकल्प है। स्प्रिंट के पहले दिन की योजना बना रही है। शुरुआती चरणों में, योजना को 2 दिन भी लगे। नियोजन एक ऐसी प्रक्रिया है जिसमें एक टीम आवश्यकताओं की सूची से सर्वोच्च प्राथमिकता लेती है और इसे उन कार्यों में तोड़ देती है जो परिणाम प्राप्त करने की अनुमति देते हैं। प्रत्येक कार्य को घंटों में रेट किया जाता है। यह सलाह दी जाती है कि कार्य 4 घंटे से अधिक न करें। यदि टीम का कोई सदस्य कहता है कि वह 5 दिनों में कार्य पूरा कर लेगा, तो उसे पता नहीं है कि क्या करने की आवश्यकता है।
प्रत्येक व्यक्ति के लिए स्प्रिंट में कुल घंटे की गणना इस तथ्य से की जाती है कि स्प्रिंट 2 सप्ताह या 10 कार्य दिवसों तक रहता है। यह नियोजन के लिए एक दिन में 80 घंटे है। कुल 72 घंटे। लेकिन यह एक सही घड़ी है। इसका मतलब है कि एक व्यक्ति किसी भी चीज से विचलित नहीं होता है, न खाता है, न पीता है, न अपनी जगह से उठता है, बल्कि केवल काम करता है और थकता नहीं है। नियोजन के दौरान, कार्यों का मूल्यांकन आदर्श घंटों में किया जाता है। लेकिन यह 72 घंटे नहीं है, बल्कि 72 घंटे एक व्यक्ति के लिए गुणा, एक निश्चित गुणांक जिसे टीम उत्पादकता कहा जाता है, से गुणा किया जाता है। यह आमतौर पर 0.5 है। आश्चर्यजनक रूप से, यह किसी प्रकार का जादू नंबर है, यह उसके साथ था कि पूरे स्प्रिंट सफलतापूर्वक आत्मसमर्पण करते हैं। महान में से किसी ने कहा: "उस समय को लें, जिसे डेवलपर ने आपके लिए बुलाया है, इसे दो से गुणा करें और थोड़ा और जोड़ें और उस समय की अवधि प्राप्त करें जिसके लिए प्रोग्रामर आपको परिणाम देगा।" और यह वास्तव में है।
स्क्रैम में कई सिफारिशें हैं कि कलाकार किसी कार्य के लिए समय का अनुमान कैसे लगाता है। उदाहरण के लिए, पोकर खेलें। लेकिन हम पाप नहीं करते। वे जो भी कहते हैं, लेकिन अगर किसी ने कुछ मॉड्यूल करना शुरू कर दिया, तो वह स्प्रिंट से स्प्रिंट तक इसका निर्माण जारी रखेगा। और केवल वह अनुमान लगा सकता है कि कार्य को पूरा करने के लिए उसे कितना समय चाहिए। केवल वही जो उसे अतिरंजित होने से रोक सकते हैं, वह है उसकी अंतरात्मा (स्व-संगठन के बारे में याद रखना) और स्क्रेममास्टर।
कैसे सत्यापित करें कि ProductOwner की आवश्यकता पूरी हो गई है
आवश्यकताओं की एक सूची है। लेकिन यह कैसे जांचें कि यह आवश्यकता विकास के दौरान हासिल की गई थी या नहीं? ऐसा करने के लिए, आपको परीक्षण लिखने की आवश्यकता है जो विस्तार से वर्णन करेगा कि आवश्यकता की उपलब्धि पर क्या विचार किया जाए। सीधे शब्दों में कहें तो वे बताते हैं कि किस बटन को दबाना है, और क्या होता है। विश्लेषक टीम में परीक्षण लिखते हैं। और ये परीक्षण उस समय तक तैयार रहना चाहिए जब अगला स्प्रिंट लॉन्च किया गया हो। विश्लेषकों और डिजाइनरों की हमारी टीम 1 स्प्रिंट द्वारा विकास टीम के आगे काम कर रही है।

मुख्य आवश्यकता यह है कि परीक्षण बहुत विस्तृत होना चाहिए।
स्प्रिंट के दौरान क्या होता है
स्प्रिंट निष्पादन की प्रक्रिया शुरू होती है। इसका मुख्य लक्ष्य यह सुनिश्चित करना है कि आवश्यकताओं के लिए प्रस्तुत परीक्षण स्प्रिंट के अंत तक पूरा हो जाए।
लक्ष्य की ओर टीम के एकजुट आंदोलन के लिए, स्क्रैम दैनिक रैलियां करने का सुझाव देता है। एक रैली तब होती है जब हर कोई एक मार्कर के साथ ब्लैकबोर्ड पर खड़ा होता है, जो उसने कल किया था उसे पार करता है और लिखता है कि वह आज क्या करने जा रहा है।

यह एक बहुत शक्तिशाली अभ्यास है। उसके लिए धन्यवाद, हर कोई जानता है कि परियोजना पूरी तरह से कहां जा रही है। इसके अलावा, जब कोई व्यक्ति बताता है कि वह आज क्या करेगा, तो वह स्वचालित रूप से अन्य प्रतिभागियों के साथ अपने कार्यों का समन्वय करता है। अन्य प्रतिभागी समस्या का सबसे अच्छा समाधान तुरंत प्रस्तुत कर सकते हैं। और बोर्ड पर लिखा कार्य, और वास्तव में यह उनके सभी सहयोगियों के लिए एक वादा है, बहुत अच्छी तरह से खुद कलाकार को प्रेरित करता है। स्करममास्टर को केवल यह घोषणा करना नहीं भूलना चाहिए कि रैली शुरू हो गई है।
खड़े होने और 15 मिनट से अधिक नहीं चलने पर रैलियों को अधिमानतः आयोजित किया जाना चाहिए। हम सुबह 9 बजे रैलियां शुरू करते हैं।
स्प्रिंट के अंत में क्या होता है
स्प्रिंट का लंबे समय से प्रतीक्षित अंत आता है, आमतौर पर यह शुक्रवार शाम 4:00 बजे होता है, और टीम स्प्रिंट को उत्पाद स्वामी और उन सभी को पारित करती है जो उत्पाद में रुचि रखते हैं। हर कोई उन कार्यों पर रिपोर्ट करता है जो उन्होंने प्रदर्शन किया था और इस बारे में बात करते हैं कि उन्होंने क्या सफलता प्राप्त की, और उन कारणों को भी बताया जो वे लक्ष्य हासिल करने में असफल रहे। स्प्रिंट को स्थगित करने का मुख्य नियम कभी नहीं है।
स्प्रिंट पास करने के बाद कभी-कभी एक विश्लेषण किया जाता है कि कुछ क्यों हो रहा है या नहीं हो रहा है, और स्थिति को सही करने के लिए क्या किया जाना चाहिए।
और सोमवार को सब कुछ फिर से दोहराता है।
संचित अनुभव
हमने अपने लिए कई नियम विकसित किए हैं, गैर-पालन जिसके कारण स्प्रिंट की विफलता हुई:
• स्प्रिंट को विस्तार से नियोजित किया जाना चाहिए, इसे बख्शा नहीं। यदि आवश्यकताओं में से कोई भी स्पष्ट नहीं है, तो आवश्यकता को स्पष्ट करने की आवश्यकता है। यदि ऐसा नहीं किया जा सकता है, तो कार्य को स्प्रिंट में लेना आवश्यक नहीं है, लेकिन संशोधन के लिए आवश्यकता भेजें।
स्प्रिंट के बाहर जाने वाले अतिरिक्त कार्यों को लेने के लिए किसी भी परिस्थिति में नहीं। और अगर आप अभी भी "लगाए गए" हैं, तो उत्पाद मालिक से सहमत हैं कि स्प्रिंट से अन्य कार्यों को हटा दिया जाएगा।
• टीम में लोगों की संख्या 5-6 लोगों से अधिक नहीं होनी चाहिए। जब हमारी टीम 16 लोगों की हो गई, तो रैली 2 घंटे के लिए बाहर निकलना शुरू हुई। हम सभी के लिए एक निश्चित प्रदर्शन समय में प्रवेश करते हैं और स्टॉपवॉच के साथ खड़े होते हैं। लेकिन तब आदमी के पास अपने विचार व्यक्त करने का समय नहीं था, और रैली एक औपचारिकता में बदल गई। इसलिए हम बस अलग हो गए। पहले तो वे ग्राहकों और परमाणु इंजीनियरों में विभाजित थे, और फिर वे कार्यों के अनुसार साझा करने लगे। यानी प्रत्येक टीम अपनी विशेषता बनाती है, और इस उप-क्षेत्र में ग्राहक और परमाणु विशेषज्ञ दोनों होते हैं। यह दृष्टिकोण अभी भी उपयोग किया जाता है, और हमारे लिए यह सबसे प्रभावी है।
निष्कर्ष
स्क्रम आगे बढ़ना शुरू करने के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है। इस प्रक्रिया में, कुछ नियम अनावश्यक के रूप में विकसित या गायब हो सकते हैं। यह टीम, टीम के रिश्तों और खुद के जीवन से तय होगा। लेकिन स्क्रम के आधार पर जो नियम बनाए जाएंगे, वे वांछित परिणाम प्राप्त करने के लिए टीम के लिए एक अच्छे स्प्रिंगबोर्ड के रूप में काम करेंगे।
हम कौन हैं?
मैं जिस टीम के लिए काम करता हूं, उसे यूनिकलाड लैब्स कहा जाता है। यह दिलचस्प लोगों की एक अनुकूल टीम है, वास्तव में उनकी नौकरी के लिए निहित है।
वारिकोव एंड्रे
वाव्रेUniclaud Labs LLC के तकनीकी निदेशक
यदि आप रुचि रखते हैं कि हम क्या करें -
स्वागत है