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