कंपनी-व्यापी डेवलपर की हैंडबुक लिखना


17

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

कोड लिखें, इसका परीक्षण करें, इसे .zip फ़ाइल में डालें और इसे क्लाइंट को भेजें। TDD और संस्करण नियंत्रण के लिए बोनस अंक।

मेरे बॉस चाहते हैं कि मैं एक सॉफ्टवेयर डेवलपर की हैंडबुक लिखूं जो सामान्य प्रक्रियाओं, प्रोटोकॉल, टूल्स और दिशानिर्देशों को परिभाषित करता है जो हम चीजों को प्राप्त करने के लिए उपयोग करते हैं। दूसरे शब्दों में, वह एक "यह वही है जो हम यहां करते हैं" पुस्तक एक नए कर्मचारी को जिस तरह से हम काम करते हैं, उससे परिचित होने के साथ-साथ मेरे बॉस को यह समझने में मदद करना आसान है कि उनके मंत्री क्या कर रहे हैं और वे कैसे करते हैं यह।

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

साइड नोट: यदि यह मायने रखता है, तो हम मुख्य रूप से एक Microsoft .NET शॉप हैं। और हम एक्सपी और स्क्रैम जैसी चुस्त प्रथाओं को देख रहे हैं, लेकिन हमें उन्हें अपनी कंपनी में काम करने के लिए भारी संशोधित करना पड़ सकता है।


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

हैंडबुक विषयों के लिए खरीदारी ?
gnat

1
@ जगत् अच्छी बात है। संपादित देखें।
फिल

अच्छा संपादन (आपने स्पष्ट रूप से लिंक का अनुसरण किया है)। मैं यह भी बदलूंगा कि आपको किस प्रकार के विषय महत्वपूर्ण लगते हैं ... कुछ इस तरह से कि आप विषयों के महत्व को कैसे समझेंगे
gnat

1
मैं वास्तव में विषयों के महत्व को समझने के बारे में चिंतित नहीं हूं, जैसा कि मुझे लगता है कि मैं पहले से ही ऐसा कर सकता हूं। बल्कि, मैं उदाहरणों की तलाश कर रहा हूं। मैंने हमेशा उदाहरणों के साथ बेहतर होने के लिए अमूर्त सवालों के जवाबों पर विचार किया है। संपादित देखें। BTW, मैं आपके सवाल को बेहतर बनाने में आपकी मदद की सराहना करता हूं।
फिल

जवाबों:


20

मैं इसे खंडों में तोड़ दूंगा

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

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

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

चंचल / SCRUM के लिए:

Agile और SCRUM करने का सबसे कठिन हिस्सा 'वास्तव में' है।

पढ़ने के लिए मैं http://agilemanifesto.org/ पर जाना शुरू करूंगा और वहां से जाऊंगा।

मैं अच्छी तरह से ज्ञात http://www.halfarsedagilemanifesto.org/ को भी पढ़ूंगा, जो इस तथ्य के लिए वजन जोड़ता है कि आपको वास्तव में इसके लिए सभी पहलुओं को काम करना होगा। यदि आपको अपने संगठनों के लिए एजाइल को भारी रूप से संशोधित करना है, तो यह संभावना है कि लोग सही प्रक्रियाओं का उपयोग किए बिना - लाभ चाहते हैं। इस तथ्य को स्वयं किसी भी आधे-अधूरेपन को दूर करने के लिए प्रस्तुत किया जाना चाहिए।


6
मुझे पसंद है कि आप इसे कितनी बार संपादित कर रहे हैं। कैसे ... आप की फुर्ती । :)
फिल

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

क्षमा करें, मैंने अभी का उत्तर हटा दिया है क्योंकि प्रश्न को संशोधित कर दिया गया है।
फिल

1
बोनस अंक अगर आप इस जानकारी को रखने के लिए एक कंपनी विकी स्थापित करते हैं ...
स्पेंसर रथबुन

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

4

ऐसा लगता है कि आप उन्हें प्रलेखित करने से पहले कुछ प्रथाओं को लागू करने जा रहे हैं!

a) स्रोत नियंत्रण - आप अपने स्रोतों को कैसे संग्रहीत करते हैं और संशोधन नियंत्रण करते हैं

बी) रिलीज प्रबंधन और ट्रैकिंग - आप एक बिल्ड, नंबर कैसे जारी करते हैं, वर्तमान रिलीज उम्मीदवार की तुलना पूर्व रिलीज से करते हैं

c) समस्या प्रबंधन - आप अपनी रिलीज़ में बग को कैसे ट्रैक करते हैं।

ये बहुत बुनियादी चीजें हैं, लेकिन इन्हें लागू करने में बहुत समय (और संभवतः लागत पैसा) लग सकता है।


2
इसे सरल रखने और महत्वपूर्ण मुद्दों पर ध्यान केंद्रित करने के लिए +1। हमें वास्तव में "बड़ी सरकार" को कोडिंग शैलियों पर जनादेश की आवश्यकता नहीं है।
kirk.burleson

3

विषय जो मैं एक डेवलपर की हैंडबुक में शामिल करूंगा:

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

ध्यान रखें कि इस हैंडबुक में केवल विकास के लिए विशिष्ट वस्तुएं होनी चाहिए, न कि कंपनी-व्यापी जानकारी (जो कर्मचारी हैंडबुक में होनी चाहिए)।


2

स्रोत नियंत्रण का उपयोग

  • कौन सा स्रोत नियंत्रण उपकरण आप उपयोग कर रहे हैं।
  • IDE में सामान्य कमांड्स / टूल्स का सिंटैक्स।
  • ब्रांचिंग / मर्ज रणनीति।
  • एक कमिट की इकाई क्या होनी चाहिए? किसी फ़ाइल की जाँच के लिए / प्रतिबद्ध नहीं होने के लिए कितना लंबा है?
  • "दान" किस स्तर पर एक कमिट / चेक-इन निरूपित करता है? संकलन? यूनिट टेस्ट पास? समीक्षित?
  • कमिट / चेक-इन के लिए नोट्स में क्या शामिल किए जाने की उम्मीद है।
  • रोलबैक प्रक्रियाएं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.