जब हम माइक्रोसिस्टवर्क वास्तुकला के बारे में बात करते हैं, तो स्वायत्त का एक सेट, व्यावहारिक रूप से एक-दूसरे से स्वतंत्र, घटक हमारी आंखों के सामने दिखाई देते हैं। इन्सुलेशन किसी भी माइक्रोसिस्ट सेवा की आधारशिला है। लेकिन, यहां तक कि अगर हम माइक्रोसर्विस बनाने की हमारी क्षमता में आश्वस्त हैं, तो सवाल उठता है - इस तरह के कार्य के लिए संगठन संरचना कैसे तैयार है? क्या हम माइक्रोसर्विसेज की क्षमताओं और सीमाओं को भुनाने में सक्षम हैं? इस वास्तुकला के साथ सफलतापूर्वक काम करने के लिए टीमों को कैसे अनुकूलित करें? इस लेख में, हम एक microservice प्रणाली विकसित करने के संगठनात्मक पहलू पर चर्चा करने का प्रयास करेंगे।
पारंपरिक दृष्टिकोण
बड़े व्यापारिक निगमों को ऐतिहासिक रूप से कार्यात्मक इकाइयों के एक समूह के रूप में आयोजित किया गया है: वित्तीय, विपणन, परिचालन, एचआर और इतने पर। व्यावसायिक प्रक्रियाओं के डिजिटल स्वचालन की आवश्यकता ने कंपनी को एक और कार्यात्मक इकाई बनाने के लिए प्रेरित किया है - आईटी विभाग। बदले में, आईटी विभाग को बाद में प्रोग्रामरों, परीक्षकों, सिस्टम प्रशासकों की कार्यात्मक टीमों में विभाजित किया गया था - ज्ञान और कार्यों के एक निश्चित सेट के साथ विशेषज्ञों के समूहों के संयोजन के सिद्धांत द्वारा। संगठनात्मक सोच का पैटर्न काफी स्पष्ट रूप से देखा जाता है। और इसकी स्थिरता प्रबंधन प्रभावशीलता के विश्लेषण के प्रयासों में अनिच्छा के साथ नहीं, बल्कि प्रक्रियाओं की महान जड़ता और स्पष्ट चुनौतियों की अनुपस्थिति से जुड़ी है जो संगठन की सफलता को खतरे में डालती है।
हालांकि, कर्मियों के अपने कार्यों के अनुसार अलगाव अनिवार्य रूप से टीमों के बीच एक दूरी बनाता है। जब सॉफ़्टवेयर परीक्षण परीक्षकों की एक अलग टीम द्वारा किया जाता है, तो डेवलपर्स केवल कोड लिखने पर ध्यान केंद्रित करते हैं और इसकी परीक्षणशीलता के बारे में बहुत कम ध्यान रखते हैं। नतीजतन, सॉफ्टवेयर उत्पाद के विनिर्देशों में कई विचलन हैं और इससे भी बदतर, टीमें धीरे-धीरे अलग-अलग हो रही हैं।
नोट: एक साइलो मानसिकता शेयर करने की अनिच्छा है।
एक ही संगठन के अन्य इकाइयों के कर्मचारियों के साथ जानकारी। यह
व्यवहार अक्सर संगठनात्मक प्रभावशीलता में कमी की ओर जाता है और, सबसे खराब
मामला कॉर्पोरेट संस्कृति के विनाश की ओर जाता है।इसके अलावा, कड़ाई से कार्यात्मक इकाइयों में, निर्णय लेने की प्रक्रिया अनिवार्य रूप से धीमी हो जाती है। टीम वर्क शेड्यूल के समन्वय की लागत बढ़ रही है। उदाहरण के लिए, एक ही परीक्षक की योग्यता और अनुभव, विकास टीमों द्वारा आवश्यक बारीकियों को ध्यान में रखते हुए निरंतर संतुलन की आवश्यकता होती है। हां, और एक उच्च प्रविष्टि सीमा और ज्ञान हस्तांतरण की आवश्यकता प्रक्रिया को धीमा कर देती है: बाहरी विशेषज्ञों को विभिन्न टीमों से अनुरोधों को पूरा करने के लिए कार्य संदर्भ के निरंतर स्विचिंग की आवश्यकता होती है।
इस प्रकार, जब एक पारंपरिक संगठनात्मक संरचना वाली कंपनियों को व्यवसाय से आने वाली चुनौतियों के लिए लगभग तात्कालिक प्रतिक्रिया की आवश्यकता का सामना करना पड़ा, तो उनके आईटी विभाग समाधान की प्रभावशीलता सुनिश्चित करने में असमर्थ थे। प्रौद्योगिकी के तेजी से विकास ने केवल इस अंतराल को तेज कर दिया और समर्पित विकास कार्य के लिए प्रेरणा और व्यावसायिकता के आवश्यक स्तर को बनाए रखने के कार्य को जटिल बना दिया। और चूंकि आईटी का मुख्य उद्देश्य था और प्रभावी ढंग से स्टैंड-अलोन उत्पादों (माइक्रोसर्विस सहित) के पूर्ण जीवन चक्र को सुनिश्चित करना, क्षैतिज रूप से उन्मुख कार्यात्मक टीमों से खड़ी उन्मुख, आत्मनिर्भर और स्वायत्त टीमों में टीमों को पुनर्गठित करने की आवश्यकता स्पष्ट थी।
क्रॉस फंक्शनल कमांड
विकिपीडिया के अनुसार, एक क्रॉस-फ़ंक्शनल टीम विभिन्न कार्यात्मक कार्यों वाले लोगों का एक समूह है और एक सामान्य लक्ष्य की दिशा में काम कर रहा है। आज के कारोबार में, नवाचार एक प्रमुख प्रतिस्पर्धी लाभ है। क्रॉस-फ़ंक्शनल टीमें रचनात्मक सहयोग के माध्यम से नवाचार को बढ़ावा देती हैं - दोनों टीम के भीतर और संगठन में अन्य टीमों के साथ।
चित्रा 1. कार्यात्मक और पार कार्यात्मक टीम।क्रॉस-फ़ंक्शनल माइक्रोसेवा डेवलपमेंट टीम में डेवलपर्स, डेटाबेस इंजीनियर, परीक्षक, इंफ्रास्ट्रक्चर इंजीनियर और अन्य विशेषज्ञ होते हैं। ऐसी टीमें कार्यात्मक लोगों की तुलना में तेजी से संशोधन करती हैं, क्योंकि वे अपने निर्णय ले सकते हैं और अन्य टीमों के स्वतंत्र रूप से काम कर सकते हैं। विकास चक्र के समय में सुधार और निरंतर तैनाती को लागू करने पर ध्यान केंद्रित करके, ये टीम समस्याओं को लगभग तुरंत हल करने में सक्षम हैं।
कारमैक्स के आईटी निदेशक शमीम मोहम्मद कहते हैं: “तेजी से विकसित हो रही दुनिया में, लचीली, क्रॉस-फंक्शनल उत्पाद टीम बनाना महत्वपूर्ण है जो किसी समस्या के समाधान के माध्यम से जल्दी से हल कर सकें। वे सभी आवश्यक शक्तियों से संपन्न हैं और प्रबंधन उन्हें कभी नहीं बताता है कि समस्या को कैसे हल किया जाए, लेकिन केवल इसमें क्या शामिल है और प्रमुख प्रदर्शन संकेतक हैं जिनके साथ काम करना है। यह दृष्टिकोण आपको प्रतिक्रिया में सुधार करने, विकास प्रक्रिया में तेजी लाने, परीक्षण और त्रुटि का उपयोग करने और अंततः ग्राहकों और भागीदारों के लिए सबसे अच्छा समाधान खोजने की अनुमति देता है। हमने यह भी पाया कि टीमें अपने लक्ष्यों को प्राप्त करने में जोखिम और रचनात्मक रूप से अधिक तर्कसंगत हैं। यदि आपके पास ऐसी पूरी तरह से एकीकृत टीम नहीं है, तो एक नज़र डालें और सोचें, क्या आप एक सफल डिजिटल परिवर्तन के लिए तैयार हैं? ”
मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी और डेलॉयट ग्लोबल ह्यूमन कैपिटल ट्रेंड के सर्वेक्षणों के अनुसार, अपने नवाचारों के विकास में प्रक्रियाओं के डिजिटलकरण के उच्च स्तर वाली कंपनियां क्रॉस-फ़ंक्शनल टीमों की उपस्थिति पर बेहद निर्भर हैं। 83% परिपक्व कंपनियां स्वीकार करती हैं कि वे क्रॉस-फंक्शनल टीमों का उपयोग करती हैं। परिचालन जटिलता (16% तक की अतिरिक्त लागत) के बावजूद, कंपनियों को ऑपरेटिंग संकेतकों (53% तक) में महत्वपूर्ण सुधार प्राप्त हुए, संसाधनों और परिसंपत्तियों (37% तक) में सुधार, अधिक लचीलापन (12% तक) और अत्यधिक नौकरशाही के स्तर में कमी आई। संगठनात्मक संरचना के पदानुक्रम में कमी (11% तक) के कारण।

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