क्या आप सक्रिय रूप से technical debt अपने सॉफ्टवेयर विकास परियोजनाओं पर ऋण प्रबंधित करते हैं और यदि ऐसा है, तो आप इसे कैसे करते हैं?क्या आप सक्रिय रूप से तकनीकी ऋण का प्रबंधन करते हैं?
उत्तर
हमारी टीमों पर हम सक्रिय रूप से तकनीकी ऋण का प्रबंधन करते हैं। हम स्क्रम करते हैं, इसलिए हम अनुमान या हमारे शेष स्प्रिंट क्षमता के आधार पर वर्तमान पुनरावृत्ति या अगले पुनरावृत्ति के लिए एक तकनीकी ऋण कार्ड उत्पन्न करते हैं और उन्हें विशेषताओं और बग कार्ड की तरह प्राथमिकता मिलती है। हम तकनीकी ऋण के क्रॉस-टीम बैकलॉग के द्वारा बड़ी, क्रॉस-टीम ऋण वस्तुओं का प्रबंधन भी करते हैं जिन्हें हम अपनी स्प्रिंट योजना के दौरान प्रत्येक स्क्रम टीम में प्राथमिकता देते हैं और इंजेक्ट करते हैं।
तकनीकी ऋण के प्रबंधन का एक पहलू गैर-तकनीकी प्रबंधकों को विश्वास दिलाता है कि आपको रिफैक्टरिंग और बग फिक्सिंग के लिए आवंटित समय की आवश्यकता है।
Here's an article with specific suggestions इसे कैसे करें।
आपके ब्लॉग जेसन के बड़े प्रशंसक +1। –
धन्यवाद @ एसएनओर्फस! यदि आप ट्विटर पर हैं तो @asmartbear का पालन करें और मैं आपको वापस ले जाऊंगा। –
मैंने यहां तकनीकी ऋण पर कुछ तकनीकों और रणनीतियां पोस्ट की हैं: http://benlakey.com/2012/06/18/technical-debt/ –
मुझे लगता है कि यदि आप पुराने पापों को बनाने की कोशिश कर रहे हैं तो तकनीकी ऋण से निपटने के लिए समय निर्धारित करना महत्वपूर्ण है, लेकिन मुझे लगता है कि आपको यह आदत नहीं बनाना चाहिए। एक बार जब आप गड़बड़ी को साफ कर लेते हैं तो आपको अपनी परियोजना को अधिक कर्ज में रखने से बचना चाहिए, जब तक कि आपके पास ऐसा करने के अच्छे कारण न हों।
सक्रिय रूप से इसे प्रबंधित करना जैसे माइक सुझाव सबसे उचित दृष्टिकोण की तरह लगता है, लेकिन मुझे लगता है कि इसे स्पष्ट करना (आपकी टीम को) करना बहुत महत्वपूर्ण है कि आपको लंबे समय तक रीफैक्टरिंग के लिए समय या योजना निर्धारित नहीं करना चाहिए।
रिफैक्टरिंग कोड लिखने का एक स्वाभाविक हिस्सा होना चाहिए, और इस प्रकार आपके अन्य अनुमानों और योजनाओं में शामिल होना चाहिए, और इसे अलग-अलग गतिविधि — के रूप में नहीं माना जाना चाहिए, जब तक आपको "ऐतिहासिक" कारणों के लिए या क्योंकि आप जानबूझकर किसी दिए गए तरीके को लागू करने का निर्णय लिया और फिर बाद में इसे फिर से कार्यान्वित किया।
यह उत्पाद पर बहुत निर्भर करता है। जब मैंने ऐसे क्षेत्र में काम किया जहां हमारे कोड को बाहर-ऑडिट करना था, यह हमारे स्प्रिंट का एक नियोजित हिस्सा था। प्रधान मंत्री ने सिर्फ विकास से पूछा कि किस क्षेत्र को रिफैक्टरिंग की आवश्यकता है और इसे योजना में रखा गया था। यह कहना नहीं है कि आप उस क्षेत्र में कोड को ठीक नहीं करेंगे जिस पर आप काम कर रहे थे, लेकिन आप काम करने वाले कोड के एक उलझन वाले हिस्से को फिर से लिखने के लिए समर्पित नहीं होंगे। अब मैं स्क्रम और डेवलपर्स में काम कर रहा हूं जैसे ही वे काम करते हैं। मेरी धारणा यह है कि लगभग उसी समय काम को दोबारा काम करने में, किसी भी तरह से काम करता है।
आप क्या करते हैं एक संस्कृति बनाएं जहां अत्यधिक मामलों में तकनीकी ऋण स्वीकार्य नहीं है। बहुत से लोग जो नकद अदा करते हैं और केवल एक पूर्ण अंतिम उपाय के रूप में क्रेडिट का उपयोग करते हैं।
मैं एंडर्स से सहमत हूं। यदि आपको तकनीकी ऋण के प्रबंधन के लिए सिस्टम सेट अप करना है, तो इसका मतलब है कि आप अभी भी इसे जोड़ रहे हैं। "पूर्ण" की अपनी परिभाषा को अपग्रेड करके पहले स्थान पर ऋण में जाना बंद करें।
इसका मतलब यह है कि "ऋणात्मक" मॉड्यूल के माध्यम से काम करना कठिन होगा। डेवलपर्स को इसके बारे में पता होना चाहिए और अधिक कहानी अंक असाइन करना चाहिए ताकि वे अपने जागने में "काम" कर सकें।
यदि आप रिलीज चक्र में देर हो चुकी हैं तो आप कोड बेस को बहुत अधिक नहीं बदलना चाहते हैं। इसका मतलब है कि हमेशा कुछ तकनीकी ऋण होगा। मैं आमतौर पर उपरोक्त परिवर्तनों के लिए FIXME लिखता हूं और फिर मैं अगली रिलीज के लिए सुविधाओं को लागू करने से पहले उनका ख्याल रखता हूं।
जावा पॉस ने हाल ही में Technical Debt के प्रबंधन को कवर किया है जो बहुत व्यापक दिखता है।
यदि मुझे वास्तव में तकनीकी ऋण को ढेर करने की आवश्यकता है, क्योंकि मुझे अब कुछ जारी करने की आवश्यकता है, तो मैं इसके बारे में एक महत्वपूर्ण बग फाइल करता हूं, इसलिए इसे सर्वोच्च प्राथमिकता मिलती है।लेकिन यह केवल चरम स्थितियों के लिए है (ग्राहक ऊपर और नीचे कूद रहा है, पत्नी एक डिंगबैट आदि की तलाश में है)।
परियोजनाओं पर अब तक शामिल किया गया है, कुछ तकनीकी ऋण परियोजनाओं के नए चरणों की शुरूआत में "भुगतान" (प्रबंधित) किया गया है, यानी "बड़ी रिलीज" या मील के पत्थर के बाद।
तकनीकी ऋण के बारे में एक बहुत ही महत्वपूर्ण पहलू यह है कि इसमें न केवल डेवलपर्स बल्कि प्रबंधन शामिल है। इस अर्थ में, मुझे पता है कि इससे निपटने का सबसे अच्छा तरीका यह है कि इसे "गैर-तकनीकी परियोजना हितधारकों" के लिए दृश्यमान बनाना है जो तकनीकी प्रभावों को प्रबंधित करने के लिए समय और संसाधन आवंटित कर सकते हैं जब वे इसके प्रभाव को समझ लेते हैं।
यह article कई प्रकार के तकनीकी ऋण पर चर्चा करता है, जो कि स्वस्थ हो सकते हैं, और विशेष रूप से तकनीकी ऋण भार का प्रबंधन और ट्रैक कैसे करें।
- 1. आप टीएफएस में तकनीकी ऋण कहां रिकॉर्ड करते हैं?
- 2. आप तकनीकी ऋण को प्रभावी ढंग से कैसे ट्रैक करते हैं?
- 3. आप अपने प्रोजेक्ट लाइफ चक्र का प्रबंधन कैसे करते हैं?
- 4. आप अपने कस्टम मॉड्यूल का प्रबंधन कैसे करते हैं?
- 5. क्या यह तकनीकी रूप से वेबसाइट की स्क्रीनशॉट लेने के लिए तकनीकी रूप से संभव है?
- 6. आप अपने Django अनुप्रयोगों का प्रबंधन कैसे करते हैं?
- 7. आप अपने DojoX कोड का प्रबंधन कैसे करते हैं?
- 8. मूनलाइट तकनीकी रूप से क्या है?
- 9. किसी प्रोजेक्ट पर अकेले काम करते समय आप अपने आप को कैसे सक्रिय करते हैं?
- 10. तकनीकी रूप से "रोमिंग" का क्या अर्थ है?
- 11. पैकेज प्रबंधक का उपयोग करते समय आप पर्ल मॉड्यूल का प्रबंधन कैसे करते हैं?
- 12. आप स्पष्ट रूप से अंतिम रूप से कॉल क्यों नहीं करते हैं() या कचरा कलेक्टर शुरू करते हैं?
- 13. क्या आप ToList() करते हैं?
- 14. क्या आप फ़िंग का उपयोग करते हैं?
- 15. क्या आप दावे का उपयोग करते हैं?
- 16. क्या होवर, सक्रिय, फोकस राज्य मूल्यों का वारिस करते हैं?
- 17. क्या आप एनडपेन्स का उपयोग करते हैं?
- 18. तकनीकी दस्तावेजों के लिए आप किस शब्द प्रोसेसर का उपयोग करते हैं?
- 19. आप आईएमई का उपयोग कैसे करते हैं?
- 20. आप विशाल और मुश्किल से बनाए रखने योग्य XAML फ़ाइलों का प्रबंधन कैसे करते हैं?
- 21. आप Emacs में लाइन-रैपिंग कैसे सक्रिय करते हैं?
- 22. जब आप लाइब्रेरी का उपयोग करते हैं तो अब आप क्या करते हैं?
- 23. सी ++ ब्लॉग जो आप नियमित रूप से पालन करते हैं?
- 24. आप प्रोग्रामेटिक रूप से एक विशेषता कैसे सेट करते हैं?
- 25. क्या आप प्रोग्राम करते समय इनवेरिएंट का उपयोग करते हैं?
- 26. आप संख्यात्मक रूप से फ़ाइलों को कैसे क्रमबद्ध करते हैं?
- 27. कैसे लाइवरलोड (और अन्य समान ऐप्स) तकनीकी रूप से काम करते हैं?
- 28. आप प्रोग्रामिंग रूप से एनएसएसएनयू कैसे प्रदर्शित करते हैं?
- 29. यदि आप जावा में क्लोन नहीं करते हैं तो आप क्या करते हैं और आप इसे क्या कहते हैं?
- 30. क्या आप क्यूटी का उपयोग करते हैं और आप इसका उपयोग क्यों करते हैं?
यह प्रश्न ऑफ-विषय प्रतीत होता है क्योंकि परियोजना प्रबंधन प्रश्न अब विषय पर नहीं हैं। Http://pm.stackexchange.com देखें। – LittleBobbyTables
मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि परियोजना प्रबंधन प्रश्न अब विषय पर नहीं हैं। [Pm.stackexchange.com] देखें (http://pm.stackexchange.com/tour)। – Pang