मैं वह निर्णय कैसे ले पाया?
(stdy.blog)हाल की एक pair debugging का अनुभव
- 'सूची पेज पर कई items पर किसी खास action का परिणाम, कभी-कभी individual item page पर reflected नहीं होता' जैसी समस्या। reproduce होने का रास्ता पता नहीं चल रहा था
- सुनते ही मैंने सुझाव दिया कि 'पहले individual item page पर जाने की स्थिति में, फिर सूची पेज पर लौटकर वह action करने' वाले केस को जाँचते हैं। वही reproduce path निकला
pair debugging session 5 मिनट भी नहीं चली, लेकिन एक सवाल मन में रह गया
- मैं यह कैसे पकड़ पाया, और यह सहकर्मी क्यों नहीं पकड़ पाए?
- इस व्यक्ति की क्षमता को और प्रभावी ढंग से कैसे ऊपर खींचा जा सकता है?
सीनियर के रूप में code review और pair work करते समय ऐसा काफ़ी बार चुपचाप होता रहता है
- सीनियर किसी अटपटे हिस्से को जल्दी पकड़ लेता है और एक भरोसेमंद improvement suggestion देता है।
- जूनियर प्रभावित होकर उसे स्वीकार कर लेता है।
- अगली बार, बिल्कुल वही नहीं लेकिन वैसी ही कोई समस्या फिर आती है।
- सीनियर फिर पकड़ लेता है और फिर improvement suggestion देता है।
- जूनियर थोड़ा और समझता है, गलतियाँ कम होती हैं, लेकिन वह मेरी अपेक्षा के स्तर तक उतनी जल्दी नहीं पहुँचता।
ऐसा इसलिए होता है क्योंकि सीनियर का solution तो पहुँचा दिया जाता है, लेकिन उसके भीतर की cognitive process — यानी 'वह यह आकलन और decision-making कैसे कर पाया' — नहीं पहुँचती
Gary Klein द्वारा विकसित CDM इस cognitive process को अपेक्षाकृत तेज़ी से, और self-analysis के रूप में भी, समझने का एक अच्छा तरीका है
- Cues : आप क्या देख रहे थे, सुन रहे थे, सूँघ रहे थे ...?
- Knowledge, Source : यह निर्णय लेते समय आपने कौन-सी जानकारी इस्तेमाल की, और वह कैसे प्राप्त हुई?
- Analogues : क्या आपको कोई पिछला अनुभव याद आया?
- Goals : उस समय आपके specific goals क्या थे?
- Options : आपने किन अन्य action paths पर विचार किया, या आपके पास कौन-से विकल्प उपलब्ध थे?
- Basis : यह विकल्प कैसे चुना गया/दूसरे विकल्प क्यों छोड़े गए? कौन-सा नियम अपनाया जा रहा था?
- Experience : यह निर्णय लेने में कौन-सी specific training या experience ज़रूरी या मददगार था?
- Aiding : अगर निर्णय सबसे अच्छा नहीं था, तो कौन-सी training, knowledge, या information मदद कर सकती थी?
- Tools : यह निर्णय लेते समय क्या कोई tools थे जिन्होंने उस specific decision में मदद की?
- Time Pressure : यह निर्णय लेते समय कितना time pressure था?
- Situation Assessment : मान लें कि इस बिंदु पर आपसे अपने से अधिक expertise वाले किसी व्यक्ति को यह स्थिति समझाने के लिए कहा जाए, तो आप इसे कैसे summarize करेंगे?
- Hypothesis : अगर स्थिति की कोई प्रमुख विशेषता अलग होती, तो आपके निर्णय पर उसका क्या असर पड़ता?
निष्कर्ष
- आम तौर पर asynchronously होने वाले GitHub PR review में reviewer की implicit knowledge बहुत कम सामने आती है
- ऐसे में अगर हम सजग रूप से CDM के सवाल ख़ुद से पूछते हुए यह भी जोड़ें कि 'मैं यह comment कैसे सोच पाया', तो reviewer और PR author दोनों की क्षमता कहीं तेज़ी से बढ़ सकती है
- स्वाभाविक रूप से, development के बाहर भी, किसी भी ऐसे क्षेत्र में जहाँ cognitive task की ज़रूरत हो, CDM बहुत उपयोगी हो सकता है। चाहे मैं training दे रहा हूँ या training ले रहा हूँ।
1 टिप्पणियां
CDM भाग का अनुवाद (DeepL):