एक बड़ी परियोजना की शुरुआत में कदम क्या हैं, जब मेरे पास एक बड़ा विचार है? [बन्द है]


49

मैं कंप्यूटर इंजीनियरिंग का छात्र हूं। मैं सोच रहा हूं कि मैं एक बड़ी परियोजना को कैसे संभाल सकता हूं। अधिक कुशल और प्रभावी तरीके से अपने लक्ष्य तक पहुंचने के लिए मेरा पहला कदम क्या होना चाहिए?

जब मैं एक परियोजना के साथ आता हूं, तो मुझे नहीं पता कि मुझे इस पर कैसे काम करना शुरू करना चाहिए। कई बार, मैं इसे अनदेखा कर देता हूं। हालाँकि, मैं अपने प्रोजेक्ट विचारों को अब अनदेखा नहीं करना चाहता।

अब, मैं आप सभी से पूछ रहा हूँ, क्या कोई अपने अनुभवों को साझा कर सकता है? जब मेरे पास एक विचार है तो मुझे एक परियोजना कैसे शुरू करनी चाहिए?


11
उत्तर: पहला कदम, संस्करण नियंत्रण का उपयोग करना शुरू करें । बाहर की जाँच करें कि वे खुले स्रोत रिपॉजिटरी जैसे कि
गीथब

"संस्करण नियंत्रण" का अर्थ क्या है? क्या आप अधिक वर्णन कर सकते हैं?

मेरा जवाब नीचे देखें।
10

1
मैं [प्रॉडक्टिविटी] पर माइग्रेशन का सुझाव देता हूं, लेकिन संभवत: इसे वहां NARQ के रूप में बंद कर दिया जाएगा। यह वास्तव में प्रोग्रामिंग या प्रोग्रामर के साथ बहुत कुछ नहीं करता है, यह अविश्वसनीय रूप से खुला-समाप्त है, और यह अस्पष्ट है ("बड़ा" प्रोजेक्ट क्या है? "अधिक" कुशल / प्रभावी क्या है?)।
एरोन

6
वास्तव में आपके प्रश्न का उत्तर नहीं है लेकिन: असफल होने से डरो मत। उन लोगों की बात न सुनें जो आपको कैंट नहीं बताते हैं। आप जिन लोगों के बारे में पढ़ते हैं वे प्रसिद्ध नहीं हैं क्योंकि वे स्मार्ट या प्रतिभाशाली थे। वे प्रसिद्ध हैं क्योंकि वे लगातार थे। स्मार्ट और प्रतिभाशाली लोग एक दर्जन से अधिक हैं। लगातार लोग दूर और कुछ के बीच हैं।
चार्ल्स लैंबर्ट

जवाबों:


64

एक पल के लिए विकास के माहौल को कोड करना और स्थापित करना भूल जाते हैं। यदि आप किसी बड़े प्रोजेक्ट को अपनाना चाहते हैं, तो सबसे पहले आपको प्रोजेक्ट के उद्देश्य और दायरे पर ध्यान देना चाहिए।

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

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

इसी तरह मैं अब सभी गैर-तुच्छ परियोजनाओं को शुरू करता हूं। यह मुझे ध्यान केंद्रित रखने में मदद करता है, और विकास के दौरान गुंजाइश और उद्देश्य को 'विकसित' करने में मदद करता है।


आप जो कुछ भी कहते हैं, उसके लिए +1। इस पुस्तक को भी पढ़ें
treecoder

+1 - मुझे कुछ भी जोड़ने की कोई आवश्यकता नहीं है।
प्रात:

यह एक बेहतरीन जवाब है। यदि आपके पास कुछ प्रकार के प्रोजेक्ट प्रबंधन सॉफ़्टवेयर हैं, तो इसके साथ शुरुआत करें। वहाँ कुछ मुक्त वहाँ पाठ्यक्रम की सीमाओं के साथ कर रहे हैं। मैंने CampFire ( campfirenow.com/signup का उपयोग किया है , पहले "हम एक मुफ्त योजना की पेशकश करते हैं: 10 एमबी स्टोरेज के साथ 4 चैटर्स" देखें)।
m4tt1mus

1
मैं वर्ड प्रोसेसर के बजाय माइंडमैप्स का सुझाव दूंगा (अनुभवी + रिक्त पृष्ठ = परियोजना कभी भी बंद नहीं होगी)।
MaR

1
शब्द संसाधक? कलम और कागज का प्रयोग करें। :)
20

41

मुझे लगता है कि लिनस ने इसे सबसे अच्छा रखा

किसी को भी बड़ी परियोजना शुरू करने के लिए शुरू नहीं करना चाहिए। आप एक छोटे से तुच्छ प्रोजेक्ट से शुरुआत करते हैं, और आपको कभी भी इसके बड़े होने की उम्मीद नहीं करनी चाहिए। यदि आप करते हैं, तो आप बस ओवरडिजाइन करेंगे और आमतौर पर सोचते हैं कि यह उस चरण में होने की संभावना से अधिक महत्वपूर्ण है। या इससे भी बदतर, आप जिस काम की कल्पना करते हैं, उसके आकार से आप डर सकते हैं। इसलिए छोटी शुरुआत करें, और विवरण के बारे में सोचें। कुछ बड़ी तस्वीर और फैंसी डिजाइन के बारे में मत सोचो। यदि यह कुछ तत्काल जरूरत को हल नहीं करता है, तो यह लगभग निश्चित रूप से अति-डिज़ाइन किया गया है। और लोगों से उम्मीद नहीं करें कि वे इसमें कूदेंगे और आपकी मदद करेंगे। ऐसा नहीं है कि ये चीजें कैसे काम करती हैं। आपको पहले कुछ आधे-अधूरे उपयोगी होने की आवश्यकता है, और फिर अन्य लोग कहेंगे "हे, कि मेरे लिए लगभग काम करता है", और वे परियोजना में शामिल हो जाएंगे। - लिनुस टोरवाल्ड्स


12

अपने लक्ष्य को अधिक कुशल और प्रभावी तरीके से पूरा करने के लिए मेरा पहला कदम क्या होना चाहिए?

मुझे लगता है कि आपने पहले परियोजनाएं की हैं और आप एक कॉलेज / विश्वविद्यालय में हैं जो संस्करण / स्रोत नियंत्रण नहीं सिखाता है। आप हमेशा इस तरह के रूप स्रोत खजाने को खोलने के लिए जा सकते हैं आप कुछ परियोजनाओं देखना चाहते हैं Github (का उपयोग करता Git), Bitbucket (मर्क्युरियल उपयोग करता है), गूगल कोड (का उपयोग करता मर्क्युरियल, Git, और सबवर्सन), CodePlex (मर्क्युरियल और सबवर्सन / TFS), SourceForge (कई), आदि और उनके कोड आधार पर एक नज़र है। वे आम में है कि वे स्रोत नियंत्रण सॉफ्टवेयर का उपयोग कर रहे हैं।

उन्हें कैसे उपयोग करना है, इसके बारे में बहुत सारी जानकारी है, इसलिए मैं आपको सुझाव देता हूं कि इसका उपयोग कैसे करें, क्योंकि यह मानक उद्योग अभ्यास है। यहाँ कुछ विज़ुअल गाइड आपको प्राप्त करने के लिए हैं:

तुम्हें पता है, जब एक परियोजना मेरे दिमाग में आई है, मुझे नहीं पता कि मुझे क्या करना चाहिए। कई बार, मैं इसे अनदेखा कर देता हूं।

केवल इतना है कि आप अपने खाली समय पर कर सकते हैं। छोटा शुरू करें : स्क्रैच से एक प्रोजेक्ट बनाएं, इसे सोर्स कोड रिपॉजिटरी में डालें। जब भी आप अपने छोटे प्रोजेक्ट में कुछ जोड़ना चाहते हैं तो अपने सोर्स कोड रिपॉजिटरी में बदलाव करें। समय में यह बड़ा हो जाएगा और यदि आप कभी वापस जाना चाहते हैं, तो आप हमेशा संस्करण नियंत्रण प्रणाली के साथ आपके द्वारा किए गए परिवर्तनों को वापस ला सकते हैं या वापस ला सकते हैं।


9
+1 छोटी शुरू करने के लिए, यह बड़ी परियोजनाओं के लिए मूल दृष्टिकोण है: इसे छोटे टुकड़ों में तोड़ दें, और एक समय में उनके साथ व्यवहार करें।
जोएल सी

5

"कोरा कागज" सिंड्रोम की चपेट में आना पूरी तरह से सामान्य है।

आपके पास एक शानदार परियोजना है, जो शानदार दिखती है, लेकिन जब आप डेस्क पर बैठकर कुछ करने की कोशिश करते हैं, तो आप अचानक ब्लॉक हो जाते हैं और कुछ भी करने में सक्षम नहीं होते हैं। फिर आप सॉलिटेयर खोलते हैं और एक नया रिकॉर्ड बनाते हैं।

आपको वास्तव में परियोजना से संबंधित कुछ करना शुरू करना होगा, ताकि आप ऐसा महसूस करें कि यह पैदा हुआ है।

आप तुरंत कोड लिखना नहीं चाहेंगे। आप यह लिखकर शुरू कर सकते हैं कि आपका प्रोजेक्ट वास्तव में क्या करना चाहिए, या आप इसे करना चाहेंगे। एक कलम और कागज लें और लिखना शुरू करें। आप विवरण से या बड़ी तस्वीर से शुरू कर सकते हैं। दोनों का प्रयास करें, देखें कि सबसे अच्छा क्या है।

आप परियोजना की कार्यक्षमता, विभिन्न भागों, उन भागों के बीच कैसे संवाद करते हैं, को परिभाषित करने का प्रयास कर सकते हैं। मैं अपने आप को पोस्ट-इट के साथ सहज महसूस करता हूं, वे मज़ेदार हैं और आप प्रगति के रूप में उन्हें बदल सकते हैं। उन्हें अपने दिमाग और विचारों का पालन करने दें।

या हो सकता है कि आप कुछ फ़ंक्शन या कक्षाओं को प्रोटोटाइप शुरू कर सकते हैं। आप इसके लिए जो भी भाषा पसंद करते हैं उसका उपयोग कर सकते हैं, यहां तक ​​कि जो मौजूद नहीं है और आपने अभी आविष्कार किया है।

कुछ समय बाद आपके पास काम करने के लिए कुछ होगा, और आपकी परियोजना केवल आपके दिमाग में नहीं होगी। आपने वास्तव में कुछ किया है।

जब आप वास्तव में विकास की प्रक्रिया शुरू करने के लिए सहज महसूस करते हैं, तो यह एक सावधानीपूर्वक योजना, दस्तावेज, प्रोटोटाइप, सभी आवश्यक तकनीकों और सॉफ़्टवेयर का संग्रह, और इसी तरह का समय है।

लेकिन शुरू मत करो जब तक आप वास्तव में महसूस नहीं करते कि यह सही समय है!


4

कई छोटी परियोजनाओं या टुकड़ों से बड़ी परियोजनाएं बनती हैं। आपके पास एक बड़ा विचार या परियोजना की आवश्यकता हो सकती है - कहते हैं, एक एप्लिकेशन जो संपर्कों का प्रबंधन करता है।

तोड़ दो; अपने आप से पूछें, 'ऐसा करने के लिए मुझे कौन से छोटे टुकड़े चाहिए?'

एक बार जब आप अपने छोटे भागों को परिभाषित कर लेते हैं, तो दोहराएं; आप पा सकते हैं कि कुछ हिस्सों को और टूटने की आवश्यकता है। विचार यह है कि आप प्रत्येक छोटे टुकड़ों के लिए सबसे प्रबंधनीय लक्ष्यों को परिभाषित करते हैं। डिजाइन और विकास में अनुशासित सिद्धांतों का उपयोग करना सीखें (जैसे कि एजाइल-टीडीडी) और छोटे, अधिक प्रबंधनीय लक्ष्यों को पूरा किया जाएगा।


2

एक रूपरेखा बनाएँ

आपके पास एक बड़ा विचार है, लेकिन आप अपने कार्य को पूरा करने के बारे में नहीं जानते हैं। आप क्या करने जा रहे हैं, इसकी एक रूपरेखा तैयार करें। आप जो कदम उठाएंगे, उसकी आपको क्या जरूरत है, आप किन भाषाओं का उपयोग कर रहे हैं, आदि को लिखिए। सुनिश्चित करें कि आपके पास सब कुछ व्यवस्थित है, या परियोजना पूरी तरह से बेकार होगी।

अपने कदम अनुसूची

मैंने पहले भी इसका उल्लेख किया था, लेकिन यह वास्तव में महत्वपूर्ण है। यदि आपके पास समय समाप्त हो गया है, तो आपके पास अनुमानित समाप्ति तिथि हो सकती है कि आपकी परियोजना कब समाप्त होगी, और परियोजना के किसी भी कदम को कितना समय लगेगा। यह, फिर से, संगठन है और आपको चालू रखेगा।

नौकरी के लिए उपकरण खोजें

यदि आप एक बड़ी परियोजना शुरू करने जा रहे हैं, तो आपको कुछ मदद की आवश्यकता होगी। कोड संगठन के लिए, और एक अच्छा संस्करण नियंत्रण प्रणाली, Git महान है क्योंकि यह आपके सभी कोड को एक एकल भंडार में रखता है। Git के बारे में अधिक जानकारी के लिए, मेरे द्वारा दिए गए लिंक को देखें।

आपको यह भी सुनिश्चित करने की आवश्यकता होगी कि आप उन भाषाओं का उपयोग कर रहे हैं जो आपको वह करने में मदद करेंगी जो आप करने की कोशिश कर रहे हैं। सुनिश्चित करें कि आप शुरू करने से पहले अपनी परियोजना बनाने में सक्षम हैं। मैं यह नहीं कह रहा हूँ कि कुछ नया मत सीखो, लेकिन शुरू करने से पहले सीखो।

मदद लें

बड़ी परियोजनाओं को आमतौर पर अकेले नहीं किया जाता है। साथी छात्रों से संपर्क करें, आपके समुदाय के लोग जो प्रोग्राम कर सकते हैं, और जो कोई और आपको लगता है कि शुरू करने से पहले आपकी मदद कर सकता है। पूछने से डरो मत।

शुरू हो जाओ!

आसपास lollygag मत करो, किसी और को अपनी परियोजना शुरू करने के लिए इंतजार करना और फिर कहना "मुझे वह विचार था!"। यह हमेशा के लिए आपको परेशान करेगा ...


1

शायद यह क्लिच से भरा है लेकिन ... मैं जमा करूँगा।

एक बड़ी परियोजना को संभालने में सक्षम होने के लिए आपको मुख्य रूप से एक चीज की आवश्यकता है: अनुभव। अनुभव आपको वह सब कुछ देता है जो आपको चाहिए:

  • ज्ञान: आप जितना अधिक समय परियोजनाओं पर बिताते हैं उतना अधिक सामान्य और विशिष्ट ज्ञान प्राप्त करते हैं
  • आत्मविश्वास: बड़ी परियोजनाओं के प्रबंधन के लिए आत्मविश्वास की आवश्यकता होती है, विश्वास ज्ञान से होता है और आमतौर पर तथ्य यह है कि नौकरी का हर टुकड़ा कुछ ऐसा है जो आपने पहले किया है, या आपने लोगों को ऐसा करते देखा है
  • व्यावसायिक नेटवर्क: यदि परियोजना वास्तव में बड़ी है, तो आपको यह महसूस करना होगा कि आप इसे अपने दम पर पूरा नहीं कर सकते हैं, इसलिए यह जानने के लिए तैयार रहें कि आप किससे पूछ सकते हैं या आप कहां से प्राप्त कर सकते हैं।

तो आप दो काम कर सकते हैं:

  • अंदर जाओ और देखो कि यह कैसे जाता है। संभवतः आप बहुत सारी गलतियाँ करेंगे, लेकिन कुंजी उनसे सीखना है।
  • एक नौकरी प्राप्त करें जहां आप विशेष रूप से उन लोगों का निरीक्षण कर सकते हैं जो वे बड़ी परियोजनाओं को संभालते हैं

मुझे आशा है कि वह मदद करेंगे।


1

"बड़ी परियोजना" की मेरी परिभाषा "एक परियोजना है जहां प्रमुख समस्या प्रतिभागियों और उनके बीच संचार का समन्वय है" (एक मध्यम परियोजना तब होती है जब प्रबंधन तकनीकी समस्याओं के समान कठिन होता है, एक छोटा तब होता है जब तकनीकी समस्याएं प्रबंधन एक से अधिक महत्वपूर्ण हैं; ध्यान दें कि एक दीर्घकालिक एक व्यक्ति परियोजना एक बड़ी परियोजना हो सकती है - अपने भविष्य के स्वयं के साथ समन्वय और संचार करना किसी और के साथ ऐसा करने से बहुत अलग नहीं है)।

संभाल करने में सक्षम होने में पहला कदम (एक "एक अग्रणी भूमिका है") एक बड़ी परियोजना के लिए एक बड़ी भूमिका के बिना किसी बड़ी परियोजना में भाग लेना है। दूसरा कदम किसी ऐसे व्यक्ति का उल्लेख करते हुए अग्रणी भूमिका स्तर तक पहुंचना है जिसके पास अनुभव है।

वैकल्पिक रूप से परियोजनाओं के आकार में उत्तरोत्तर वृद्धि करना और अपने अनुभव से सीखना है ...


1

एक इंजीनियर के लिए कुछ विचार सिर्फ सही कूदने और कोड लिखने के लिए शुरू होते हैं। ये परियोजनाएं बड़ी हो सकती हैं या वे छोटी हो सकती हैं, लेकिन उन सभी में एक चीज समान है: हल करने के लिए एक अच्छी तरह से परिभाषित समस्या। मैंने अनगिनत बार इस तरह की परियोजनाएं शुरू की हैं, और यह सिर्फ मेरे लिए एक विषय का निर्माण कर रहा है, जो आगे के अच्छे दस्तावेज़ लिख रहा है, और स्रोत कोड नियंत्रण, संचार और सहयोग के संबंध में सर्वोत्तम प्रथाओं का पालन कर रहा है।

बड़ी परियोजनाएं, जिनके लिए मेरे पास एक विचार का रोगाणु है, मेरे अनुभव में थोड़ी अधिक तैयारी करता है। पहली बात यह है कि मैं दूसरों के साथ अपने विचार के बारे में बात करना शुरू कर रहा हूं, यह देखने के लिए कि क्या कोई भी उस समस्या के बारे में मेरी समझ साझा करता है जिसे मैं हल कर रहा हूं, और समस्या को हल करने में मेरे नियोजित दृष्टिकोण को मान्य करने के लिए। तो एक दोस्त या दो बियर के लिए बाहर ले, या उन्हें Cheetos के लिए अपने छात्रावास के कमरे में आमंत्रित करें। लेकिन इस प्रक्रिया के साथ मज़े करें क्योंकि यह इस प्रक्रिया के माध्यम से है कि आप जिस समस्या को हल कर रहे हैं उसे बेहतर ढंग से समझ सकते हैं, समस्या को हल करने में आपके द्वारा लाए जा सकने वाले अन्य महान विचार प्राप्त कर सकते हैं, दूसरों को अपना विचार बेचने का अभ्यास कर सकते हैं, और शायद इसका निर्माण भी शुरू कर सकते हैं इसे सुलझाने में आपकी मदद करने के लिए लोगों की टीम।


1

बड़ी चीजों को छोटी चीजों में विभाजित करें।

आप "विश्व शांति प्राप्त करने" पर काम नहीं कर सकते। इसके बजाय आप हथियारों के सामूहिक विनाश पर प्रतिबंध लगाने पर काम करते हैं, आप लोकतंत्र को प्रोत्साहित करते हैं, आप विकास सहायता प्रदान करते हैं, आप सांस्कृतिक और वैज्ञानिक विनिमय को प्रोत्साहित करते हैं और इसी तरह।


1

मुझे लगता है कि इनमें से बहुत सारे उत्तर स्पर्श नहीं करते हैं, कुछ ठोस किया जा रहा है, और अपने आप को मजबूर कर दिया है।

कभी-कभी आप 'थिंकिंग लैंड' में फंस जाते हैं, जहां आपको ऐसा लगता है कि जो कुछ बचा है, वह चीजों को टाइप करने का टेडियम है, लेकिन वास्तव में यह आपके प्रोजेक्ट के काटने के आकार का हिस्सा है और कार्यान्वयन मज़ेदार और चुनौतीपूर्ण दोनों है।

मैं बहुत से ऐसे लोगों को जानता हूं, जो मेरे जैसे हैं, जब तक मैं वास्तव में जा रहा हूं मुझे कुछ नहीं मिलता, मैं-अन्याय नहीं कर सकता और एक परियोजना शुरू करने की योजना बना सकता हूं। मुझे एक टुकड़ा चुनना होगा जिसे मैं आसानी से लागू कर सकता हूं, और इसे प्राप्त कर सकता हूं और फिर प्रवाह शुरू होता है।


1

उद्देश्य के बिना कुछ भी करने का कोई कारण नहीं है। आपको उन उपयोगकर्ता कहानियों की आवश्यकता है जो उस कोड की आवश्यकता दर्शाती हैं जिसे आप लिखना चाहते हैं। आपको निम्न प्रारूप में इन उपयोगकर्ता कहानियों को फ्रेम करना चाहिए:

एक [एक्स] के रूप में
मैं [वाई] चाहता हूं
ताकि [जेड]

यह सरलीकृत लग सकता है, लेकिन यह आपको केवल उपयोगकर्ता को परिभाषित करने के लिए, बल्कि आवश्यकता को निर्दिष्ट करने के लिए और अंतिम परिणाम एक ही वाक्य में क्या है, इसकी रूपरेखा देता है। आपके पास इनमें से कई होंगे। जैसे-जैसे समय आगे बढ़ेगा, आप ऊपर आएंगे। आपके पास कुछ होने के बाद आप अपने कोड पर विकास शुरू कर सकते हैं। जब आपके पास अधिक विचार हों या अन्य चीजों का पता लगाएं। आप वापस जाते हैं और अधिक उपयोगकर्ता कहानियां लिखते हैं ताकि आप उन्हें न भूलें। यह शुरू करने के लिए सबसे अच्छी जगह है।

व्यवहार प्रेरित विकास इस दृष्टिकोण का उपयोग करता है और लिंक पर मौजूद साइट में उपयोगकर्ता की कहानियों को व्यक्त करने के लिए इस प्रारूप का उपयोग करने के कई उदाहरण हैं।

मुझे लगता है कि यह विचार से कोड तक पहुंचने का सबसे तेज और सबसे संगठित तरीका होगा।


1

मैं पीली छड़ी और मैजिक मार्कर के ढेर को पकड़ लेता हूं और एक ऐसे कमरे में बैठ जाता हूं जहां बड़ा सफेद बोर्ड होता है ताकि मैं दिमाग लगा सकूं।

मैं बस सरल वाक्यांशों को लिखना शुरू करूंगा, जो मुख्य मेनू, रिपोर्ट, डेटाबेस, प्रमाणीकरण आदि के रूप में दिमाग में आए थे। मैं इन्हें व्हाइट बोर्ड पर चिपका दूंगा और बस घूरना और अधिक विचार प्राप्त करना उदाहरण के लिए मुख्य मेनू कैसे दिखना चाहिए :

फ़ाइल खोलें, फ़ाइल सहेजें, फ़ाइल सहेजें के रूप में, प्रिंट करें आदि और मुख्य मेनू के तहत सफेद बोर्ड पर चिपका दें।

जैसा कि आपके दिमाग में आने वाले विचार उन्हें लिखते हैं ... अच्छा, बुरा, बेवकूफ़ जो भी हो बस सजीव हो जाओ। उन्हें बोर्ड पर चिपका दें। जैसा कि आप बोर्ड को देखते हैं कि अधिक विचार सतह और पैटर्न उभरेंगे। कुछ बिंदु पर आपको यह महसूस करना शुरू हो जाएगा कि आप क्या योजना बना रहे हैं।

पीले रंग की स्टिकियां बहुत अच्छी होती हैं जिन्हें वे काफी जल्दी चारों ओर ले जा सकते हैं।

एक बार जब चीजें एक साथ आने लगती हैं, तो आप इन विचारों को समूहों में विभाजित करते हैं। तब आप एकल समूह स्तर पर मंथन कर सकते हैं। यदि आप चीजों को शिफ्ट करना चाहते हैं, तो बीस मिनट पहले मैं देखना चाहता था कि क्या मामला देखना चाहते हैं।

आखिरकार, आपके पास सामान के मुख्य हिस्से का एक बहुत अच्छा विचार होगा जिसे पूरा करना होगा। आप इनमें से प्रत्येक के लिए एक एकल फ़ोल्डर प्राप्त कर सकते हैं और जैसे ही वे आपके पास आते हैं, उनमें विचारों को उछालते रहें।


0

चूंकि आप एक छात्र हैं, इसलिए मैं आपको यह मानने जा रहा हूं कि आप छात्र-बड़े हैं और पेशेवर-बड़े नहीं हैं। उत्तरार्द्ध को अतिरिक्त व्यापार और सहयोग के विचार की आवश्यकता होती है। मैंने पिछले सप्ताह एक नई परियोजना शुरू की है, इसलिए मेरे दिमाग में यह प्रक्रिया ताजा है।

पहली चीज जो मैं करता हूं वह है मौजूदा समाधान और पुस्तकालय । मैं जब भी संभव हो पहिया को सुदृढ़ करना पसंद नहीं करता। यह शोध परियोजना के लिए भाषा चुनने का भी एक बड़ा कारक है। कुछ भाषाओं में कुछ कार्यों के लिए बेहतर मौजूदा कोड होता है।

अगली चीज जो मैं करता हूं वह है एक फोल्डर बनाना और उसे सोर्स कंट्रोल में रखना । यह git init .आजकल की तरह सरल है।

आगे मुझे "हैलो वर्ल्ड" काम मिल रहा है । इससे मुझे पता चल जाता है कि मेरा विकास वातावरण ठीक तरह से स्थापित है।

आगे मुझे तीसरे पक्ष के पुस्तकालयों में काम करने के लिए "हैलो वर्ल्ड" मिलता है । यह नंगे न्यूनतम दिखाने के लिए आवश्यक है कि मैं लाइब्रेरी को सही ढंग से लिंक और उपयोग कर रहा हूं। डेटाबेस लाइब्रेरी के लिए, यह उदाहरण के लिए, एक साधारण क्वेरी को कनेक्ट और रन कर रहा है। GUI टूलकिट के लिए, यह एक विंडो प्रदर्शित कर रहा है।

आगे मैंने स्क्रिप्ट्स और टेस्टिंग फ्रेमवर्क बनाए । यह चींटी या मेकफाइल्स या जो कुछ भी है, और जब आपका प्रोजेक्ट अभी भी छोटा है, तो इसे स्थापित करना बहुत आसान है।

अगला मैं डेटा संरचनाएँ बनाता हूँ । जिसे "मॉडल" परत भी कहा जाता है। यह वह भाग है जो आपके कार्यक्रम को अपना काम करने के लिए याद रखने के लिए आवश्यक सभी चीजों को संग्रहीत करता है। मैं कागज पर बहुत सारे डिज़ाइन करता हूं, फिर बस स्टब्स को अंदर जोड़ें। डिज़ाइन का यह हिस्सा आमतौर पर सबसे आसान है। उदाहरण के लिए, एक शतरंज कार्यक्रम को खेल ग्रिड, खिलाड़ियों, टुकड़ों, चालों के अनुक्रम आदि को स्टोर करने के लिए वस्तुओं की आवश्यकता होती है।

इस बिंदु पर, मेरे पास एक कार्यक्रम के लिए एक बहुत अच्छा आधार है और यह आमतौर पर काफी स्पष्ट है कि उस विशेष परियोजना के लिए अगला कदम क्या होने जा रहा है। फिर मैं इसे एक बार में एक छोटा कदम लेता हूं, कोड के साथ जो रास्ते में कुछ हद तक काम करता है।


0

यदि आपके पास एक "बिग आइडिया" है, तो आपको बहुत सी चीजों की आवश्यकता होगी (जो कि अन्य उत्तरों में बहुत अच्छी तरह से वर्णित हैं), और विशेष रूप से ये 2: समय और प्रेरणा

जब आप किसी व्यक्तिगत प्रोजेक्ट पर अकेले काम करते हैं, तो सबसे बड़ी कठिनाई यह है कि आमतौर पर, आपके पास हर सप्ताह इस पर खर्च करने के लिए अधिक समय नहीं होता है और इसलिए आप बहुत प्रगति नहीं देखते हैं और जल्दी से प्रेरणा खोना शुरू कर देते हैं।

तो जैसा कि पहले ही कहा गया है, छोटे कदम उठाएं , यही महत्वपूर्ण है।

लेकिन यह सब नहीं है, आपको छोटे और पुरस्कृत कदम उठाने होंगे ! यही है, ऐसे कदम जो आपको सबसे बड़ा मूल्य दिलाएंगे और आपके बड़े विचार की प्रमुख अवधारणाओं को प्रदर्शित करेंगे।

उदाहरण के लिए, यदि आप महान उपयोगकर्ता इंटरैक्शन के साथ एक नए सुपर टूडू सूची सॉफ़्टवेयर पर काम करते हैं । भंडारण और डेटाबेस सामान के साथ शुरू न करें जब तक कि आपको वास्तव में इसकी आवश्यकता न हो। अभिनव उपयोगकर्ता इंटरफ़ेस के साथ शुरू करें: यह मज़ेदार है और इसका मूल्य है। यह आपको गर्वित करेगा, आपको प्रेरित रखेगा और आपको बहुत जल्द जांचने देगा कि आपका विचार वास्तव में अच्छा है।


0

सबसे पहली बात जो आपको करने की ज़रूरत है वह है बैठने का और उस विचार को लिखित रूप में वर्णन करना। यह तब तक एक परियोजना नहीं बनेगी, और तब भी, आपके पास इसे लेने के लिए कुछ काम है जो कि पंचांग के रूप में कुछ के रूप में कुछ के रूप में एक परियोजना के रूप में मूर्त है।

एक बार जब आपने वह प्राप्त कर लिया है, तो आप इसे एक परियोजना में बदलना शुरू कर सकते हैं, यह पहचान कर कि आप इसे कैसे असतत चरणों में तोड़ सकते हैं जिसे तार्किक तरीके से लागू किया जा सकता है।

फिर उन चरणों को लागू करने के लिए एक समयरेखा की रूपरेखा तैयार करें। दिए गए अंतराल पर फिर से प्रगति करें ताकि आप उस प्रक्रिया के कुछ नियंत्रण को बनाए रखें - विचारों को रेंगने के बजाय जो आपने पहले कभी नहीं सोचा था और उन्हें मिश्रण में जोड़ रहे हैं।

एक प्रारंभिक फिनिश लाइन की पहचान करें और उसके लिए लक्ष्य बनाएं। जितना कम आप इसका पालन करते हैं, उतनी ही परियोजना अतिरिक्त विचारों के वजन के नीचे डूबने की संभावना है, और जितना अधिक आप इसे पूरा करने के बारे में मिलेंगे उतना ही यह हमेशा के लिए जीने लगता है।


0

कोड प्रयास आमतौर पर एक परियोजना बजट का लगभग 20% (+ -10%) है। कोड सही होने पर ध्यान केंद्रित करना व्यर्थ है, उस 80% प्रयास को पूरा करता है जिसे आपने संबोधित नहीं किया है, इसलिए सही कोड प्रबंधन प्राप्त करना अभी भी किए गए काम के केवल 20 के साथ आपको छोड़ देता है।

क्या होगा यदि आपके प्रोजेक्ट में कोई उपयोगकर्ता नहीं है? क्या होगा अगर यह सही है, लेकिन एक सप्ताह बाद प्रकाशित "एक्मे पेटेंट ट्रोल्स" के विचार पर एक पेटेंट के लिए फ़ाइल है, और यह अगले फेसबुक के लिए निकला है?

निम्नलिखित मानक परियोजना जीवनचक्र के मुद्दों, आवश्यकताओं, डिजाइन, कोड, टेस्ट, एकीकरण, तैनाती, दोष ट्रैकिंग और सुधार, आवश्यकता परिवर्तन प्रबंधन (वृद्धि अनुरोध) को देखें। रिलीज की योजना, संसाधन आवंटन (आप कितने घंटे के लिए दिन की योजना बना रहे हैं और क्या आप वास्तव में इस परियोजना पर काम करेंगे), कानूनी (फ्रीडम को संचालित करने के लिए) आदि।

यदि उपरोक्त सभी जगह हैं, तो भी बहुत खराब कोड सफल होगा। यदि उपरोक्त में से कोई भी जगह नहीं है, तो सबसे अच्छा कोड विफल हो जाएगा।

मैं एक सट्टेबाजी करने वाला आदमी नहीं हूं, लेकिन मैं इस पर पैसा लगाऊंगा कि आपकी पहली "बड़ी" परियोजना विफल हो जाएगी, कई और विभिन्न तरीकों से आप कल्पना नहीं कर सकते। चिंता मत करो, आगे बढ़ो और असफल हो जाओ, इससे सीखो और अगले करो। शुरू नहीं करना वास्तविक अपराध होगा। यदि आप पहली बार सफल होते हैं, तो आपके पास व्यवसाय प्रबंधन में एक ठोस कैरियर है, प्रोग्रामिंग नहीं।

तो आप सवाल का जवाब देने के लिए, सॉफ्टवेयर टूल्स को हटा दें, और अपने "बिजनेस प्लानिंग" टूल्स को बाहर निकालें। आप यह क्यों कर रहे हैं, डब्ल्यूएचओ के लिए काम कर रहे हैं और फिर वे क्यों चाहते हैं। (आप अपने स्वयं के ग्राहक हो सकते हैं, लेकिन फिर भी व्यायाम करें)। इसे "बिज़नेस प्लान" में लिख लें और इनका निर्माण करें।


0
  1. सफलता किस तरह की लगती है?
  2. प्रोजेक्ट में अज्ञात क्या हैं?
  3. परियोजना में ज्ञात क्या हैं?
  4. अज्ञात को खत्म करने / खोजने, उन्हें ज्ञात में बदलने के लिए आप क्या कर सकते हैं?
  5. सफलता प्राप्त करने के लिए आप ज्ञात को इकट्ठा करने के लिए क्या कर सकते हैं?
  6. परियोजना को आगे बढ़ाने के लिए अगला ठोस कदम क्या है?

प्रोजेक्ट पूरा होने तक अंतिम चरण को दोहराएं; स्वीकार करें कि इसमें वर्षों लग सकते हैं , और आगे बढ़ते रहें


0

यहां सभी उत्तर अच्छे हैं और सभी हैं, लेकिन सभी ईमानदारी में, इससे कोई फर्क नहीं पड़ता कि आप कितना संस्करण नियंत्रण, गटिंग, फ्लो-चार्ट और मार्क-अप करते हैं, यह सब मायने रखता है कि आपके पास एक कार्यात्मक अनुप्रयोग, एक कार्यात्मक अनुप्रयोग है एक के रूप में परिभाषित किया गया है, जो उस समस्या को हल करता है जिसके लिए इसे हटा दिया गया था, अन्य सभी चीजें बहुत अप्रासंगिक हैं।

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


-1

नई परियोजना शुरू करते समय करने वाली चीजों की सूची:

  1. नई निर्देशिका बनाएं
  2. कुछ मौजूदा मेकफाइल टेम्पलेट को कॉपी करके मेकफाइल बनाएं
  3. कुछ हेडर और कार्यान्वयन फ़ाइलें बनाएँ
  4. सुनिश्चित करें कि यह संकलन करता है
  5. संस्करण नियंत्रण का उपयोग करना शुरू करें
  6. कक्षाओं, फ़ंक्शंस, डेटा सदस्यों, चर के लिए नामकरण सम्मेलन का निर्णय करें
  7. अपनी पहली कक्षा लिखें
  8. सुनिश्चित करें कि आपका वर्ग स्वतंत्र है और प्रत्येक सदस्य कार्य अन्य सदस्य कार्यों से स्वतंत्र है
  9. मुख्य () की तरह कार्य बनाकर कई ऑब्जेक्ट बनाएं
  10. जब तक आपका कार्यक्रम तैयार न हो जाए तब तक 7-10 चरणों को दोहराएं
  11. संकलित करें
  12. इसे अंतिम उपयोगकर्ताओं के लिए शिप करें

यह कोडिंग के बारे में है, लेकिन यह इंजीनियरिंग नहीं है, और एक निश्चित पैमाने से परे काम नहीं करता है। इसके बजाय, आपको उपयोगकर्ता कहानियों या आवश्यकताओं या किसी प्रकार के विनिर्देशन से शुरू कुछ करने की ज़रूरत है; वे आपको एक शुरुआत के लिए अपनी कार्यान्वयन तकनीक चुनने में मदद करेंगे। 'कुछ कहानियाँ लिखें', 'अपनी कहानियों को क्रम दें' पहले दो चरण हैं, किसी भी कोड से पहले संस्करण नियंत्रण आता है, और पहली कहानी हमेशा 'शोध कार्यान्वयन प्रौद्योगिकियां' (जो 'एक भाषा चुनें' की तुलना में बहुत अधिक है)।
एंड्रयू मैकग्रेगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.