हेवीवेट विकास के तरीकों पर व्यक्तिगत अभ्यास कैसे प्राप्त करें?


9

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

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

बस कुछ महीनों / वर्षों के लिए नौकरी में रहने के अलावा, यही है।

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

यह एकल करना संभव नहीं लगता है। क्या कोई तरीका है कि कम संख्या (एक दिन) में एक छोटे से पैमाने पर इंजीनियरिंग करने वाले लोग बड़ी संख्या में इंजीनियरिंग कर सकते हैं?

जवाबों:


1

क्या कोई तरीका है कि कम संख्या (एक दिन) में एक छोटे से पैमाने पर इंजीनियरिंग करने वाले लोग बड़ी संख्या में इंजीनियरिंग कर सकते हैं?

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

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

दुर्भाग्य से, पहले भाग के दौरान, हमने 16 लोगों में से प्रत्येक को इच्छित टीम संरचना के भीतर नौकरी देने की कोशिश करने की गलती की। उस गलती से दूसरी छमाही में अराजकता पैदा होती है - क्योंकि 16 लोग ऐसे काम को हल करने के लिए बहुत अधिक हैं। एक कार्य समाधान 16 लोगों को फिर से छोटी टीमों में विभाजित करने के लिए हो सकता है, या मुख्य कार्य करने के लिए 3 या 4 लोगों को चुन सकता है, लेकिन इस क्षण की गर्मी में हम इसे देखने से चूक गए।

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


2

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

काम करने के लिए एक नमूना कार्यक्रम चुनें। यदि आप एक, Google "कोड कटास" के साथ नहीं आ सकते हैं या Google की कोडजम चुनौतियों का संग्रह देख सकते हैं। या सिर्फ एक कैलकुलेटर का निर्माण करें। :-)

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

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

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


1
@gnat - चेकलिस्ट पर लिंक के लिए सहारा। अच्छा जोड़।

-1

"हैवीवेट" प्रथाओं के साथ अनुभव केवल वास्तविक काम करने से आता है। प्रभावी रूप से अलगाव में इसका अभ्यास करने का कोई तरीका नहीं है। हालाँकि, आप इसका अध्ययन कर सकते हैं। ऐसे कई मामले अध्ययन और स्रोत हैं जिनका आप अध्ययन और विचार कर सकते हैं।

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.