क्या तकनीकी ऋण को फीचर या कोर (या बग) के रूप में निर्धारित किया जाना चाहिए?


19

मैंने कुछ उपयोगकर्ता कहानियों को जोड़ा है जो कुछ तकनीकी ऋण को मेरे पिवट ट्रैकर बोर्ड को संबोधित करते हैं। क्या मुझे उन्हें सुविधाओं के रूप में (मेरे वेग के स्तर को ध्यान में रखते हुए) या कोरस / बग्स (मेरे वेग को कम करते हुए) पर विचार करना चाहिए? मैं समझता हूं कि यदि मैंने एक या दूसरे लगातार किया तो लंबे समय में कोई फर्क नहीं पड़ेगा, लेकिन हर बार जब मैं एक तकनीकी ऋण कहानी जोड़ता हूं तो मुझे निर्णय लेना होगा।

कुछ विचार:

  • वे वास्तव में कीड़े नहीं हैं, वे कुछ भी नहीं तोड़ते हैं
  • उपयोगकर्ताओं ने कुछ भी अनुरोध नहीं किया है क्योंकि यह निम्न-स्तरीय कार्यान्वयन है जो उन्हें प्रभावित नहीं करता है, लेकिन यह दीर्घकालिक विकास को आसान बना देगा
  • आप अच्छी तरह से कहानियों है कि उपयोगकर्ताओं को जोड़ने के मूल्य, के रूप में सुविधाओं को परिभाषित करता है, तो एक) वे नहीं के रूप में उन नहीं किसी भी प्रत्यक्ष लाभ है, लेकिन फिर ख) वे करते देखेंगे है, क्योंकि वे भविष्य के विकास / रखरखाव संभव जो कर करता ऐड मूल्य, अभी नहीं

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


जवाबों:


17

यह एक विशेषता है।

As a [Developer], 
I want to [refactor the whizbang library] 
in order to [simplify maintenance and speed execution]

यह किसी भी अन्य विशेषताओं की तरह परिभाषित और निर्धारित और ट्रैक किया गया है।

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


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

5
मुझे असहमत होना पड़ेगा। इस दृष्टिकोण से, व्यावहारिक रूप से सब कुछ - यहां तक ​​कि मेरी आईडीई की स्थापना या एक एससीएम खाता प्राप्त करना - एक "सुविधा" की तरह दिखेगा ...
पेटर टॉर्क

2
@ पेटर - जरूरी नहीं। अपना IDE सेट करना अपरिहार्य प्रयास है; अन्य चीजें बस "सामान जो हो जाता है" श्रेणी में आती हैं। लेकिन एक रूपरेखा या कुछ को बदलना बहुत अलग है। व्यवसाय को इस बात की जानकारी होनी चाहिए कि आप क्या करने जा रहे हैं, इससे उन्हें लाभ होता है और उन्हें अन्य काम के मुकाबले इसे प्राथमिकता देने की अनुमति दी जानी चाहिए। इस प्रकार, यह हर दृष्टि से एक विशेषता है।
pdr

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

3
-1 अपनी नौकरी करने में विफलता को कभी भी एक विशेषता के रूप में नहीं माना जाना चाहिए।
मार्टिन विकमैन

18

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

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

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


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

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

+1, यह एकमात्र उत्तर है जो स्पष्ट करता है कि जब आप "तकनीकी विभाग के कार्यों" को सुविधाओं के रूप में गिनते हैं तो वेग की गणना कैसे गलत हो जाएगी।
डॉक्टर ब्राउन

15

तकनीकी ऋण को खत्म करने के लिए IMHO का कार्य निश्चित रूप से एक विशेषता नहीं है। इसे "बग" विभाग में दिखाया जा सकता है, लेकिन यह शब्दों की परिभाषा को बढ़ाएगा, क्योंकि इसके परिणामस्वरूप उपयोगकर्ताओं द्वारा देखे जाने वाले व्यवहार में परिवर्तन नहीं होता है।

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

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


1
मैं इस बात से सहमत हूं कि एक नई सुविधा की आवश्यकता होने पर तकनीकी ऋण को दूर करना शामिल किया जाना चाहिए, लेकिन मैंने इस प्रश्न को स्वतंत्र रूप से तकनीकी ऋण का भुगतान करने के रूप में पढ़ा है या किसी नई सुविधा के लिए आवश्यक है।
स्टीवन ए। लोवे

@ सच, ​​मेरी व्याख्या भी यही थी। तकनीकी ऋण वापसी को संबंधित सुविधा से जोड़ना केवल एक सुझाव है।
Péter Török

3

मैं इसे ए कहूंगा improvement

बग नहीं क्योंकि कुछ भी टूटा नहीं है।

न ही एक विशेषता क्योंकि रीफ़ैक्टरिंग आपके ग्राहक का अनुरोध नहीं होगा। (क्योंकि यह काम करता है!)।

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

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