प्रलेखन की सही मात्रा का निर्धारण


10

जहाँ मैं वर्तमान में सामान्य दृष्टिकोण का काम कर रहा हूँ -

जितना संभव हो प्रलेखन से बचें

केवल एक दस्तावेज अगर एक अलग टीम को इसकी आवश्यकता होगी

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

मैं अपने बॉस को दस्तावेज़ न करने के कारण की सूची दूंगा:

  1. यह समय लेने वाला है - लागू करने पर ध्यान दें
  2. यदि डिजाइन में परिवर्तन होता है - तो प्रलेखन को बदलना चाहिए, दोहरी परेशानी
  3. अंत में आपको सिर्फ ऐसे सैकड़ों पृष्ठ मिलते हैं जिन्हें कोई भी पढ़ना नहीं चाहता है, और कोई भी वास्तव में संपादन नहीं करता है, इसलिए समय के साथ यह समाप्त हो जाएगा
  4. इसका दर्द - कोई भी वास्तव में इसे करना नहीं चाहता है

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

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

मुझे वास्तव में लगता है कि दस्तावेजीकरण की कमी इस तरह के पैच को बढ़ावा देती है और व्यापक अर्थों में सिस्टम समझ की कमी है।

मेरा सवाल यह है कि:

हम प्रलेखन को कैसे संतुलित कर सकते हैं ताकि हम टीम के बीच निरंतर ज्ञान को बढ़ावा दें और फिर भी तेज और कुशल रहें?


मुझे अपनी जगह पर भी यही समस्या है - सिवाय मेरी टीम के कोड कमेंट लिखने में भी नहीं!
मैटवेवी

1
क्या वे कम से कम न्यूनतम आवश्यकताओं और चश्मा का दस्तावेज बनाते हैं? यदि नहीं, तो आप कैसे जानते हैं कि यदि आपने तैयार उत्पाद की तुलना करने की कोई आवश्यकता नहीं है, तो आपने सही चीज़ को कोडित किया है?
FrustratedWithFormsDesigner

विशेष रूप से आधुनिक भाषाओं के साथ तकनीकी प्रलेखन बहुत अधिक महत्वपूर्ण है फिर कोड का दस्तावेजीकरण। कोड स्व व्याख्यात्मक होना चाहिए।
AK_

जबकि वास्तव में बहुत अधिक प्रलेखन से बचने के लिए यह एक अच्छा विचार है, आपका बॉस इसे सभी गलत कारणों से करता है।
क्रिश्चियन राऊ

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

जवाबों:


5

मैंने पाया है कि कोई भी दस्तावेज NO प्रलेखन से बेहतर है। उपयुक्त राशि आमतौर पर उस समय की मात्रा से निर्धारित होती है जो हमें करना है, या हम फोन कॉल और ईमेल से कितनी नफरत करते हैं।

ऐसा प्रतीत होता है कि आपकी वर्तमान टीम के सदस्यों को उनकी यादों की कुछ अवास्तविक उम्मीदें हैं, या वे अपने लेखन कौशल से शर्मिंदा हैं, और अभ्यास करने के लिए तैयार नहीं हैं।

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

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

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

क्या आपकी टीम के पास परीक्षण, या परीक्षण कोड लिखने के समान मुद्दे हैं? यदि नहीं, तो यह एक आसान बिक्री होगी।

आपका प्रलेखन कई मायनों में उपयोगी है:
1) आप, अभी और अपने सहकर्मियों के लिए, जैसा कि आप परियोजना पर काम करते हैं।

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

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

4) आप और अन्य के लिए, अगर स्थिति राजनीतिक या विवादास्पद हो जाती है। जैसा कि कोई है जो बैठकों में नोट करता है, खुद को जागृत रखने और बोरियत से लड़ने के लिए, मैं अक्सर निर्णय के लिखित संस्करण के साथ एक ही रहा हूं। जिस व्यक्ति ने इसे लिखा वह विवाद जीत गया। यह याद रखें कि अगली बार जब कोई कहता है कि "उस बैठक को याद रखें जब हम सम्मेलन कक्ष 4 में इस पिछली सर्दियों में थे, जब हम खत्म हो रहे थे? फ्रेड वहां था, और लेखांकन से वह लड़का कौन है?"


1
बिंदु # 3 के लिए +1। मेरे अपने निजी दस्तावेज ने मुझे कई बार बचाया है।
ब्रैंडन

मैं कोड के रूप में उसी गिट रेपो में फेंक देता हूं, आमतौर पर मार्कडाउन में (कभी-कभी लाटेक्स में, जब गणित में थोड़ा सा शामिल होता है)।
TRIG

4

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

विकी फॉर्मेट में होने के बारे में अच्छी बात यह है कि आप सभी सुंदर वर्ड फॉर्मेटिंग को करने के लिए बहुत कम इच्छुक हैं और इस तरह की वास्तविक जानकारी को लिखना है जिसे आपको सहेजना है। अधिकांश (यदि सभी नहीं) विकी पैकेज आपको दस्तावेज़ या चित्र (जैसे Visio UML चित्र, या UI वायरफ़्रेम) अपलोड करने की अनुमति देंगे, तो आपके पास दृश्य टुकड़े भी हो सकते हैं।

ज्यादातर चीजों की तरह, मुझे लगता है कि आपको न्यूनतम राशि का लक्ष्य रखना चाहिए जो संभवतः काम कर सकती है। हालांकि यह कोई भी बात नहीं है।


बहुत अच्छा सुझाव है। कुछ विकि सामग्री को .rtf दस्तावेज़ में निर्यात करने की अनुमति देता है। लगभग PHB के लिए एकदम सही।
15

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

2

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


1

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

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

अंत में, जब भी आप एक निराला फिक्स जोड़ते हैं, तो अपने बग डेटाबेस को एक टिप्पणी से लिंक करें - बहुत उपयोगी।


1

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

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

किसी पैकेज के आरेख को खोलना वास्तव में महत्वपूर्ण है और कक्षा आरेख में सीधे पढ़ने में सक्षम होना चाहिए कि यह वर्ग क्या होना चाहिए। इस विधि को क्या करना चाहिए और प्रवाह आदि क्या है ...।

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

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