विषय
यह तीन-भाग के साक्षात्कार में से दूसरा है। आप ऐसा कर सकते हैं पहला भाग यहाँ पढ़ें.
***
चुस्त विकास की मेरी समझ काफी बुनियादी है। मैंने कार्यप्रणाली के तहत कभी काम नहीं किया है, लेकिन इसके बारे में थोड़ा इधर-उधर पढ़ा है। वास्तव में तकनीकी ऋण बैकलॉग क्या है?
एक बैकलॉग एक कार्य सूची है; लेकिन यह एक प्राथमिकता वाली कार्य सूची है जो हर दो सप्ताह (स्प्रिंट सीमाओं पर) को फिर से प्राथमिकता दी जा सकती है और टीमें केवल दो सप्ताह की खिड़की (एक स्प्रिंट) के लिए प्रतिबद्ध हैं। एक तकनीकी ऋण बैकलॉग समग्र बैकलॉग और कहानियों (कार्यों) की एक उपधारा है, जो सामान्य बैकलॉग के साथ जुड़े हुए हैं।
खैर, यह मुझे एक टन नहीं बताता है, लेकिन मैंने एक त्वरित Google, थोड़ा और अधिक पढ़ने और यह निर्धारित किया है कि "तकनीकी ऋण वह है जो कोड के साथ काम करना कठिन बनाता है। यह सॉफ्टवेयर का एक अदृश्य हत्यारा है, और होना चाहिए। आक्रामक तरीके से प्रबंधित। " उसके आधार पर, मेरा मानना है कि मैं आपकी नौकरी के एक पहलू को बेहतर तरीके से समझता हूँ। आधुनिकीकरण, मानकों तक लाना, ईवीई ऑनलाइन कोडबेस में कुछ पुराने कोड, जैसे कि पिछले साल क्रोनवच के साथ क्या हुआ था।
मुझे पता है कि पुराने कॉरपोरेट और पीओएस कोड का कोई भी सुधार जल्द ही कभी भी विकास स्लेट पर नहीं है, लेकिन आप कितना उत्साहित होंगे अगर कोई यह कहे कि "चलो इसे फिर से लिखें और इसे सही करें!"
आपको हाल ही में पीओएस के आसपास हुई चर्चाओं को याद कर सकते हैं; CCP सीगल उस विषय पर संचार को संभालती है। मैं तकनीकी ऋण के विषय पर चर्चा कर सकता था लेकिन पीओएस के संदर्भ में नहीं।
काफी उचित। आइए इससे एक अलग दिशा से निपटते हैं। Crimewatch। सभी खातों में एक पुराना, बहुत नाजुक टुकड़ा कोड होता है। इसके साथ काम करना बहुत मुश्किल था, और अधिकांश परियोजनाओं ने इसके साथ बातचीत करने से परहेज किया, क्योंकि इससे अप्रत्याशित समस्याएं हो सकती थीं। जब CCP ने इस कोड को फिर से लिखने का निर्णय लिया, तो आप उस प्रक्रिया में कैसे शामिल थे जो नए डिजाइन पर केंद्रित थी? आप यह सुनिश्चित करने के लिए कि वे आपके मानकों पर खरे उतरें और वे सड़क के नीचे तकनीकी ऋण नहीं जोड़ते हैं, यह सुनिश्चित करने के लिए क्राइमवॉच जैसी परियोजनाओं को आप कितना ध्यान देते हैं? जब आप क्राइमवेच को फिर से लिखने के लिए ग्रीनलाइट दी गई तो आप कितने खुश थे?
वास्तविक तकनीकी डिज़ाइन के संदर्भ में, बहुत कुछ नहीं, और गेम डिज़ाइन में शामिल नहीं है। गेम खेलने वाली टीमों के लिए तकनीकी नेतृत्व (सीसीपी एटलस) और नई प्रणाली को लागू करने वाली टीम में मुख्य रूप से वरिष्ठ सर्वर प्रोग्रामर (सीसीपी मास्टरप्लान) वास्तविक डिजाइन कार्य के लिए खाइयों में रहने वाले लोग थे। मेरी भूमिका इस तथ्य को उजागर करने के लिए थी कि पुराने क्राइमवेच कोड भंगुर, सावधानी बरतने वाले प्रोग्रामर और टीम हैं जो उस कोड में शामिल हैं और सीधे अपने काम की निगरानी करते हैं, इस विचार को बढ़ावा देते हैं कि वर्तमान प्रणाली / कोड की लागत का प्रदर्शन करके इसे फिर से शुरू किया जाना चाहिए। , और कार्यान्वयन और प्रदर्शन परीक्षण के लिए मानक निर्धारित करते हैं (क्यूए निदेशक सुविधा परीक्षण और सामान्य परीक्षण प्रथाओं के लिए जिम्मेदार है)।
जब इस परियोजना को अंतिम रूप से ग्रीनलाइट किया गया तो मैं बहुत खुश था; सूची से इन चीजों को पार करने में सक्षम होना हमेशा अच्छा होता है, और फिर अगली प्रणाली पर चले जाते हैं।
मुझे आपकी नौकरी के पूरे तकनीकी ऋण बैकलॉग का हिस्सा आकर्षक लग रहा है, खासकर जब से यह बहुत सारे पुराने, कोर ईवीई सिस्टम के चारों ओर घूमता है, जो खिलाड़ियों के साथ काम करना मुश्किल लगता है और / या बेहतर, अधिक आधुनिक सुविधाओं के साथ refactored देखना चाहते हैं । CCP पुराने, भंगुर कोड के इन क्षेत्रों से निपटने में सावधान रहा है।
क्या कॉर्पोरेट रोल सिस्टम तकनीकी ऋण बैकलॉग में आएगा?
एक निश्चित सीमा तक, लेकिन ज्यादातर यह प्रणाली एक सवाल है कि इसे पूरा करने के लिए क्या करना चाहिए और वहां से संभवतः एक ओवरहेल्ड गेम डिज़ाइन प्राप्त होता है। उस प्रणाली का कोड विशेष रूप से खराब स्थिति में नहीं है।
"बुरी हालत में नहीं," किस सम्मान में? एक खिलाड़ी के नजरिए से, भूमिका प्रणाली के साथ काम करना मुश्किल है, और लोग ऐसी चीजों की अपेक्षा करते हैं, जिन्हें अक्सर विभिन्न विषम कार्यपट्टियों के साथ करना पड़ता है। (क्लेडलुम ने अपने संघर्षों में इनमें से कुछ कार्यदलों का दस्तावेजीकरण किया है, कुछ बुनियादी तरीकों से व्यवहार करने के लिए कॉर्पोरेट भूमिकाएं प्राप्त करते हैं।) मुझे लगता है कि कोड "अच्छे आकार" में हो सकता है, यह देखते हुए कि यह वास्तव में क्या था और क्या करने के लिए डिज़ाइन नहीं किया गया था। अधिकांश खिलाड़ी इस बात से सहमत होंगे कि यह ओवरहाल की जरूरत है। क्या इस तरह के ओवरहाल के लिए यह पर्याप्त आकार में है, क्या इसे विकास प्राथमिकता दी गई थी?
मैं विशुद्ध रूप से तकनीकी पहलू से तकनीकी ऋण बैकलॉग के संदर्भ में "खराब आकार में नहीं" का उपयोग कर रहा हूं। आप जो वर्णन कर रहे हैं वह प्रणाली में उपयोग करने योग्य मुद्दे हैं, जिसे मैंने "एक प्रश्न के रूप में संदर्भित किया है कि यह क्या पूरा करना है और वहां से संभवतः एक ओवरहेल्ड गेम डिज़ाइन प्राप्त होता है"। तकनीकी दृष्टिकोण से तो कोड ही नहीं है कि चीजों की भव्य योजना में बुरा, तुलनात्मक रूप से पठनीय है और बुरी तरह से संरचित नहीं है।
तकनीकी ऋण बैकलॉग में आने वाली कुछ प्रणालियाँ क्या हैं?
पीओएस सिस्टम, इन-गेम ब्राउज़र, क्लाइंट स्टार्टअप के लिए प्रदर्शन में सुधार, ग्राहकों के लिए भौतिकी सिमुलेशन घटनाओं को भेजने के लिए प्रदर्शन में सुधार, प्रदर्शन में सुधार और विशेषता प्रणाली की फिर से जाँच; कुछ नाम है। अन्य प्रणालियां हैं लेकिन वे या तो निम्न-स्तरीय या आंतरिक उपकरण या पाइपलाइन हैं। इनमें से कुछ प्रणालियाँ कई अन्य श्रेणियों में आती हैं; जैसे कि POS सिस्टम में प्रयोज्यता और डिज़ाइन पहलू होते हैं, जिनमें से कुछ को हम गुणवत्ता सुधार के साथ ओडिसी में संबोधित कर रहे हैं।
कौन तकनीकी ऋण बैकलॉग से निबटा जाएगा पर अंतिम निर्णय कौन करता है?
अंतत: यह सीनियर प्रोड्यूसर है जो इस बात की पुकार करता है कि प्रत्येक रिलीज़ के लिए बैकलॉग क्या है। वह प्राथमिकताओं पर विभिन्न दलों से इनपुट मांगती है और विभिन्न तकनीकी और व्यावसायिक जरूरतों को संतुलित करने की कोशिश करती है। तकनीकी ऋण बैकलॉग के आइटम विभिन्न आकारों के होते हैं और इसलिए एक छोटा कार्य पहले भी हो सकता है (क्योंकि यह अनुसूची में फिट बैठता है) भले ही किसी बड़े कार्य की तुलना में कम तकनीकी प्राथमिकता हो। जहाँ खेल यांत्रिकी में महत्वपूर्ण बदलाव होंगे, जैसे कि क्राइमवेच के साथ, यह लीड गेम डिज़ाइनर के दायरे में आता है।
फिर भी, आपके पास अभी भी उन प्राथमिकताओं पर एक अच्छा सा इनपुट होना चाहिए। मुझे लगता है कि सीनियर प्रोड्यूसर को टेक्निकल डेट बैकलॉग के साथ आपकी विशेषज्ञता और अनुभव पर भरोसा करना चाहिए?
यह जानते हुए कि वरिष्ठ निर्माता को विभिन्न आवश्यकताओं को कैसे संतुलित करना है तो मैं उसे एक प्राथमिकता वाली सूची नहीं भेजता हूं; बल्कि मैं उसके साथ बैकलॉग और प्रत्येक परियोजना के सापेक्ष महत्व और संभावित आकार के बारे में चर्चा करता हूं कि कैसे कुछ तकनीकी ऋण बैकलॉग कार्य करने से उसके लिए अन्य चीजें सक्षम हो सकती हैं और कैसे कुछ अन्य तकनीकी डेट बैकलॉग कार्य नहीं कर सकते हैं "संभवतः हमें एक कोने में पेंट करें"। "।
क्या तकनीकी ऋण बैकलॉग आइटम किसी विशेष टीम द्वारा नियंत्रित किए जाते हैं? या उन्हें टीमों के आधार पर सौंप दिया जाता है, जो उनके साथ सर्वोत्तम व्यवहार कर सकते हैं (यानी टीम विशेषज्ञता)
वे सभी टीमों द्वारा संभाले जाते हैं, हालांकि टीम ग्रिडलॉक केवल तकनीकी डेट बैकलॉग कार्यों में शामिल रहा है, जैसा कि उनके बैकलॉग और विशेषज्ञता के बाकी हिस्सों में फिट बैठता है।
क्या तकनीकी डेट बैकलॉग आइटम के विस्तार-विस्तार के आधार पर काम किया जाता है, या वे बस चल रहे हैं, और आम तौर पर एक विशिष्ट विस्तार चक्र से बंधे नहीं हैं?
दोनों।
ओडिसी विस्तार के लिए क्या तकनीकी ऋण बैकलॉग आइटम थे?
कुछ का नाम देने के लिए: हम पैचिंग में सुधार कर रहे हैं (HTTP / 1.0 प्रॉक्सी का उपयोग करते समय विफलताओं की संख्या कम है), इमेज एक्सपोर्ट कलेक्शन जनरेशन प्रक्रिया को फिर से लिखना, और ईवीई एपीआई में त्रुटि हैंडलिंग और लॉगिंग को फिर से लागू करना और साथ ही तैनाती विधि एपीआई और अपने आंतरिक कैशिंग तंत्र को अद्यतन (स्थानीय और वितरित)।