स्काइप भाग -2

मागील लेखात आपण स्काइप कसं कार्यान्वित करायचं ते पहिल. या लेखात आपण स्काइपचा वापर कसा करायचा ते पाहू. खाली दिलेल्या स्काइपच्या कुठल्याही सुविधा वापरून आपल्याला ज्या व्यक्तीला संपर्क करायचा आहे ती व्यक्ती ऑनलाईन असणे व आपल्या संगणकाला माइकाची सुविधा असलेले headphones असणे गरजेचे आहे.

मागील लेखात आपण स्काइप कसं  कार्यान्वित करायचं  ते पहिल. या लेखात  आपण स्काइपचा वापर कसा करायचा ते पाहू. खाली दिलेल्या स्काइपच्या कुठल्याही सुविधा वापरून आपल्याला ज्या व्यक्तीला संपर्क करायचा आहे ती व्यक्ती ऑनलाईन असणे  व  आपल्या संगणकाला माइकाची सुविधा असलेले headphones  असणे  गरजेचे आहे.
ऑडियो व व्हिडीओ  कॉल
स्काइपचा  वापर करून आपण ऑडियो व  व्हिडीओ कॉल करू शकतो. ज्या व्यक्तीला आपल्याला कॉल करायचा आहे त्या व्यक्तीचे नाव आपल्या संपर्क यादीमधून निवडायचे.  नाव निवडल्यानंतर उजव्या बाजूच्या स्क्रीनवर call असे बटण दिसेल त्यावर क्लिक केल्यावर तुमचा कॉल सुरु होईल. तुमचा कॉल संपेपर्यंत तुह्माला  खाली दिल्याप्रमाणे स्क्रीन दिसेल.

कॉल बंद करण्यासाठी End call या बटणावर क्लिक करा.
व्हिडीओ कॉल करण्यासाठी Video call या बटणावर क्लिक करा. यासाठी आपल्या संगणकावर वेब कॅम असणे गरजेचे आहे.

समूह  कॉल (conference call )
कॉन्फरन्स कॉलचा वापर करून  आपण  एकाचवेळी अनेक व्यक्तींशी संवाद साधु शकतो.  त्यासाठी add people या बटणावर क्लिक करा.त्यानंतर तुह्माला खाली दाखवल्याप्रमाणे एक स्क्रीन दिसेल.

तुह्माला हवी असलेल्या व्यक्तींची नावे संपर्क यादीतून निवडा व select या बटणावर क्लिक करा. आता तुह्माला ज्या व्यक्तींशी बोलायचं आहे त्या व्यक्तींची यादी तयार झाली. त्यानंतर add या बटणावर क्लिक करा.आता तुह्माला खाली दाखवल्याप्रमाणे स्क्रीन दिसेल त्यावरील Call group या बटणावर क्लिक करा.

अशाप्रकारे  तुह्मी एकाच वेळी अनेक व्यक्तींशी संवाद साधु शकता.

समूह चर्चा (conference chat )

समूह कॉलप्रमाणेच तुह्मी समूह चर्चा करू शकता.त्यासाठी वर दिल्याप्रमाणे ज्या व्यक्तींशी चर्चा करायची आहे त्या व्यक्तींना समाविष्ट (add ) करा आणि उजव्या बाजूला असलेल्या विंडोवर लिहायला (chat ) सुरवात करा. अशाप्रकारे तुह्मी एकाचवेळी अधिक व्यक्तींशी संवाद (chat ) साधु शकता. तुह्माला समूह चर्चा करताना खाली दाखविल्याप्रमाणे स्क्रीन दिसेल.     

फाइलची देवाणघेवाण ( file transfer )
स्काइपचा वापर करून आपण एखाद्याला आपल्या संगणकावरील  फाइल पाठवू शकतो. त्यासाठी  संपर्क यादी मधून त्या व्यक्तीचे नाव निवडा व उजव्या बाजूला असलेल्या स्क्रीनवरील send file या पर्यायावर क्लिक करा.

त्यानंतर तुह्माला पाठवायची असलेली फाइल निवडा व  Open या बटणावर क्लिक करा.
आता आपल्याला एखाद्या व्यक्तीकडून फाइल घ्यायची असेल तर त्या व्यक्तीने फाइल पाठवल्यावर आपल्याला save file व cancel असे दोन पर्याय दिसतील त्यातील save file ह्या पर्यायावर क्लिक करा.                                                                                                                                                                                                                    

फाइल जतन(save) करण्यासाठी  ती आधी स्वीकारावी लागते त्यासाठी OK या बटणावर क्लिक करा.

त्यानंतर ती फाइल आपल्याला कुठे जतन (save) करून ठेवायची आहे ती जागा निवडा व save या बटणावर क्लिक करा.

म्हणजे आता ती फाइल आपल्या संगणकावर जतन(save) झाली.

अशाप्रकारे  दैनंदिन जीवनात उपयुक्त ठरू  शकणाऱ्या विविध सेवा स्काइप  आपल्याला उपलब्ध करून देते.

डॉट नेट फ्रेमवर्क

डॉट नेट फ्रेमवर्क हा शब्द अनेकदा कानावर पडतो. हे नेमकं काय आहे, कसं काम करतं याचा थोडा उहापोह करण्याचा इथे मी प्रयत्न करणार आहे.

डॉट नेट फ्रेमवर्क म्हणजे नेमकं काय?

फ्रेमवर्क म्हणजे अनेक components चा  जसं libraries, dlls, functions, classes इ. यांचा एकत्रित संच. ह्यामुळे कोणतेही application करणे सुसह्य होते.  हे सर्व एकत्र करून जर एका ठिकाणी आपल्याला दिले, तर आपल्याला हव्या त्या गोष्टी वापरून आपण आपल्याला हवे ते application बनवू शकतो.

मायक्रोसॉफ्टने उपलब्ध करून दिलेले हे डॉट नेट फ्रेमवर्क वापरून आपल्याला अनेक भाषांमधून code करणे सहज शक्य होते. जसं VB.Net / C#.Net/ J#.Net/ ASP.Net आहे ना ही interesting गोष्ट? याचे फायदे असे की, एक तर आपण या अनेक भाषा वापरू शकतो आणि दुसरं म्हणजे त्या एकाच platform वर चालू शकतात. प्रत्येक भाषेसाठी वेगळे काही install करायची गरज नाही.

आता अगदी स्वाभाविक प्रश्न असा येतो की, ही सारे कसे काय शक्य आहे?

याचे उत्तर आहे architecture. त्याची बांधणी.

हे चित्र येथून घेतले आहे. here

वरील चित्रात दाखविल्याप्रमाणे, आपला code कंपाईल होऊन पुढील प्रक्रियेसाठी Common Language Infrastructure येथे जातो.

Common Language Infrastructure हे CIL (Common Intermediate Language) आणि CLR (Common Language Runtime) यांनी बनलेले आहे.

CIL(Common Intermediate Language):  CIL चे काम म्हणजे .Net ने दिलेल्या कोणत्याही भाषेतील कोड एका विशिष्ट भाषेत म्हणजे Common Intermediate Language मधे रूपांतरीत करणे असे आहे. म्हणजे नेमके काय? तर उदा. जर आपण C#.Net मधे Double हा Data Type उपलब्ध आहे तर VB.Net मधे Decimal उपलब्ध आहे. असे निरनिराळे Data Types, functions आणि procedures ह्या .Net framework ने उपलब्ध केलेल्या सर्वच भाषांमधे उपलब्ध आहेत. ह्या निरनिराळ्या Data Types/ Functions/ Procedures चा अर्थ किंवा व्याख्या ह्या कुठेतरी सामायिक भाषेमधे असणे वा रूपांतरीत करणे अत्यावश्यक आहे.  तरच आपण निरनिराळ्या भाषा एकच framework वापरून compile करू शकतो. हे रूपांतरणाचे कार्य CIL द्वारे केले जाते.

CLR: Common Language Runtime चे कार्य म्हणजे CLI चे रूपांतर machine readable language मधे करणे. प्रत्येक कोड हा शेवटी Binary मधे रूपांरतीत होतो. तर हे रूपांतरण करण्याचे कार्य CLR द्वारा केले जाते.

तर या काही मूळ गोष्टी आहेत ज्या डॉट नेट फ्रेमवर्कमधे समाविष्ट आहेत.

उबंटुची ओळख

खुप जणं ऑपरेटींग सिस्टम म्हणजे विंडोज असेच समजतात. बरेचवेळा लोकांना दुसरे पर्याय आहेत हे माहितदेखील नसते. विंडोज वापरायला आपल्याला ती प्रत विकत घ्यावी लागते. पण किंमत जास्त असल्याने बरेचवेळा लोकं पायरेटेड प्रत वापरणेच पसंत करतात. या गोष्टीचे बरेच तोटे आहेत. यावर उपाय असा की, अशी एखादी ऑपरेटींग सिस्टम वापरायची की जी विनामुल्य उपलब्ध असेल. एक प्रसिद्ध पर्याय म्हणजे लिनक्स! पण गैरसमज असा आहे की, लिनक्स खूप अवघड आहे आणि ते वापरायचं म्हणजे आपल्याला कॉम्पुटरबद्दल खूप माहिती असायला हवी. ही गोष्ट थोड्या प्रमाणात खरीपण आहे. यालाच पर्याय म्हणून कॅनोनिकलने सुरू केलेली ऑपरेटींग सिस्टम म्हणजे उबंटु!

“उबंटु” ह्या लेखमालिकेअंतर्गत हा पहिला लेख. यात उबंटुची ओळख करून दिली आहे. आम्ही याविषयी अजुन माहिती पुढील लेखांद्वारे देणार आहोत.

खुप जणं ऑपरेटींग सिस्टम म्हणजे विंडोज असेच समजतात. बरेचवेळा लोकांना दुसरे पर्याय आहेत हे माहितदेखील नसते. विंडोज वापरायला आपल्याला ती प्रत विकत घ्यावी लागते. पण किंमत जास्त असल्याने बरेचवेळा लोकं पायरेटेड प्रत वापरणेच पसंत करतात. या गोष्टीचे बरेच तोटे आहेत. यावर उपाय असा की,  अशी एखादी ऑपरेटींग सिस्टम वापरायची की जी विनामुल्य उपलब्ध असेल. एक प्रसिद्ध पर्याय म्हणजे लिनक्स! पण गैरसमज असा आहे की,  लिनक्स खूप अवघड आहे आणि ते वापरायचं म्हणजे आपल्याला कॉम्पुटरबद्दल खूप माहिती असायला हवी. ही गोष्ट थोड्या प्रमाणात खरीपण आहे. यालाच पर्याय म्हणून कॅनोनिकलने सुरू केलेली ऑपरेटींग सिस्टम म्हणजे उबंटु!

उबंटु इनस्टॉल केल्यानंतर आपली डेक्सटॉप स्क्रीन अशी दिसेल.

काय काय गोष्टी उपलब्ध आहेत?

उबंटु वापरायला खूप सोपी आहे. त्यात तुम्हाला नेहमी लागणारं ऑफिस, लॅन, वायरलेस कनेक्शन, इंटरनेट, चॅटिंगचे पर्याय अगदी सहजपणे वापरता येतात. यासाठी लागणारी सर्व सॉफ्टवेअर उबंटुमधे अंतर्भूतच असतात, म्हणजे आपण उबंटु इनस्टॉल केले की ह्या सर्व गोष्टी उपलब्ध असतातच. वेगळ्या इनस्टॉल करून घेण्याची गरज नाही.

पुढे दिलेल्या चित्रात आपण पाहू शकता की, मोझिला इंटरनेट ब्राऊजर अगोदरपासूनच उपलब्ध आहे.

खालील चित्रात दाखविल्याप्रमाणे, आपल्या टुलबारवर सर्व मेन्यु, मोझिला इंटरनेट ब्राऊजर, हेल्प याबरोबरच वायरलेस कनेक्टिविटी, ई-मेल/ चॅट ई.चे पर्यायदेखील उपलब्ध आहेत. (खालील चित्र मोठे करून पहायचे असल्यास त्यावर क्लिक करा.)

ऑफिस- अगदी आवश्यक असणारे हे सॉफ्ट्वेअरही उबंटुमधे अगोदरपासूनच उपलब्ध असते. चित्रात दाखविल्याप्रमाणे ऑफिस या मेन्युखाली आवश्यक ते सर्व पर्याय उपलब्ध आहेत. ऑफिस वेगळे इनस्टॉल करण्याची गरज नाही.

ऑडियो-व्हिडीयो: गाणी ऐकण्यासाठी, चित्रपट पाहण्यासाठी, फोटो पाहण्यासाठी लागणारी सॉफ्टवेअरस चित्रात दाखविल्याप्रमाणे साऊंड ऍंड व्हिडियो या मेन्युअंतर्गत उपलब्ध असतात.

नविन सॉफ्टवेअर इन्स्टॉल कसे करायचे?

सॉफ्टवेअर सेंटर आणि साईन-ऍप-टेक मॅनेजर मधे विविध सॉफ्टवेअरचे पर्याय उपलब्ध करून दिले आहेत. तुम्हाला हवे ते सॉफ्टवेअर कोणाच्याही मदतीशिवाय तुम्ही स्वत: अगदी सहजपणे इनस्टॉल करू शकता .

साईन-ऍप-टेक मॅनेजरला जाण्यासाठी, चित्रात दिल्याप्रमाणे सिस्टिम-> ऍडमिन -> साईन-ऍप-टेक मॅनेजर क्लिक करा.

त्यानंतर तुम्हाला खालील स्क्रीन दिसेल. त्यात दिल्याप्रमाणे, आपल्याला हवी ती कॅटेगरी आपण निवडली ही त्याच्या संबधीत सॉफ्टवेअर आपल्याला शेजारी दिसतात. आपल्याला हवी ती  सॉफ्ट्वेअर चेक बॉक्सद्वारे निवडायची आणि “अप्लाय” म्हणायचे. इंटरनेटवरून ती लोड होतात, यासाठी बाकी काही करायची आवश्यकता नसते.

त्याशिवाय चित्रात दाखविल्याप्रमाणे ऍप्लिकेशन  या मेन्युअंतर्गत सॉफ्टवेअर सेंटर हादेखील एक पर्याय उपलब्ध आहे.

जिथे सध्या उपलब्ध सर्व सॉफ्टवेअरची यादी शिवाय विविध कॅटेगरीनुसार उपलब्ध सॉफ्टवेअरची यादी, फिचर्स व नविन उपलब्ध यानुसार वर्गीकरण करून उपलब्ध असतात. आपल्याला हवे ते सॉफ्टवेअर निवडून “गेट सॉफ्टवेअर” हे बटण दाबायचे.

“उबंटु” ह्या लेखमालिकेअंतर्गत हा पहिला लेख. यात उबंटुची ओळख करून दिली आहे. आम्ही याविषयी अजुन माहिती पुढील लेखांद्वारे देणार आहोत.

नुकतेच उबंटुने नविन व्हर्जन बाजारात आणले आहे. ते तुम्ही येथे जाऊन डाऊनलोड करू शकता.

हा लेख कसा वाटला ते अवश्य कळवा.

खराब वा चरे पडलेल्या Cd / DVD मधून data कसा मिळवायचा?

ओरखडे असलेल्या / खराब CD/ DVD वरील माहिती कॉपी होणे  फार कठीण काम असते.त्यातून जर  data हवा असेल तर कसा मिळवायचा? यासंबधी फार उपयुक्त लेख http://www.netbhet.com/2010/04/recover-data-from-scratched-and-damaged.html येथे प्रसिद्ध आहे.

Bad CD DVD Reader हे सॉफ्टवेअर वापरून data कसा मिळवायचा, याबद्दल विस्तृत माहिती screen shots सहित  उपलब्ध आहे.

मूळ लेखावरून:

या प्रक्रियेला लागणारा एकूण कालावधी हा CD/ DVD वरील वाचता येण्याजोगी माहीती, CD/ DVD कितपत चांगल्या परिस्थीत आहे, तुम्हाला हव्या असलेल्या माहितीची एकूण Size म्हणजे एम बी आहे की जी बी  यांसारख्या तांत्रिक बाबींवर अवलंबुन असेल. आणि हो कधीकधी जास्त scratches असतील तर काँप्यूटरचा वेग पण कमी होऊ शकतो.

Java पेक्षा Python का चांगली?

सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/why-python-is-better-than-java/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर मंदार वझे यांनी केले आहे.

धनंजय नेने ह्यांनी नुकतीच Python वापरायला सुरुवात केली, आणि त्यांना असे जाणवले की, Python वापरताना त्यांना जास्त मजा येते. त्यांनी त्यांच्या blog वर त्याबद्दल सविस्तर लिहीले आहे :

गेल्या काही महिन्यात मला असे प्रकर्षाने जाणवले की python मधे programming खूप सोपे आणि मजेशीर आहे. म्हणजे साधी आणि gear ची सायकल चालवण्यात जसा फरक आहे ना, तसाच. म्हणजे gear ची सायकल चालवताना असं वाटतं की, कमी प्रयत्नात जास्त दूर जाता येतं. परंतु विज्ञान सांगतं की खरं तर दोन्ही करता तेवढयाच प्रयत्नांची गरज लागते. जास्त सुविधा असल्यामुळे काम सोपे वाटत असेल. पण मला असं का वाटतं? कदाचीत Python च्या खालील features मुळे असेल (अर्थात, पुढील यादी कुठल्याही प्राधान्यक्रमानुसार नाही.)

* सुटसुटीत : code साधारण पणे जास्त आटोपशीर असतो. कमी फापटपसारा (verbosity)
* Dynamic Typing : Data type declaration आणि inheritance hierarchies, विशेषत:सर्व interfaces and implementations साठी योग्य आहेत की नाही, ह्याची काळजी करण्याची गरज नाही. वेगवेगळे objects एकाच inheritance hierarchy मधे असण्याची सुध्दा गरज नाही. Object मधे method असल्यास आपण त्याचा वापर करू शकता. अर्थात ही दुधारी तलवार आहे, परंतु त्यामुळे dynamic type environment मधे programming सोपे होते, हेही तितकेच खरे.
* सोपे runtime reflection: Java मधे सर्व प्रकार च्या reflection capabilities आहेत. पण Python पेक्षा Java मधे त्या वापरणे खूपच त्रासदायक आहे. Python मधे सगळे constructs (classes, sequences etc.) reflection साठी उपलब्ध आहेत. जर तुम्हाला metaprogramming constructs ची गरज असेल, तर Python ला खरोखरच पर्याय नाही.
* जास्त अंतर्गत सुविधा : list comprehensions किंवा functions ना objects प्रमाणे वापरणे.
* नीट नेटका code असण्याची सक्ती (indentation requirement) : मला ह्याची सवय होण्यासाठी २-३ दिवस लागले, पण त्या मुळे Python चा code वाचायला खूप सोपा होतो, कारण जर code व्यवस्थीत indent केलेला नसेल तर चालतच नाही. (code is rejected)


मी स्वत: Perl programmer आहे, आणि माझे Perl बद्दल असेच मत आहे. अर्थात मला Python ची indentation ची सक्ती आवडली नाही. पण जे programmer, भाषेच्या सुविधांचा गैरवापर करणार नाहीत, Perl त्यांच्याच साठी योग्य आहे. बेशिस्त programmers साठी Python ची indentation ची सक्ती ही चांगलीच गोष्ट आहे.
असो, आपण संपूर्ण लेखच वाचा. तुम्ही, त्यांनी त्यांच्या पुढच्या project साठी python निवडली, तेंव्हा लिहीलेला लेख सुद्धा वाचा. त्यापेक्षा तुम्ही त्यांच्या blog ला subscribe करा ना.
जर तुम्ही techie असाल तर तुम्ही त्यांचे सखोल आणि अभ्यासपूर्ण लेख जरूर वाचले पाहिजेत. जर तुम्हाला programming languages मधे रुची असेल तर मी त्यांचे “Contrasting java and dynamic languages”, आणि “Performance Comparison – C++ / Java / Python / Ruby/ Jython / JRuby / Groovy” हे लेख सुचवीन. ..आणि जर तुम्ही स्वत: blogger असाल तर त्यांच्या software/programming blogging बद्दलच्या सुचना वाचा.

धनंजय पुण्यातील, १७ वर्षाचा अनुभव असलेले software Engineer आहेत. त्यांना software engineering, programming, design आणि architecture ह्याबद्दल विशेष आवड आहे. अधिक माहिती करता त्यांचे PuneTech wiki profile वाचा.

सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/why-python-is-better-than-java/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर मंदार वझे यांनी केले आहे.

फिबोनाकी सिरीज- Fibonacci Series

सदर  post, वेदांग मणेरीकर द्वारा प्रकाशित  Fibonacci Numbers या लेखाचे भाषांतर असून,   http://mytechrants.wordpress.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर अभिजीत वैद्य  यांनी केले आहे.

माझ्या मते हा ब्लॉग वाचणार्‍या सगळ्यांना, फिबोनाकी सिरीज (Fibonacci series) माहीत असेल. ही सिरीज अशी आहे –

0, 1, 1, 2, 3, 5, 8, 13, 21, 34…, infinity पर्यंत

या सिरीजमध्ये प्रत्येक संख्या ही आधीच्या २ संख्यांची बेरीज असते.

F(n) = F(n-1) + F(n-2)

आणि ,

F(0) = 0

F(1) = 1

एक सोपी युक्ती
मैल या परिमाणात व्यक्त केलेले अंतर किलोमीटरमध्ये कसे रुपांतरीत करायचे ? तुम्ही फिबोनाकी सिरीज वापरू शकता. ५ मैल म्हणजे ८ किलोमीटर.(अधिक अचूकपणे ८.०४५ किमी.) ८ मैल म्हणजे १३ किमी(१२.८७ किमी.), १३ मैल म्हणजे (तुमचा अंदाज बरोबर आहे !) २१ किलोमीटर. (२०.९१७ किमी.). पण हे तर फक्त फिबोनाकी नंबर्सनाच चालते. जरा थांबा ! समजा तुम्हाला २० मैल चे किलोमीटर मध्ये रुपांतर करायचे आहे. तर मग २० ला फिबोनाकी नंबर्सच्या बेरजेमध्ये व्यक्त करा.

२० = १३ + ५ + २
आता प्रत्येक संख्या मैल-किलोमीटर सूत्रानुसार रुपांतरीत करा.
= २१ + ८ + ३
= ३२

अचूकपणे, २० मैल म्हणजे ३२.१८ किमी. होते.

याच्यामागचे Logic काय आहे याचा अंदाज येतोय का ? त्याचे कारण असे आहे –

मैल मधून किलोमीटर मध्ये रुपांतर करण्यासाठी १.६०९ ने गुणावे लागते. फिबोनाकी सिरीज ची एक अत्यंत interesting property आहे – फिबोनाकी सिरीज मधील लागोपाठच्या २ संख्यांचा ratio (१. ६१८) हा Golden ratio च्या आसपास जातो.  आता कळले रहस्य ?

सदर  post, वेदांग मणेरीकर द्वारा प्रकाशित  Fibonacci Numbers या लेखाचे भाषांतर असून,   http://mytechrants.wordpress.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर अभिजीत वैद्य  यांनी केले आहे.

Software Specifications घेताय? तुमच्यासाठी काही Tips:

सदर post, पल्लवी केळकर द्वारा प्रकाशित http://pallavikelkar.wordpress.com/2009/07/19/taking-software-specifications-tips-for-you/ या लेखाचे भाषांतर असून,http://pallavikelkar.wordpress.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर पल्लवी केळकर यांनीच केले आहे.

मी personally, Software Specifications घेण्याच्या प्रक्रियेत involve आहे. हे अतिशय कौशल्यपूर्ण व आव्हानात्मक काम आहे, असं मला वाटतं. Specification ची Software Development मधे अतिशय महत्वाची भूमिका आहे. तुम्हाला जेवढा त्याचा अनुभव येईल, तेवढी तुमची mastery होईल. आपण जर त्या घेताना चूक केली, तर आपल्याला ब‌र्‍याच changes मधून जावे लागते.
मला उपयुक्त वाटणारे काही मुद्दे मी reference साठी देत आहे.
१. काळजीपुर्वक ऐका: ऐकणं हेही एक कौशल्य आहे. client नक्की कशाबद्दल बोलतोय याची स्पष्ट कल्पना तुम्हाला यायलाच हवी. Client नेहमीच त्याची संकल्पना मांडण्याचा प्रयत्न करत असतो. तुम्हाला ती तंतोतंत पकडता आली पाहिजे. जर तुम्ही त्याचे म्हणणे काळजीपूर्वक ऐकत असाल, तुमचं त्याच्या बोलण्याकडे पूर्ण लक्ष असेल, तर तुम्ही आणि client एकाच track वर राहाल. नाहीतर client काहीतरी वेगळंच बोलतोयं, तुम्ही वेगळंच समजलात तर नंतर त्याचा खूप त्रास होऊ शकतो.

२. जेव्हा तुम्ही ऐकता तेव्हा parallel thinking करु नका: आपण जेव्हा कुठलीही गोष्ट ऐकत असतो तेव्हा दुस‌र्‍या गोष्टींशी त्याचा संदर्भ लावत असतो. उदा. जर आपण एखद्या software च्या संकल्पनेबद्दल ऐकत असू, तर त्याचा संदर्भ दुस‌र्‍या कुठल्यातरी software शी, जे आपण पाहिले आहे किंवा वाचले आहे, त्याच्याशी लावू पाहातो. असे parallel विचार जर चालू राहिले तर, काही मुद्दे वगळले जाण्याची शक्यता असते. असा विचार आपण नंतरही करू शकतो. हे parallel विचार करणं, मूळ संकल्पनेबद्दल खूप confusion आणि गैरसमज निर्माण करू शकतं.

३. Client ची व्यावसायीक पार्श्वभूमी(Professional Background) consider करा: Client ची व्यावसायीक पार्श्वभूमी जसं की field ( commerce/ management इ.), job profile वगैरे, माहिती करून घेणं फार महत्वाचं आहे. Client जे शब्दप्रयोग करतात, ते समजून घ्यायला तुम्हाला याची मदत होईल. उदा. जर ते commerce background चे असतील, तर तुम्हाला दिसेल की, ते बरीचशी उदाहरणं accounts मधील देतील. जर तुम्हाला तुमची संकल्पना मांडायची असेल तर तशाच प्रकारची उदाहरणं तुम्ही त्यांना देउ शकता, त्यामुळे त्यांना जास्त चांगल्या प्रकारे व लवकर समजेल.

४. प्रश्न विचारा: बोलण्याच्या दरम्यान जर तुम्हाला असं वाटलं की कुठलीतरी link, logic अनुसार वगळली जातीये किंवा कुठलातरी भाग तुम्हाला समजला नाहीये तर तिथे प्रश्न विचारा. यामुळे doubts स्पष्ट होतात आणि idea जास्त चांगली समजते. जर तुम्ही प्रश्न विचारलेत तर आपसूकच त्याविषयीची विस्तृत माहिती तुम्हाला मिळेल.

५. Analyze [Input- Process- output]: प्रत्येक software चे हेच structure आहे. तुम्हाला जर एकूण Input ची संख्या, कोणत्या process होतात आणि अपेक्षित output काय आहे, याची कल्पना आली, तर software specification चा सर्व भाग पूर्ण झाला.
प्रत्येक process व Logic चा या format मधे विचार करा. Missing links असतील तर त्या तुम्ही पकडू शकाल.

६.  पडताळणी करा (Verify): तुम्हाला  ज्या काही software requirements समजल्या आहेत, त्याची client बरोबर पडताळणी (verification)  करून घ्या. त्यामुळे तुम्हाला आणि client ला, काय समजले आहे याची स्पष्ट कल्पना येईल.

७. Key points ची नोंद करा: ऐकत असताना महत्वाचे मुद्दे तुमच्या भाषेत लिहून ठेवा. पुढील संदर्भासाठी हे अतिशय उपयुक्त आहे. कालांतराने काही मुद्दे miss होऊ शकतात, त्यावेळी हे तुम्हाला नक्की उपयोगी पडेल.

८. Technical शब्द टाळा: तुम्ही ज्यांच्याशी बोलताय त्यापैकी अनेक लोक non-technical असतील. जड जड technical शब्द वापरू नका, जे त्यांना समजायला अवघड जातील. ही गोष्ट त्यांच्यासाठी अडथळा ठरू शकते आणि communication मधे disturbance ठरू शकते. अगदी सोपी आणि सहज समजणारी भाषा वापरा.

९. जे process मधे involve आहेत, त्यांच्याशी बोला : अनेकदा ज्या माणसाकडून तुम्ही specification घेता, तो actual process मधे involve नसतो. जे involve असतात, त्यांच्याशी बोला, काम करताना येणा‍‍र्‍या practical issues बद्दल, ते तुम्हाला जास्त चांगलं मार्गदर्शन करतील. त्याची खूप मदत होते.
उदा. जर तुम्ही Inventory System ची specification घेत असाल, तर stock department चा head तुम्हाला process बद्दल व real time issues बद्दल चांगली माहिती देईल.

१०. Add your own value: सर्व शक्य solutions आणि अधिक ideas आणि सूचना, तुमच्याकडून add कशा करता येतील यावर विचार करा. हे नक्की value add करेल आणि client नक्की खूष होईल.

सदर post, पल्लवी केळकर द्वारा प्रकाशित http://pallavikelkar.wordpress.com/2009/07/19/taking-software-specifications-tips-for-you/ या लेखाचे भाषांतर असून,http://pallavikelkar.wordpress.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर पल्लवी केळकर यांनीच केले आहे.