कैसे करें 'बाहरी' निर्भरता को संभालना?


13

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

तुम्हें पता है कि यह 'जल्द ही' आ रहा है।

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

यदि पूर्व निर्भरता के कारण खो चुके 'अनअर्जेड' कहानी बिंदुओं को कैसे संभालते हैं? आंशिक क्रेडिट (eek!) या इसे ठोड़ी पर लें।

जवाबों:


12

अंतत: यह इस बात पर निर्भर करता है कि क्या आप 100% आश्वस्त हैं कि बाहरी प्रदाता आपके द्वारा उपयोग की जाने वाली किसी चीज का उपयोग करेगा।

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

आपको ग्राहक को यह बताने देना चाहिए कि यह निर्भरता मौजूद है और काम पूरा करने से पहले आपको एपीआई (या जो भी) उपलब्ध होने का इंतजार करना होगा।

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

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


क्या आप कभी भी 'फेकिंग' एपीआई का सुझाव देंगे अगर यह बहुत ज्यादा परेशानी का कारण न हो?
जेएफओ

@ जेफ़ो - अच्छी तरह से निर्भर करता है। यदि आपको वास्तविक परिणामों की आवश्यकता है तो यह एक समस्या हो सकती है और एपीआई को बदलने के लिए जाना जाता है।
क्रिसएफ

2
@ जेफ़ो मैं अलगाव में एक एपीआई नकली नहीं होगा, लेकिन आप एक आम इंटरफ़ेस पर सहमत होने के बारे में देख सकते हैं जिसे आप के खिलाफ कोड कर सकते हैं। यहां तक ​​कि जब तृतीय-पक्ष घटक आते हैं, तो अपने कोड को सीधे उन्हें कॉल करने से बचाने के लिए एक बुरा विचार नहीं है।
एडम लेअर

इसलिए प्रोजेक्ट मैनेजमेंट में, यह रिस्क चर्चा है।
जेमी क्लेटन

12

टीम वह है जो प्रतिबद्धता बनाती है। हमारी टीम में, अगर हमें लगता है कि हम एक बाहरी डेवलपर की प्रतीक्षा कर रहे हैं (उदाहरण के लिए), तो हमने यह कहना सीख लिया है कि हम कहानी को लेने के लिए तैयार नहीं हैं। कहानी लेने लायक स्थिति में नहीं है।

एक बहुत अच्छा मौका है कि बाहरी संसाधन से देर से, अप्रत्याशित, या अलग-अलग डिलीवरी का मतलब होगा कि आपके अनुमान और प्राथमिकताएं बदल सकती हैं।

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

कठोर लगता है लेकिन मैं अपनी बात मनवाना चाहता हूं।


4

स्क्रम में किया की एक परिभाषा है और उपयोगकर्ता कहानियों के लिए तैयार की एक परिभाषा है। आपकी जैसी स्थिति में इसके लिए तैयार की परिभाषा महत्वपूर्ण है जिसे सभी हितधारक समझते हैं और इससे सहमत हैं। उदाहरण के लिए तैयार की अपनी परिभाषा में एक पंक्ति होना बहुत उचित लगता है:

  • कहानी के लिए आवश्यक सभी बाहरी एपीआई को वितरित और परीक्षण किया जाना चाहिए।

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


स्क्रैम फ्रेमवर्क में रेडी की कोई परिभाषा नहीं है । यह एक अतिरिक्त, कभी-कभी एक पारंपरिक चरण द्वार है, जिसका उपयोग कुछ संगठन करते हैं।
एलन लारीमर

2

यदि आप किसी ऐसी चीज की प्रतीक्षा कर रहे हैं जिसे आप अभी तक नहीं जानते हैं तो आप इसे योजना नहीं बना सकते हैं भले ही आप 100% सुनिश्चित हों कि यह कल दिया जाएगा। क्यों? क्योंकि यदि आप नहीं जानते हैं तो आप इसकी जटिलता का अनुमान भी नहीं लगा सकते हैं और यदि आप इसका अनुमान नहीं लगा सकते हैं तो आप इसकी योजना नहीं बना सकते हैं।

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


2

संचार और समझौतों

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

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

एक प्रोजेक्ट मैनेजर बाहरी टीम पर निर्भरता कैसे प्रबंधित कर सकता है?

/pm/1400/how-can-a-project-manager-manage-a-dependency-on-an-external-team


1

यदि यह आपकी टीम पर निर्भर नहीं करता है और आप अन्य कार्य कर सकते हैं, तो मैं आपको सलाह देता हूं कि यह तैयार होने पर ही इसे लें। यहां तक ​​कि अगर आपको मॉकअप वेबसेवा, स्कीमा, इंटरफ़ेस और / या कॉन्ट्रैक्ट मिला है, तो भी यह टूट सकता है (मुरैना के नियम याद रखें?)।

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