2009-12-01 12 views
9

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

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

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

संपादित करें: मैं के बारे में "डेवलपर कहानियां" अलबोर्ग विश्वविद्यालय के this research पाया।

क्या आपके पास कोई अनुभव, विचार या विपक्ष है?

अग्रिम धन्यवाद! (यह मेरा पहला सवाल है!: डी)

उत्तर

11

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

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

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

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

आर्किटेक्चर कार्य अभी भी कार्यक्षमता द्वारा संचालित किया जाना चाहिए। दूसरे शब्दों में, टीम को किसी विशेष उपयोगकर्ता कहानी को समर्थन और सक्षम करने के लिए आधारभूत संरचना का निर्माण करना चाहिए। सिर्फ इसलिए नहीं कि उन्हें लगता है कि यह भविष्य में उपयोगी होगा। The YAGNI principle उस तरह के दृष्टिकोण पर लागू होता है।

+0

टिप्पणी प्रसन्न करना! धन्यवाद! आपने वास्तव में मेरा दिमाग साफ़ कर दिया :)। मेरे पास एक खोज थी और कुछ दिलचस्प लेखों को टैक्निकल ऋण की परिभाषाओं के साथ मिला (http://blogs.construx.com/blogs/stevemcc/archive/2007/11/01/technical-debt-2.aspx - http: // codeartisan .blogspot.com/2008/08/क्रैकिंग-डाउन-ऑन-तकनीकी-debt.html)। मुझे लगता है कि नियंत्रण ऋण के तहत, थोड़ा डिजाइन के साथ मिश्रित पहला दृष्टिकोण हमारे लिए सही विकल्प हो सकता है। –

2

मेरा उत्तर here लागू होता है।

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

+1

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

1

यह एक सुनिश्चित करें सदस्यता घटक, अन्य सभी घटक से अनप्लग परीक्षण किया जा सकता 'उपयोगकर्ता' कहानी, अपने बैकलॉग चाहिए प्रणाली/विकास-कहानियां हैं जब तक डाल के रूप में यह sync'ed है के रूप में सरल है इस तरह के कार्यान्वयन के उत्पाद मालिक की इच्छा के साथ।

यह कैसे हम आम तौर पर, एक बैकलॉग में गैर कार्यात्मक आवश्यकताओं डाल की तरह आदि

1

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

1

हमारी टीम में हम इसे "आईटी-कार्ड्स" कहते हैं, जो फॉर्म के कार्ड हैं: "एक डेवलपर के रूप में। मैं xyz-घटक को दोबारा नहीं करना चाहता। रखरखाव लागत को कम करने और लचीलापन बढ़ाने के लिए।"

टीम के सदस्य प्राथमिकता वाले बैकलॉग से "फीचर-कार्ड" पॉप अप करने के बजाय किसी भी आईटी कार्ड को चुनने के लिए स्वतंत्र हैं।

मुझे यह स्वीकार्य स्तर पर तकनीकी ऋण रखने और नवाचार की स्वस्थ गति की अनुमति देने के लिए उचित रूप से अच्छी तरह से काम करने के लिए यह दृष्टिकोण मिलता है।

मुझे कुछ हद तक सिस्टम को पुन: आर्किटेक्ट करने के साधन के रूप में कमी आई है। फीचर उत्पादन प्रवाह से लंबे प्रस्थान के लिए उचित ठहराना मुश्किल है।

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

संबंधित मुद्दे