October 6, 2015

कोड तोड्याच्या गोड गोष्टी: भोपळ्याच्या बिया


एक होतं छोटंसं गाव. त्या गावाचं नाव होतं भोपळेवाडी. त्या गावात राहत होता एक म्हातारा. 

एक दिवस म्हाता-याला वाटलं, "आपलं आता वय झालं. आता आपल्याच्यानं पूर्वीसारखी कामं  होत नाहीत. 
आपल्या सुना आता कर्त्या झाल्या आहेत. त्यांच्यावर कामे सोपवून आपण आराम करावा." 
मग त्यानं काय केलं? आपल्या सुनांना जवळ बोलावलं, प्रत्येकीच्या हातावर भोपळ्याच्या थोड्या बिया ठेवल्या
आणि स्वत: चार -आठ दिवस गावाला जाऊन आला. 
परत आल्यावर त्यानं सुनांना बोलावून विचारलं, "मुलींनो, मी दिलेल्या भोपळ्याच्या बियांचे तुम्ही काय केलंत?"
पहिली सून म्हटली, "मी त्या बिया फेकून दिल्या."
दुसरी सून म्हटली, "मी त्या बिया सोलून खाउन टाकल्या."
तिसरी सून म्हटली, "मी त्या बिया कपाटात ठेवल्या." 
चौथी सून म्हटली, "मी त्या बिया बागेत पेरल्या." 
म्हाता-यानं पहिल्या सुनेला झाडलोट, साफ-सफाई इ. काम सोपवलं.  दुसरीला स्वयंपाकाचं काम दिलं. 
तिसरीच्या हाती दागिने, पैसा-अडका, हिशेब-ठिशेब दिले, आणि चौथीवर बागेचं काम सोपवलं. 
आणि मग सगळे सुखाने राहायला लागले!


या कथेचा I.T. Port याप्रमाणे:


एक होतं छोटंसं गाव. त्या गावाचं नाव होतं 'सुपर्टिनो' (*). त्या गावात होती एक सॉफ्टवेअर कंपनी. त्या कंपनीत होता एक मॅनेजर.

एकदा काय झालं, मॅनेजरचं प्रमोशन झालं - 'सिनिअर मॅनेजर' म्हणून. मग त्याला वाटलं, "आपलं आता 'सिनिअर मॅनेजर' म्हणून प्रमोशन झालं. आता आपल्याच्यानं पूर्वीची कामं होत नाहीत.
आपल्या टीम मधले इंजिनिअर्स आता 'ग्रो' झाले आहेत. त्यांच्यावर कामे सोपवून आपण आराम करावा." 

मग त्यानं काय केलं? आपल्या टीम मधल्या सर्वांना त्यानं एक सोर्स कोड फाइल मेल केली आणि स्वत: एक आठवडा वेगसला कॉन्फरन्सला जाऊन आला.

परत आल्यावर प्रत्येकाशी वन-ऑन-वन मीटिंग घेऊन त्याने विचारलं, "मी पाठवलेल्या सोर्स कोड फाइलचं तुम्ही काय केलंत?"

पहिला इंजिनिअर म्हटला, "मी ती फाइल डिलीट केली". 
सिनिअर मॅनेजर म्हटला, "what? डिलीट का केली ?"
पहिला इंजिनिअर म्हटला, "YAGNI"
सिनिअर मॅनेजर म्हटला, "YAGNI? YAGNI??  WTF?"
पहिला इंजिनिअर विकट हसून म्हटला, "ओह या, YAGNI: You aren't gonna need it.  हे एक्स्ट्रीम प्रोग्रमिंग चे तत्व आहे.
मी ती सोर्स फाइल नीट वाचली. त्या कोडची आपल्याला अजिबात गरज नाहीये. सरळ डिलीट केली, विषय संपला."
पहिल्या इंजिनिअरचे सॉफ्टवेअर आर्किटेक्चर आणि डिझाईन मधले नैपुण्य पाहून सिनिअर मॅनेजरने त्याला टीमचा आर्किटेक्ट म्हणून नेमले.

दुसरा इंजिनिअर म्हटला, "मी त्या फाइल मधे कमेंट्स टाकून, refactor करून, आणि माझे @author असे नाव घालून ती चेक-इन केली."
सिनिअर मॅनेजरने त्याची प्रॉसेसची आवड ओळखून त्याच्यावर सॉफ्टवेअर डिवेलपमेंट प्रॉसेसची जबाबदारी सोपवली. 

तिसरा इंजिनिअर म्हटला, "दुसऱ्या इंजिनिअरने चेक -इन केलेल्या फाईल मध्ये कॉपीराइट मेसेज नव्हता. मी तो लगेच टाकला."
सिनिअर मॅनेजरने त्याचा कायदेशीर बाबतीमधील काटेकोरपणा पाहून त्याची 'Intellectual Property', अर्थातच 'पेटंटस'च्या कामावर नियुक्ती केली.

चौथा इंजिनिअर म्हटला, "मी तीच मेल 'JFYI' (जस्ट फॉर युअर इन्फर्मेशन) असे लिहून आपल्या टीम मधल्या सगळ्यांना पुन्हा पाठवली."
चौथ्या इंजिनिअरचे कम्युनिकेशन आणि को-ऑरडिनेशन मधले कौशल्य पाहून सिनिअर मॅनेजरने त्याला आपला उत्तराधिकारी, अर्थातच 'फर्स्ट लेवल मॅनेजर', म्हणून  बढती दिली! 

आणि मग सगळे सुखाने राहायला लागले!



(*) कुपर्टिनो या गावात घर विकत घेणे पामराच्या आवाक्याबाहेर असल्याने पामरास जी जळजळ उत्पन्न झाली ती टम्स च्या पुष्कळ गोळ्या घेऊन शमेना.  खूप विचार केल्यावर पामराला ही युक्ती सापडली - 
कु-दिन - सु-दिन 
कु-रूप - सु-रूप
कु-पर्टिनो - सु-पर्टिनो 
खलास.