"विफलता प्रेरित विकास" के बारे में क्या करना है?


28

हमारी दुकान पर, हम चुस्त होने का प्रयास करते हैं। और मैं कहूंगा कि हम काफी प्रगति कर रहे हैं। उस ने कहा, हम में से कुछ ने एक पैटर्न देखा है जिसे हमने "असफल चालित विकास" कहना शुरू कर दिया है।

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

हमारी टीम में एक महान प्रोजेक्ट मैनेजर है जो ग्राहक से स्वीकृति मानदंड प्राप्त करने का प्रयास करता है, लेकिन यह हमेशा संभव नहीं होता है। मेरी विकास की कुर्सी से, यह ग्राहक के कारण या तो ठीक से पता नहीं है कि वे क्या चाहते हैं (या यह किकर है) ग्राहक के मुख्य कार्यालय संघर्ष में दो अलग-अलग "शिविर" हैं कि कैसे एक कहानी को लागू किया जाना चाहिए। शिविर एक शिथिल हुक्म होगा जैसे कि फ़ीचर एक्स काम करता है इस , तो शिविर बी यह असफल हो जायेगी कारण की तरह काम नहीं कर रहा है कि । इसलिए, शब्द "FDD"। प्रक्रिया "विफलताओं" द्वारा संचालित है।

यह मेरे प्रश्न की ओर जाता है: क्या किसी और ने इसका सामना किया है और यदि हां, तो इससे निपटने के लिए कोई सुझाव / सुझाव?

बेशक, हमने पहले से सहमत होने के लिए शिविर ए और बी प्राप्त करने की कोशिश की है, लेकिन हर कोई जानता है कि यह हमेशा मामला नहीं होता है।

धन्यवाद

जवाबों:


19

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

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

कैंप ए काफी हद तक तय करेगा कि फीचर एक्स इस तरह से काम करता है, फिर कैंप बी इसे इस तरह से काम नहीं करने के कारण विफल कर देगा।

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


5
टिप्पणी को देखते हुए "कैम्पा और कैम्पब के बीच बेमेल संबंध एक राजनीतिक मुद्दा है ..." मैं इसे 'सही' उत्तर के रूप में चिह्नित कर रहा हूं।
देवसोलो

घोटाले में, कैम्पा और कैंप को एक आम समाधान के लिए ड्राइव करना उत्पाद स्वामी की भूमिका का काम है। देव टीम के लिए उत्पाद स्वामी द्वारा दिया गया केवल एक सत्य होना चाहिए।
k3b

@ k3b यह सच है, लेकिन ओपी यह नहीं कहता कि वे स्क्रैम करने का इरादा कर रहे हैं। ऐसा लगता है कि उनके पास स्क्रैम 'उत्पाद स्वामी' की भूमिका निभाने वाला कोई नहीं है।
bdsl

7

पुनरावृत्त विकास का उपयोग करने के मुख्य कारणों में से एक है क्योंकि आपके पास एक ग्राहक समूह है जिसे यह नहीं पता है कि उसे क्या चाहिए।

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

दूसरे शब्दों में, अगर यह एकमात्र समस्या थी, तो घबराने की कोई आवश्यकता नहीं है जब तक कि आप ऐसी स्थिति में समाप्त नहीं होते हैं जहां आपके पास बस अंतहीन रिट्रीट हैं।

ग्राहक निकाय के बीच असहमति की समस्या एक उत्पाद प्रबंधक समस्या है जिसे आपको लीक नहीं करना चाहिए। आपको जो भी देखना चाहिए वह बैकलॉग / कार्य / जो भी हो। निश्चित रूप से, पीएम अक्सर विकास की सीमा में भाग लेंगे, क्योंकि यह एकमात्र ऐसी जगह है जहां वे कर सकते हैं, लेकिन यह आपको प्रभावित नहीं करना चाहिए।

यह कैसे प्रबंधित किया जाता है यह बहुत निर्भर करेगा कि कैंप ए और कैंप बी कौन हैं।

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

दूसरी ओर, यदि A और B उपयोगकर्ता समूह हैं, तो आप प्रबंधन से किसी को कानून लाने के लिए उसके विपरीत व्यवहार का उपयोग करते हैं।

सभी मामलों में, पूर्णता अच्छे का दुश्मन है।


5

आप जो वर्णन करते हैं वह एजाइल का एक विशिष्ट गलत कार्यान्वयन है। आप परिवर्तन को गले नहीं लगाते, आप इसके गुलाम हैं

क्या आपके पास उत्पाद का स्वामी है? क्या आप उनसे आवश्यकतानुसार बात कर सकते हैं? क्या आप यूजर्स के साथ स्प्रिंट रिव्यू कर रहे हैं? क्या उपयोगकर्ता स्प्रिंट प्लानिंग में (उत्पाद स्वामी के माध्यम से) प्रक्रिया में शामिल हैं? क्या आपके पास मुख्य टीम में परीक्षक हैं?

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

एक और उपाय है कि एजाइल करना बंद कर दिया जाए।


हमारे पास वास्तव में एक फुर्तीला कोच है। मुझे इसका उल्लेख करना चाहिए था। यह वह था और मैंने जो FDD शब्द गढ़ा था। जहां तक ​​उत्पाद के मालिक की बात है, यह भी ग्राहक है। ऐसा कौन होता है कि उनका उद्यम इस व्यवहार के अनुकूल हो।
देवसोलो

@ डेवोलो: क्या वह सीएसएम, सीएससी या सीएसटी है? अगर वह CSM है तो यह कोच के लिए पर्याप्त नहीं है।

@ Pierre303 सीएसएम, सीएससी या सीएसटी से आपका क्या अभिप्राय है?
सांगो

प्रमाणित स्क्रम मास्टर, प्रमाणित

1
@gnat: हां यह मैं हूं

4

यदि वे पिंग-पॉन्गिंग कर रहे हैं (A कहते हैं कि x, B अस्वीकार करता है, तो y कहता है, तो A अस्वीकार और वापस x), तो आपके लीड (PO या जो भी आपको मिले हैं) उनके दिमाग बनाने के लिए उन पर वार करने की आवश्यकता है ।

यह ठीक है यदि पहली बार समाप्त होने पर उनकी जरूरतों को पूरा नहीं किया जाता है (इस का पूरा बिंदु उन्हें देखने के लिए कुछ देना है), लेकिन अगर वे वहां बैठते हैं और बाद में पुनरावृत्तियों पर आगे पीछे झूलते हैं तो आप कभी नहीं करेंगे।


3

यहाँ समस्या यह प्रतीत नहीं होती है "जब मैं इसे देखूंगा तो मुझे पता चल जाएगा"। वायरफ्रेम उस विशेष समस्या के साथ (एक बिंदु तक) मदद कर सकता है।

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

शायद वे आपको यह बताकर टेबल के लिए मजबूर कर सकते हैं कि इन-फाइटिंग में उनकी लागत कितनी है क्योंकि आप फिर से ए को बी (या इसके विपरीत) के लिए पूछते हैं।

अपने समय के खर्च का विस्तृत विवरण रखने से यहाँ मदद मिलेगी। (मेरे काम ने एक हल्का समयरेखा अनुप्रयोग लिखा: प्रयोग करने में आसान, और रिपोर्टिंग के लिए आसान, और 15 मिनट के विखंडू में समय की रिपोर्ट करता है। यह कहना आसान है "मैंने फीचर एक्स पर n घंटे बिताए।"

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

उम्मीद है कि आप क्लाइंट पर एक चैंपियन पा सकते हैं जो आपके लिए असीम देखभाल कर सकता है।


3

जैसा कि मैं इसे देखता हूं, समस्या को प्रभावी रूप से केवल एक स्थान पर हल किया जा सकता है, ग्राहक पर, जो मुश्किल होने वाला है।

आप उल्लेख कर रहे हैं कि आप चुस्त हैं, इसलिए मैं इसे घबराहट के दृष्टिकोण से ले जाऊंगा, जो चुस्त प्रक्रिया को सबसे अच्छी तरह से जानता है।

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

यह मुझे लगता है कि आपके प्रोजेक्ट मैनेजर की यह भूमिका है। लेकिन जब से उन्हें एक परियोजना प्रबंधक कहा जाता है, और उत्पाद के मालिक नहीं, मुझे यह विश्वास करने के लिए प्रेरित किया जाता है कि वह अन्य कार्यों के साथ-साथ (पारंपरिक, गैर-चुस्त, प्रबंधन कार्यों?) पर बोझ हैं, और उनके पास आगे बढ़ने के लिए पर्याप्त समय नहीं है? उत्पाद के मालिक की भूमिका।

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

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

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


यह मुझे नहीं लगता कि पीएम एक उत्पाद के मालिक हैं। सवाल कहता है कि पीएम "ग्राहक (एस) से स्वीकृति मानदंड प्राप्त करने का प्रयास करते हैं, लेकिन यह हमेशा संभव नहीं है"। मेरे लिए 'प्रोडक्ट ओनर' का मतलब है कि कोई ऐसा व्यक्ति जो खुद उनके लिए कोई दूसरा पक्ष पूछने के बजाय स्वीकृति मानदंड बनाए। यहाँ मुख्य समस्या यह है कि इस बात पर कोई स्पष्ट नीति नहीं है कि स्वीकृति मानदंड निर्धारित करने का अधिकार किसके पास है।
bdsl

2

अपने सॉफ़्टवेयर को अपने ग्राहक द्वारा स्वीकार किए जाने के लिए ग्राहक द्वारा निर्धारित मानदंड के अनुसार आवश्यकताओं को पूरा करना चाहिए।

आपके पास कहानियों और स्वीकृति मानदंडों के रूप में उपयोगकर्ता की आवश्यकताओं का एक सेट है लेकिन ग्राहक संगठन के कुछ हिस्सों में उपयोगकर्ता कहानियों की अलग-अलग व्याख्याएं हैं, जिससे अस्पष्टता हो जाती है।

आप कार्यात्मक डिज़ाइन और कार्यान्वित किए गए नियम और ग्राहक द्वारा हस्ताक्षरित इन नियमों का वर्णन करके इस स्थिति से बाहर निकल सकते हैं। इसके बाद स्वीकृति के दौरान परीक्षण किया जाएगा। ग्राहक द्वारा पहले से सभी दस्तावेजों के अर्थ के बारे में चर्चा को रोकने के लिए इस पर पहले से सहमति होनी चाहिए।

जब तक आपका समूह आपके द्वारा बनाए जा रहे सॉफ़्टवेयर का इस तरह से वर्णन नहीं कर सकता है कि दोनों समूह इस पर सहमत हैं, तब भी आप परियोजना के आवश्यकताओं के विश्लेषण चरण में हैं।

आपका प्रोजेक्ट मैनेजर कार्यात्मक आवश्यकताओं में अस्पष्टता को हल करने के लिए परियोजना के हिस्से के रूप में भुगतान की गई कंसल्टेंसी की पेशकश कर सकता है।


1

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

एक चीज जो उपयोगकर्ता को अपेक्षित सिस्टम व्यवहार के साथ विस्तृत उदाहरण देकर आवश्यकताओं पर क्यूए का एक रूप कर रही है। उदाहरण के लिए, आप कह सकते हैं: "यहां एक उदाहरण का मामला है। यदि हम X को लागू करते हैं, तो Y परिणाम होगा, और Z परिणामों में से एक होगा।" इस तरह, आप "प्रतीक्षा करें, वह काम नहीं करने वाला" हो सकता है इससे पहले कि आप इसके बजाय कोड लिखते हैं।

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