आर्टिकल डाउनलोड करें आर्टिकल डाउनलोड करें

कंप्यूटर प्रोग्राम (Computer programs) को आजकल हमारी कार से लेकर हमारे स्मार्टफोन तक और लगभग हर एक जॉब में हर एक जगह पर इंप्लिमेंट किया जा रहा है। जैसे जैसे दुनिया और भी ज्यादा डिजिटल बनते जा रही है, नए प्रोग्राम की जरूरत भी उसके साथ में हमेशा बढ़ते जाएगी। अगर आपके पास में भी अगला कोई नया आइडिया है, तो क्यों न आप खुद भी एक प्रोग्राम तैयार कर लें? कंप्यूटर लेंग्वेज सीखना, अपने आइडिया को एक टेस्ट होने लायक प्रॉडक्ट में डेवलप करने और फिर जब तक कि ये रिलीज होने को रेडी नहीं हो जाता, तब तक उसे इटरेट करना (iterating) या बार बार यूज करते रहना सीखने के लिए नीचे दिए पहले स्टेप को पढ़ना शुरू करें।

विधि 1
विधि 1 का 6:

एक आइडिया बनाना (Coming Up With an Idea)

आर्टिकल डाउनलोड करें
  1. एक अच्छा प्रोग्राम एक ऐसी टास्क परफ़ोर्म करेगा, जो यूजर के लिए लाइफ आसान बना देगा। आप जिस टास्क को परफ़ोर्म करना चाहते हैं, उसके लिए पहले से मौजूद सॉफ्टवेयर की तलाश करें और फिर देखें अगर ऐसा कोई तरीका हो, जिसकी मदद से प्रोसेस को और भी ज्यादा आसान या स्मूद बनाया जा सके। एक सक्सेसफुल प्रोग्राम वो होता है, जिसमें यूजर्स काफी सारी यूटिलिटी या कई सारी उपयोगिता पा सकें।
    • अपने कंप्यूटर पर अपने डेली टास्क को एग्जामिन करें। ऐसा कोई तरीका है, जिससे आप उन टास्क के कुछ पार्ट्स को एक प्रोग्राम के जरिए ऑटोमेट कर पाएँ?
    • हर एक आइडिया को लिख लें। भले ही ये किसी समय पर सिली या कुछ अनोखा ही लग रहा हो, लेकिन इसके साथ आप एक यूजफुल या शायद शानदार आइडिया पर पहुँच सकते हैं।
  2. वो क्या काम करते हैं? वो उसे किस तरह से बेहतर कर सकते हैं? उनमें क्या कमी है? इन सवालों के जवाब देने से आपको अपने लिए इस्तेमाल करने के लिए एक आइडिया मिलने में मदद मिल जाएगी।
  3. ये डॉक्यूमेंट आपके प्रोजेक्ट के फीचर्स को और आप उससे क्या हासिल करने वाले हैं, को आउटलाइन करेगा। डेवलपमेंट प्रोसेस के दौरान डिजाइन डॉक्यूमेंट को रेफर करने से आपको आपके प्रोजेक्ट को ट्रेक पर बनाए रखने में मदद मिलेगी। डॉक्यूमेंट लिखने के बारे में डिटेल मदद पाने के लिए इस गाइड को देखें। डिजाइन डॉक्यूमेंट बनाना आपको ये भी डिसाइड करने में मदद करेगा कि आप आपके प्रोजेक्ट के लिए किस प्रोग्रामिंग लेंग्वेज (programming language) का इस्तेमाल करेंगे।
  4. जब आप कंप्यूटर प्रोग्रामिंग की शुरुआत कर रहे हों, तब आपको छोटी शुरुआत करना चाहिए और समय के साथ आगे बढ़ते जाना चाहिए। अगर आप ऐसे ऐसे वास्तविक लक्ष्य बनाएँगे, जिन्हें आप बेसिक प्रोग्राम के जरिए पूरा कर सकते हैं, तो आपके लिए ज्यादा सीखना आसान हो जाएगा।
विधि 2
विधि 2 का 6:

एक प्रोग्रामिंग लेंग्वेज सीखना (Learning a Language)

आर्टिकल डाउनलोड करें
  1. लगभग अभी प्रोग्राम को टेक्स्ट एडिटर में लिखा जाता है और फिर उन्हें कंप्यूटर पर रन करने के लिए कंपाइल किया जाता है। वैसे तो आप नोटपैड (Notepad) या टेक्स्टएडिट (TextEdit) जैसे प्रोग्राम यूज कर सकते हैं, लेकिन आपको Notepad++ JEdit, या Sublime Text जैसे एक सिंटेक्स हाइलाइटिंग एडिटर को डाउनलोड करने की सलाह दी जाती है। ये आपके कोड को देखकर समझना और भी आसान बना देगा।
    • कुछ लेंग्वेज, जैसे कि विजुअल बेसिक (Visual Basic) में एडिटर और कंपाइलर एक पैकेज में शामिल होते हैं।
  2. सारे प्रोग्राम को कोडिंग के जरिए बनाया जाता है। अगर आप अपना खुद का प्रोग्राम बनाना चाहते हैं, तो आपको कम से कम एक प्रोग्रामिंग लेंग्वेज को यूज करते आना चाहिए। आपको कौन सी लेंग्वेज सीखने की जरूरत होगी, ये इस बात पर डिपेंड करेगा कि आप कौन सा प्रोग्राम तैयार करना चाहते हैं। कुछ सबसे यूजफुल और जरूरी लेंग्वेज में ये नाम शामिल हैं:
    • C - C एक लो लेवल लेंग्वेज (low-level language) है, जो कंप्यूटर के हार्डवेयर के साथ बहुत करीब से इंटरेक्ट करती है। ये सबसे पुरानी प्रोग्रामिंग लेंग्वेज में से एक है, जिन्हें अभी भी काफी इस्तेमाल किया जाता है।
    • C++ - C लेंग्वेज की सबसे बड़ी कमी ये है कि ये ऑब्जेक्ट-ओरिएंटेड़ (object-oriented) नहीं है। यही वो कमी है, जहां पर C++ का इस्तेमाल शुरू हो जाता है। C++ आज के समय में दुनियाभर में इस्तेमाल होने वाली सबसे पॉपुलर लेंग्वेज है। क्रोम (Chrome), फायरफॉक्स (Firefox), फोटोशॉप (Photoshop) और भी कई सारे प्रोग्राम को C++ के साथ बनाया गया है। ये वीडियो गेम्स तैयार करने के लिए भी एक बहुत पॉपुलर लेंग्वेज है।
    • जावा (Java) - जावा C++ लेंग्वेज का ही एक विकसित या डेवलप्ड वर्जन है और ये बेहद पोर्टेबल (portable) है। ज़्यादातर कंप्यूटर, चाहे उनका ऑपरेटिंग सिस्टम कोई भी हो, एक जावा वर्चुअल मशीन (Java Virtual Machine) को रन कर सकते हैं, जिससे तैयार हुआ प्रोग्राम लगभग दुनियाभर में कहीं से भी इस्तेमाल किया जा सकता है। इसे वीडियो गेम्स और बिजनेस सॉफ्टवेयर में काफी ज्यादा इस्तेमाल किया जाता है और इसे अक्सर एक एशेन्सियल लेंग्वेज (essential language) की तरह रिकमेंड किया जाता है।
    • C# - C# एक विंडोज-बेस्ड लेंग्वेज (Windows-based language) है और ये विंडोज प्रोग्राम को बनाते समय इस्तेमाल किए जाने वाली लेंग्वेज में से एक मेन लेंग्वेज है। ये काफी हद तक Java और C++ से रिलेटेड है और अगर आपको जावा पहले से आती है, तो इसे सीखना आसान हो जाता है। अगर आप विंडोज या विंडोज फोन प्रोग्राम (Windows Phone program) बनाना चाहते हैं, तो आपको इस लेंग्वेज की तरफ ध्यान देना चाहिए।
    • ऑब्जेक्टिव C (Objective-C) - ये भी C लेंग्वेज के परिवार का ही एक हिस्सा है, जिससे खासतौर पर एप्पल सिस्टम (Apple systems) के लिए डिजाइन किया गया है। अगर आप आईफोन या आईपैड एप्स बनाना चाहते हैं, तो ये लेंग्वेज आपके लिए है।
  3. किसी भी हाइ लेवल हाइ लेवल लेंग्वेज, जैसे कि C++, Java, और बाकी की कई दूसरी के लिए, आपको आपके कोड को एक ऐसे फ़ारमैट में कन्वर्ट करने के लिए एक कंपाइलर की जरूरत पड़ेगी, जिसे कंप्यूटर समझ सके। चुनने के लायक कई सारे कंपाइलर हैं, जो आपके द्वारा इस्तेमाल किए जाने वाले लेंग्वेज पर डिपेंड करेगा। [१]
    • कुछ लेंग्वेज इंटरप्रिटेड लेंग्वेज होती हैं, जिसका मतलब कि इन्हें कंपाइलर की जरूरत नहीं होती है। बल्कि, इन्हें केवल कंप्यूटर पर इन्स्टाल लेंग्वेज इंटरप्रिटर की जरूरत होती है और प्रोग्राम बस तुरंत रन हो सकेगा। इंटरप्रिटेड लेंग्वेज के कुछ उदाहरण में पर्ल (Perl) और पाइथन (Python) शामिल हैं।
  4. आप चाहे किसी भी लेंग्वेज को चुन सकते हैं, तो आपको कुछ बेसिक कॉमन कॉन्सैप्ट सीखने की जरूरत पड़ेगी। लेंग्वेज के सिंटेक्स को हैंडल करने का तरीका सीखकर आप और भी पॉवरफुल प्रोग्राम तैयार कर पाएंगे। कॉमन कॉन्सैप्ट में ये शामिल हैं:
    • वेरिएबल्स डिक्लेयर करना - वेरिएबल्स आपके प्रोग्राम में डेटा को टेम्पररिली स्टोर करने का तरीका होते हैं। इस डेटा को प्रोग्राम में बाद में स्टोर, मोडिफ़ाई, मेनिपुलेट किया जा सकता और कभी भी कॉल किया जा सकता है।
    • कंडीशनल स्टेटमेंट्स (if, else, when, बगैरह) यूज करना - ये प्रोग्राम के बेसिक फंक्शन में से एक हैं और ये लॉजिक के काम करने के तरीके को दर्शाते हैं। कंडीशनल स्टेटमेंट्स "true" और "false" स्टेटमेंट्स के आसपास काम करते हैं।
    • लूप (for, goto, do, बगैरह) यूज करना - लूप आपको किसी प्रोसेस को तब तक बार बार रिपीट करने देते हैं, जब तक कि दी हुई कमांड स्टॉप नहीं हो जाती।
    • एस्केप सीक्वेंस (escape sequences) यूज करना - ये कमांड कुछ फंक्शन परफ़ोर्म करती हैं, जैसे कि नई लाइन, इंडेंट, कोट्स और भी बहुत कुछ।
    • कोड पर कमेन्ट करना - कमेंट्स आपका कोड क्या करता है, को याद रखने के लिए जरूरी होते हैं, जो दूसरे प्रोग्रामर को आपके कोड को समझने में मदद करता है और कोड के कुछ पार्ट्स को कुछ समय के लिए डिसेबल करता है।
    • रेगुलर एक्स्प्रेसन को समझना।
  5. हर एक लेंग्वेज और हर एक लेवल की एक्सपर्टीज के लिए बुक्स उपलब्ध हैं। प्रोग्रामिंग बुक्स को आप आपके लोकल बुकस्टोर से या ऑनलाइन रिटेलर से खरीद सकते हैं। एक बुक आपके लिए एक कीमती टूल हो सकती है, क्योंकि काम करते समय आप इसे अपने साथ में रख सकते हैं।
    • बुक्स के आगे, इन्टरनेट पर भी न जाने कितनी ही सारी गाइड्स और ट्यूटोरियल उपलब्ध हैं। Codecademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools, और भी कई सारी वैबसाइट पर आपकी पसंद की लेंग्वेज की गाइड्स के लिए सर्च करें।
  6. प्रोग्राम बनाना कोई भी सीख सकता है, बस उसका मन उसमें लग जाए, लेकिन कभी कभी एक टीचर और एक क्लासरूम एनवायरनमेंट का होना भी बहुत फायदेमंद हो सकता है। किसी एक्सपर्ट के साथ टाइम स्पेंड करना प्रोग्रामिंग फंडामेंटल और कॉन्सैप्ट को समझने में लगने वाले टाइम को काफी कम कर सकता है। क्लासेस एडवांस मैथ और लॉजिक को सीखने की भी एक अच्छी जगह होती है, जिनकी और मुश्किल प्रोग्राम के लिए जरूरत पड़ने वाली है।
    • क्लास जॉइन करने के लिए पैसे लगते हैं, इसलिए पक्का कर लें कि आप उन्हीं क्लास के लिए साइन अप करते हैं, जो आपको वही सीखने में मदद करें, जो आप सीखना चाहते हैं।
  7. इन्टरनेट दूसरे डेवलपर के साथ में जुडने का एक शानदार तरीका होता है। अगर आप खुद को अपने किसी प्रोजेक्ट में फंसा हुआ पाते हैं, तो StackOverflow के जैसी साइट्स पर हेल्प के लिए पूछें। सुनिश्चित करें कि आप एक इंटेलिजेंट मैनर में ही पूछते हैं और ऐसा प्रूव कर सकते हैं कि आप पहले ही सारे संभावित सलुशन को ट्राई करके देख चुके हैं।
विधि 3
विधि 3 का 6:

अपना प्रोटोटाइप बनाना (Building Your Prototype)

आर्टिकल डाउनलोड करें
  1. अपनी कोर फंक्शनेलिटी के साथ एक बेसिक प्रोग्राम लिखना शुरू करें: ये एक प्रोटोटाइप होगा, जो उस फंक्शनेलिटी को दर्शाएगा, जिसे आप पाने का लक्ष्य कर रहे हैं। प्रोटोटाइप एक क्विक प्रोग्राम होता है और इसे तब तक इटरेट या दोहराया जाना चाहिए, जब तक कि आपको एक ऐसा डिजाइन न मिल जाए, जो आपके काम आए। जैसे, अगर आप एक एक कैलेंडर क्रिएट कर रहे हैं, तो आपका प्रोटोटाइप एक बेसिक कैलेंडर (सही डेट के साथ में) और उसमें इवैंट एड करने का तरीका रहेगा।
    • आप जब प्रोटोटाइप बनाते हैं, तब टॉप-डाउन अप्रोच (top-down approach) फॉलो करें। शुरुआत में जितनी हो सकें, उतनी ज्यादा डिटेल को छोड़ते जाएँ। फिर, आराम से डिटेल्स के ऊपर धीरे धीरे काम करते जाएँ। ये प्रोटोटाइपिंग प्रोसेस को तेज कर देगा और साथ ही आपके कोड को भी बहुत ज्यादा कॉम्प्लेक्स और मैनेज न होने योग्य बनने से भी बचाए रखेगा। अगर आपका कोड फॉलो करने में बहुत मुश्किल हो जाता है, आपको वापस शुरुआत से फिर से शुरू करने की जरूरत पड़ेगी।
    • डेवलपमेंट साइकिल के दौरान जैसे जैसे आपको प्रॉब्लम को संभालने के नए तरीके मिलते जाएंगे या फिर बाद में आप ऐसा कोई आइडिया सोच लेते हैं, जिसे भी आप एड करना चाहें, इसके चलते आपका प्रोटोटाइप कई बार चेंज होगा।
    • अगर आप एक गेम बना रहे हैं, आपका प्रोटोटाइप मजेदार होना चाहिए! अगर प्रोटोटाइप मजेदार नहीं है, तो उम्मीद है कि पूरा गेम भी ज्यादा खास मजेदार नहीं रहेगा।
    • अगर आपके मनचाहे मेकेनिक्स प्रोटोटाइप में काम नहीं कर रहे हैं, तो फिर शायद टाइम अब वापस अपने ड्रॉइंग बोर्ड की ओर जाने का है।
  2. अगर आप आपके प्रोग्राम को खुद से डेवलप कर रहे हैं, तो आप एक टीम बनाने के लिए एक प्रोटोटाइप की मदद ले सकते हैं। एक टीम बग्स (bugs) को तेजी से पकड़ने में, फीचर्स इटरेट करने में और प्रोग्राम के विजुअल इफ़ेक्ट्स को डिजाइन करने में आपकी मदद करेगी।
    • निश्चित रूप से छोटे प्रोजेक्ट के लिए एक टीम की जरूरत नहीं होगी, लेकिन एक टीम डेवलपमेंट टाइम को काफी हद तक कम जरूर कर देगी।
    • टीम के साथ काम करना एक मुश्किल और कॉम्प्लेक्स प्रोसेस है और इसके लिए टीम के अच्छे स्ट्रक्चर के साथ में अच्छी मैनेजमेंट स्किल्स की भी जरूरत पड़ती है। एक ग्रुप के साथ काम करने के लिए आपको अच्छी मैनेजमेंट स्किल्स सीखने की जरूरत पड़ेगी।
  3. जैसे ही आप आपकी लेंग्वेज के साथ फैमिलियर हो जाएँ, फिर आप बस कुछ ही दिन में एक प्रोटोटाइप को बनाना और रन करना सीख जाएंगे। इनके क्विक नेचर की वजह से, अगर आप जो हो रहा है, उससे खुश नहीं हैं, तो अपने आइडिया को पूरा खत्म करने और एक दूसरे एंगल से शुरुआत करने से न घबराएँ।। सारे फीचर्स के उनकी जगह पर आने के बाद ऐसा करने की बजाय, अच्छा होगा कि आप इस स्टेज में ही किसी भी बड़े बदलाव को अपना लें।
  4. सारे, लेकिन सबसे बेसिक लाइन ऑफ कोड के लिए नोट्स छोड़ने के लिए अपनी प्रोग्रामिंग लेंग्वेज में कमेंट सिंटेक्स (comment syntax) का इस्तेमाल करें। अगर आप कुछ समय तक अपने प्रोजेक्ट से दूर हो जाते हैं, या ये आपको ये याद रखने में मदद करेगा कि आप क्या कर रहे थे और साथ ही दूसरे डेवलपर्स को भी आपके कोड को समझने में मदद करेगा। अगर आप एक प्रोग्रामिंग टीम के एक पार्ट की तरह काम कर रहे हैं, तो आपके लिए ऐसा करने और भी ज्यादा जरूरी हो जाता है।
    • आप चाहें तो टेस्टिंग के दौरान टेम्पररिली डिसेबल किए कोड के पार्ट के लिए कमेन्ट कर सकते हैं। बस आप जिस कोड को डिसेबल करना चाहते हैं, उसे कमेन्ट सिंटेक्स के अंदर कर दें और फिर ये कंपाइल नहीं होगा। फिर आप कमेन्ट सिंटेक्स को डिलीट कर सकते हैं और बस आपका कोड रिस्टोर हो जाएगा।
विधि 4
विधि 4 का 6:

अल्फा टेस्टिंग (Alpha Testing)

आर्टिकल डाउनलोड करें
  1. अल्फा स्टेज में, टेस्टिंग को छोटा रखा जा सकता है और ऐसा होना भी चाहिए। एक छोटा ग्रुप आपको फोकस्ड फीडबैक पाने में मदद करेगा और साथ ही आपको टेस्टर के साथ एक एक करके इंटरफेस करने का भी मौका मिल जाएगा। हर बार आप जब भी प्रोटोटाइप में कोई अपडेट करते हैं, नए बिल्ड्स (प्रोग्राम) को अल्फा टेस्टर तक पहुंचाया जाता है। टेस्टर फिर सभी रिजल्ट्स को लिखने के साथ सभी शामिल फीचर्स को ट्राई करता है और साथ में प्रोग्राम को ब्रेक भी करके देखेगा।
    • अगर आप एक कमर्शियल प्रॉडक्ट डेवलप कर रहे हैं, तो आपको सुनिश्चित करना होगा कि आपके सारे टेस्टर एक नॉन-डिस्क्लोजर अग्रीमेंट (Non-Disclosure Agreement या NDA) साइन करते हैं। ये उन्हें दूसरे लोगों को आपके प्रोग्राम के बारे में बताने से रोकेगा और साथ ही इसे प्रैस और दूसरे यूजर्स तक भी लीक होने से बचाएगा।
    • एक सॉलिड टेस्टिंग प्लान बनाने के लिए थोड़ा टाइम लें। सुनिश्चित करें कि आपके टेस्टर के पास प्रोग्राम में मौजूद कोई भी बग को आसानी से रिपोर्ट करने का तरीका है, साथ ही अल्फा के नए वर्जन का भी आसानी से एक्सेस है। GitHub और दूसरे कोड रिपोजिटरी इस पहलू को ठीक से मैनेज करने के शानदार तरीके हैं।
  2. बग्स हर एक डेवलपर की एक गलती या कमी जैसे होते हैं। कोड में एरर्स और अनचाहे इस्तेमाल की वजह से आखिरी में तैयार हुए प्रॉडक्ट में कई तरह की प्रॉब्लम आ सकती हैं। जब आप आपके प्रोटोटाइप के ऊपर काम करते हैं, तब इसे जितना हो सके, उतना ज्यादा बार टेस्ट करें। इसे ब्रेक करने के लिए आप से जो भी हो सके, वो सब करें और फिर इसे फ्यूचर में ब्रेक होने से रोकने की कोशिश करें।
    • अगर आपका प्रोग्राम डेट के साथ काम करता है, तो उसमें गलत डेट इनपुट करके देखें। काफी ऑड डेट या फिर फ्यूचर डेट की वजह से प्रोग्राम में आपको कुछ अजीब ही रिएक्शन देखने को मिल सकते हैं।
    • गलत टाइप के वेरिएबल को इनपुट करें। जैसे, अगर आपके पास में ऐसा एक फॉर्म है, जिसमें यूजर से उसकी एज पूछी जाती है, तो उसमें नंबर की जगह कोई शब्द एंटर करें और देखें प्रोग्राम में क्या होता है।
    • अगर प्रोग्राम में एक ग्राफ़िकल इंटरफेस है। तो सभी चीजों पर क्लिक करें। जब आप पिछली स्क्रीन पर जाते हैं या बटन को गलत ऑर्डर में क्लिक करते हैं, तब क्या होता है?
  3. जब अल्फा में प्रोग्राम को रिवाइज करें, तब आपका ज़्यादातर टाइम उन फीचर्स को फिक्स करने में लगेगा, जो ठीक से काम नहीं करते। जब अल्फा टेस्टर से अपनी बग रिपोर्ट को ओर्गेनाइज़ करें, तब इन्हें दो मेट्रिक के आधार पर शॉर्ट करने या छँटने की जरूरत होगी: सिवियेरिटी (या गंभीरता) और प्रायोरिटी (या प्राथमिकता)।
    • बग की सिवियेरिटी बताती है कि बग की वजह से कितना ज्यादा नुकसान हो रहा है। ऐसे बग्स, जो प्रोग्राम को क्रेश करते, डेटा करप्ट करते, प्रोग्राम को रन होने से रोकते हैं, इन्हें ब्लॉकर्स (Blockers) की तरह रेफर किया जाता है। ऐसे फीचर्स, जो काम नहीं करे हैं या गलत रिजल्ट्स देते हैं, को क्रिटिकल (Critical) की तरह लेबल किया जाता है, जबकि मुश्किल से इस्तेमाल होने वाले या खराब दिखने वाले फीचर्स को मेजर (Major) की तरह लेबल किया जाता है। ये नॉर्मल (Normal), माइनर (Minor) और ट्रिवियल (Trivial) बग्स होते हैं, जो छोटे सेक्शन को प्रभावित करता है या कम जरूरी फीचर्स होते हैं।
    • बग की प्रायोरिटी ये निर्धारित करती है कि आप बग्स को फिक्स करते समय उन्हें किस क्रम में संभालते हैं। सॉफ्टवेयर में बग्स को फिक्स करना एक टाइम लेने वाली प्रोसेस होती है और ये आपके और फीचर्स एड करने और पॉलिश करने में एड करने वाले टाइम को भी ले लेता है। इसके लिए, डैडलाइंस तक काम पूरा करने की पुष्टि के लिए आपको बग की प्रायोरिटी को ध्यान में रखकर चलना होगा। सारे ब्लॉकर और क्रिटिकल बग्स सबसे हाइ प्रायोरिटी में जाते हैं, इन्हें कभी कभी P1 की तरह भी रेफर किया जाता है। P2 बग्स आमतौर पर मेजर बग्स होते हैं, जिन्हें फिक्स करने के लिए शेड्यूल किया जाता है, लेकिन ये प्रॉडक्ट को शिप होने या दिए जाने से रोक लेते हैं। P3 और P4 बग्स आमतौर पर फिक्स किए जाने के लिए शेड्यूल नहीं होते हैं और ये "nice to have" केटेगरी में आते हैं।
  4. अल्फा फेज के दौरान, आप अपने प्रोग्राम को आपके डिजाइन डॉक्यूमेंट में तय किए आउटलाइन प्रोग्राम के तकरीबन नजदीक लेकर जाने के लिए अपने प्रोग्राम में और भी फीचर्स एड करेंगे। अल्फा स्टेज वो पॉइंट है, जहां से प्रोटोटाइप एक फुल प्रोग्राम के लिए एक बेसिक में बनने के लिए तैयार होता है। अल्फा स्टेज के आखिर में, आपके प्रोग्राम में इम्प्लीमेंट किए सारे फीचर्स को रहना चाहिए।
    • अपने ओरिजिनल डिजाइन डॉक्यूमेंट से बहुत ज्यादा भी आगे न निकल जाएँ। "फीचर-क्रीप या अनियंत्रित विस्तार" होना सॉफ्टवेयर डेवलपमेंट की एक कॉमन प्रॉब्लम है, जिसमें नए आइडिया एड होते जाते हैं, जिसकी वजह से ओरिजिनल फोकस खो जाता है और कई सारे डिफरेंट फीचर्स के बीच में डेवलपमेंट टाइम भी बंट जाता है। आपको आपके प्रोग्राम को वो जैसा है, उसमें ही बेस्ट बनाना है, न कि उसे बाकी के दूसरों प्रोग्राम से मैच करने की कोशिश करना है।
  5. आप जब अल्फा फेज के दौरान आपके प्रोग्राम में फीचर एड करते हैं, नए बिल्ड को आपके टेस्टर के पास भेज दें। नए बिल्ड की रेगुलेरिटी पूरी तरह से आपके टीम साइज पर और आप फीचर्स पर कितनी प्रोग्रेस कर रहे हैं, पर डिपेंड करेगी।
  6. अल्फा के फिनिश होने के बाद, अपने फीचर्स को लॉक करें: जैसे ही आप अपने प्रोग्राम में सारे फीचर्स और फंक्शनेलिटी को इम्प्लीमेंट कर लेते हैं, फिर आप अल्फा फेज पर बढ़ सकते हैं। इस पॉइंट पर, कोई भी एक्सट्रा फीचर एड नहीं किया जाना चाहिए और उसमें मौजूद सभी फीचर्स को काम करना चाहिए। अब आप बीटा फेज से मशहूर बड़ी टेस्टिंग और पॉलिश की ओर बढ़ सकते हैं।
विधि 5
विधि 5 का 6:

बीटा टेस्टिंग (Beta Testing)

आर्टिकल डाउनलोड करें
  1. बीटा फेज में, प्रोग्राम को एक बड़े टेस्टर के ग्रुप को उपलब्ध कराया जाता है। कुछ डेवलपर्स बीटा फेज को पब्लिक बनाते हैं, जिसे एक ओपन बीटा की तरह रेफर किया जाता है। इसमें कोई भी साइन अप करके और प्रॉडक्ट टेस्टिंग में पार्टिसिपेट कर सकता है।
    • आपके प्रॉडक्ट की जरूरत के आधार पर, आपको ओपन बीटा को नहीं चुनना चाहिए।
  2. जब प्रोग्राम ज्यादा से ज्यादा इंटरकनेक्टेड होते जाता है, इस बात की संभावना है कि आपका प्रोग्राम दूसरे प्रॉडक्ट से कनैक्शन या सर्वर के साथ कनैक्शन पर निर्भर करेगा। बीटा टेस्टिंग आपको ये सुनिश्चित करने देती है कि ये कनैक्शन बड़े लोड के अंदर भी काम करते हैं, जो सुनिश्चित करेगा कि आपका प्रोग्राम रिलीज होने पर पब्लिक के द्वारा इस्तेमाल किए जाने योग्य होगा।
  3. बीटा फेज में, कोई भी एक्सट्रा फीचर एड नहीं हो सकता है, इसलिए अब आप प्रोग्राम के दिखने के तरीके में और यूजेबिलिटी में सुधार के ऊपर फोकस कर सकते हैं। इस फेज में, UI (यूजर इंटरफेस) डिजाइन प्रायोरिटी बन जाती है जिसमें आप सुनिश्चित करते हैं कि यूजर्स को प्रोग्राम नेविगेट करने में और फीचर्स का लाभ लेने में कोई मुश्किल नहीं होगी।
    • UI डिजाइन और फंक्शनेलिटी बहुत कॉम्प्लेक्स और मुश्किल हो सकती हैं। लोग UI डिजाइन करने में अपना पूरा करियर बना लेते हैं। बस इतना सुनिश्चित कर लें कि आपके पर्सनल प्रोजेक्ट को इस्तेमाल करना आसान है और ये देखने में भी आसान है। एक प्रोफेशनल UI शायद बजट और एक टीम के बिना पॉसिबल नहीं होगा।
    • अगर आपका बजट अच्छा है, तो ऐसे कई सारे फ्रीलेंस ग्राफिक्स डिजाइनर मिल जाएंगे, जो आपके लिए एक कॉन्ट्रेक्ट बेसिस पर एक डिजाइन तैयार करके दे सकेंगे। अगर आपका प्रोजेक्ट इतना अच्छा है कि आपको उसके अगली बड़ी चीज बनने की उम्मीद है, तो उसके लिए कुछ एक अच्छे UI डिजाइनर की तलाश करें और उन्हें अपनी टीम का एक पार्ट बना लें।
  4. बीटा फेज के दौरान, आपको अभी भी अपने यूजर बेस से बग रिपोर्ट पर केटालॉग और प्रायोरिटाइज़ करते रहना चाहिए। क्योंकि और भी टेस्टर को प्रॉडक्ट पर एक्सेस मिल जाएगा, उम्मीद है कि और भी नए बग्स की पहचान हो जाएगी। बग्स को उनकी प्रायोरिटी के बेसिस पर, अपनी फ़ाइनल डैडलाइन को ध्यान में रखते हुए हटाएँ। [२]
विधि 6
विधि 6 का 6:

प्रोग्राम को रिलीज करना (Releasing the Program)

आर्टिकल डाउनलोड करें
  1. अगर आप यूजर्स पाना चाहते हैं, तो आपको सुनिश्चित करना होगा कि उन्हें आपके प्रोग्राम की मौजूदगी के बारे में जानकारी रहे। ठीक किसी भी दूसरे प्रॉडक्ट की तरह, आपको लोगों को अवगत कराने के लिए अपने प्रॉडक्ट की मार्केटिंग की जरूरत पड़ेगी। आपकी मार्केटिंग केम्पेन की एक्सटेंट और डेप्थ आपके प्रोग्राम के फंक्शन, साथ में आपके मौजूदा बजट के आधार पर डिक्टेट की जाएगी। अपने प्रोग्राम के बारे में लोगों को जानकारी देने के लिए कुछ तरीकों में, ये शामिल हैं:
    • अपने प्रोग्राम के बारे में रिलेटेड मेसेज बोर्ड पर पोस्ट करें। आप जिस भी फोरम को चुनते हैं, उसके पोस्टिंग रूल्स को फॉलो करने की पुष्टि करें, ताकि आपके पोस्ट को एक स्पैम (spam) की तरह न मार्क कर दिया जाए।
    • टैक साइट्स पर प्रैस रिलीज को सेंड करें। ऐसे कुछ टैक ब्लॉग और साइट्स की तलाश करें, जो आपके प्रोग्राम के जॉनर पर फिट बैठे। आपके प्रोग्राम की डिटेल और वो क्या करता है, के साथ में एडिटर्स को एक प्रैस रिलीज सेंड करें। कुछ स्क्रीनशॉट्स भी शामिल करें।
    • कुछ यूट्यूब वीडियो बनाएँ। अगर आपके प्रोग्राम को किसी विशेष टास्क को कंप्लीट करने के लिए डिजाइन किया गया है, तो आपके प्रोग्राम को यूज करते हुए कुछ यूट्यूब वीडियो बना लें। उन्हें "How-To" वीडियो की तरह स्ट्रक्चर करें।
    • एक सोशल मीडिया पेज बनाएँ। आप आपके प्रोग्राम के लिए फ्री फेसबुक और गूगल प्लस (Google+) पेज बना सकते हैं और आप कंपनी और प्रोग्राम स्पेसिफिक न्यूज के लिए ट्विटर भी इस्तेमाल कर सकते हैं।
  2. छोटे प्रोग्राम के लिए, आप उन्हें आपकी खुद की वैबसाइट पर भी होस्ट कर सकते हैं। अगर आप आपके सॉफ्टवेयर के लिए चार्ज करने वाले हैं, तो आपको एक पेमेंट सिस्टम भी शामिल करना होगा। अगर आपका प्रोग्राम पॉपुलर हो जाता है, तो आपको एक ऐसे सर्वर पर फ़ाइल को होस्ट करने की जरूरत पड़ेगी, जो और डाउनलोड्स को संभाल सके।
  3. जब आपका प्रोग्राम ज्यादा बड़े पैमाने पर रिलीज हो जाए, आपके सामने टेक्निकल प्रॉब्लम के साथ या फिर प्रोग्राम के काम करने के तरीके के साथ कुछ प्रॉब्लम के साथ कुछ यूजर्स आएंगे। आपकी वैबसाइट पर डिटेल में डॉक्यूमेंटेशन, साथ में एक सपोर्ट सर्विस भी उपलब्ध होना चाहिए। इसमें एक टेक्निकल सपोर्ट फोरम, एक सपोर्ट ईमेल, लाइव हेल्प आय इनका कोंबिनेशन शामिल है। आप आपके बजट के अनुसार जो भी प्रोवाइड कर सकें, वो करें।
  4. आजकल मौजूद लगभग हर एक प्रोग्राम को उनकी रिलीज के लंबे समय बाद पैच अप और अपडेट किया जाता है। ये पैच शायद क्रिटिकल या नॉन-क्रिटिकल प्रॉब्लम को फिक्स कर सकते हैं, सिक्योरिटी प्रोटोकॉल अपडेट कर सकते, टेबिलिटी इम्प्रूव कर सकते हैं या शायद फंक्शनेलिटी एड कर सकते या एस्थेटिक्स को चेंज कर सकते हैं। अपने प्रोग्राम को अपडेटेड रखना आपको कॉप्टिटिव बनाए रखने में हेल्प करेगा।

संबंधित लेखों

अपने सिम कार्ड से अपना मोबाइल नंबर पता करें
उस व्यक्ति को कॉल करें जिसने आपका नंबर ब्लॉक कर दिया है (Call a Person That Has Blocked Your Number)
इंस्टाग्राम पासवर्ड रीसेट करें (Reset Your Instagram Password)
इंस्टाग्राम पर किसी लड़की से बात शुरू करें (Start a Conversation with a Girl on Instagram)
ब्लॉक (block) किए हुये नंबर पर वापस कॉल करें
Pirate Bay से डाउनलोड करें (Download from Pirate Bay)
WhatsApp टिप्स: फेक नंबर से व्हाट्सअप चलायें
फोटो की मदद से किसी की खोज करें (Search and Find About Someone Using Image Easily)
यूट्यूब से गाने डाउनलोड करें (Kaise YouTube se Gaane Download Kare)
PC में हिंदी में टाइप करें (Type in Hindi on a PC)
लड़कियों से ऑनलाइन बातें करें (Talk to Girls Online)
एंड्राइड में सेफ मोड बंद करें
HTML का इस्तेमाल करके एक वेब पेज तैयार करें (Create a Simple Web Page with HTML)
क्रोम पर एडल्ट कॉन्टेंट ब्लॉक करने के 4 आसान तरीके

विकीहाउ के बारे में

सभी लेखकों को यह पृष्ठ बनाने के लिए धन्यवाद दें जो ४,१८५ बार पढ़ा गया है।

यह लेख ने कैसे आपकी मदद की?