फुर्तीली दृष्टिकोण काउबॉय के लिए एक सुविधाजनक बहाना है


73

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

हालाँकि ... अपने पेशेवर काम में, मैं उन कंपनियों को समाप्त करता रहता हूँ जहाँ "फुर्तीली" दृष्टिकोण का उपयोग एक बहाने के रूप में किया जाता है, क्योंकि कोई भी प्रयास एक सामने वाले डिजाइन में नहीं डाला गया था; जब आवश्यकताओं को अच्छी तरह से समझा जाता है।

मैं यह सोचने में मदद नहीं कर सकता कि अगर फुर्तीली एप्रोच आसपास नहीं थी, तो मैं एक अच्छे उच्च-स्तरीय विनिर्देश के साथ यहाँ बैठा हूँ और हर दूसरे दिन एक ही स्क्रीन और कार्यक्षमता का पुन: परीक्षण नहीं कर रहा हूँ, जब कुछ और फसलें होती हैं। और इसलिए उस के बारे में सोचा नहीं था।

फुर्तीली कार्यप्रणाली के लाभ वास्तव में यह लंगड़ा होने का बहाना है कि यह चरवाहा तकनीकी नेतृत्व को देता है?

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


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

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

1
सबसे पहले, मुझे कहना चाहिए कि मैं चुस्त नहीं हूँ। दूसरा, मैं कहूंगा कि मेरे अनुभव में, "कैपिटल ए एजाइल" बस सभी को धीमा कर देती है (काउबॉय सहित)। मैंने कभी भी ऐसी स्थिति में काम नहीं किया जहां मुझे लगा कि चुस्त तथाकथित "चरवाहे कोडर" को सक्षम कर रहा था ।
टीएम।

1
मुझे नहीं लगता कि यह कहना सही नहीं है कि आप "काउबॉय कोडिंग" का वर्णन क्या कर रहे हैं। यह एक व्यक्तिगत समस्या नहीं है - यह एक समूह समस्या है। यह खराब उत्पाद और टीम प्रबंधन है।
मैट बी

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

जवाबों:


87

मुझे खुशी है कि इसका एक नाम है

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



20

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

[BDUF: बिग डिज़ाइन अप फ्रंट]


3
यह दृष्टिकोण कभी नहीं काउबॉय को नाकाम करने के लिए संभव नहीं होगा। हालाँकि कम से कम झरने के साथ उन्हें कम से कम एक आवश्यकताओं डॉक्टर, एक sepcification डॉक्टर आदि का उत्पादन करना होगा। चुस्त के साथ वे अनिवार्य रूप से सीधे कोड में सीधे पीटने के साथ दूर हो सकते हैं।
सिपविज़

3
फिर, यह प्रक्रिया को ठीक से प्रबंधित करने में विफलता है। ग्राहक को डेवलपर्स को शिक्षित करना चाहिए कि उपयोगकर्ता कहानी में व्यावसायिक मूल्य क्या है, और परीक्षण को सत्यापित करना चाहिए कि वे कोडबेस में एकीकृत हैं। उन क्षेत्रों में लॉग इन करें जहां डेवलपर्स को अपने कदम वापस करने हैं। क्या वे ग्राहक की व्यवसाय प्रक्रिया में अच्छी तरह से वाकिफ नहीं हैं? क्या वे तैनाती के माहौल के अनुसार अनिश्चित हैं? यदि प्रोजेक्ट "कंपोनेंट रिवर्ट" के कारण अतिरिक्त विकास लागत वसूल रहा है, तो प्रबंधन को चाहिए कि वह ओवर-बजट या शेड्यूल जाने की संभावना को कम करे।
हपरनिकेतेस

4
यदि आप कोड पर दूर से पीटना शुरू कर देते हैं, तो आप इसे कॉल करने पर भी चुस्त नहीं हैं। अगर मुझे कोड पर धमाके करने से रोकना है और इसे झरना कहना है तो अगर मैं शुरू में आवश्यकताओं के बारे में सोचकर 5 मिनट बिताऊं।
क्रेग

1
Huperniketes के पास यह अधिकार है, समस्या कार्यप्रणाली के साथ नहीं है; समस्या प्रबंधन टीम के साथ है कि काउबॉय को विभाग चलाने दें।
जेफ सिवर

7
@ सिपविज़: झरने में भी, काउबॉय सीधे कोड में धमाका करेंगे। आखिरकार उन्होंने डिजाइन युक्ति के रूप में जो कुछ भी लिखा था, उसे वे दस्तावेज करेंगे।
टीएमएन

13

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

हालांकि, स्क्रेम जैसी कुछ चुस्त कार्यप्रणाली में जादू यह है कि वे संगठन के भीतर समस्याओं पर बहुत दृश्यता प्रदान करेंगे। टीम के भीतर समस्याओं सहित!

तब आपको उन्हें हल करने का अवसर दिया जाएगा जैसा कि वे उठते हैं।

यदि समस्या काउबॉय के पास है, तो यह पहले पुनरावृत्ति के बाद बहुत दिखाई देगा। यदि समस्या कहीं और है, तो आप इसे बहुत जल्द देखेंगे।


12

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


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

+1: @TMN, @CodexArcanum: मेरा भी यही अनुभव था। कोई उपयोगकर्ता चैंपियन नहीं था। बिक्री ने उत्पाद प्रबंधन के लिए नई सुविधाएँ तय कीं, जिन्होंने फिर उन्हें विकास के लिए पारित कर दिया।
जिम जी

7

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


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

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

2
@ क्रेग मैं असहमत हूँ कि एक अच्छा डिज़ाइन असंभव है। सिस्टम के हर एक गहनता को जानने के सामने अच्छी तरह से असंभव हो सकता है लेकिन इसका मतलब यह नहीं है कि जो ज्ञात नहीं है उसके खिलाफ एक डिजाइन का उत्पादन नहीं किया जा सकता है। मेरा मतलब है कि "इस ऐप को MVC ऐप के रूप में लिखा जाएगा, जो कि Th DAL के लिए इकाई ढांचे का उपयोग करके MVC ऐप के रूप में लिखा जाएगा" कुछ होगा। इसके अलावा मैंने निविदाएं देखी हैं जहां 180+ पृष्ठ हैं और आप मुझे यह नहीं बता सकते हैं कि एक बहुत अच्छा डिजाइन तैयार करने के लिए पर्याप्त विवरण नहीं है।
सिपविज़

sipwiz, मेरा अनुभव यह है कि पृष्ठों की संख्या किसी युक्ति की उपयोगिता से नहीं जुड़ी है। जो लिखा है वह ज्यादा महत्वपूर्ण है, न कि कितना। यह पूरी तरह से सिस्टम पर निर्भर करता है कि 180 पेज अच्छे हैं या नहीं, अगर मैं विंडोज बना रहा हूं तो मुझे लगेगा कि यह थोड़ा हल्का है।
क्रेग

3
इसके अलावा, मुझे लगता है कि आपको याद रखने की ज़रूरत है, चुस्त का मतलब कोई युक्ति नहीं है।
क्रेग

6

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

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

हम तब तर्क दे सकते हैं कि चंचलता और डरपोक के बीच सहसंबंध (कार्य-कारण नहीं है!) है। केवल वास्तविक प्रमाण के साथ, मेरा मानना ​​है कि वहाँ है। क्या इसे प्रबंधन द्वारा पता लगाए बिना चरवाहा प्रथाओं के साथ प्राप्त करने का एक अच्छा तरीका माना जाता है?

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

(वैसे, मैं एजाइल "झरना" के विकल्प (नों) को कॉल करने से नफरत करता हूं, क्योंकि झरना प्रक्रियाओं को एक स्ट्रोमैन लगता है जो हर किसी पर हमला करता है, लेकिन बहुत कम लोग वास्तव में कभी भी बिना किसी पुनरावृत्ति के उपयोग करते हैं।)


4
विकास विफलताओं काउबॉय के मौजूद होने का परिणाम नहीं हैं। विकास की विफलताएं प्रबंधन के उपस्थित न होने का परिणाम हैं।
बृहस्पतिवार

@ हपरनिकेतस, यह फॉन्टास्टिक समाचार है। प्रोग्रामर कभी दोष नहीं देते हैं! हमने क्या आदर्श पेशा चुना है!
विषम

@ छानना, बाइनरी सोच के लिए खुद को सीमित करना बंद करो। प्रोग्रामर को निश्चित रूप से अपने पेशे के स्तर पर प्रदर्शन करने में विफल रहने के लिए दोषी ठहराया जा सकता है, लेकिन प्रोग्रामर कभी भी परियोजना विफलताओं के लिए दोषी नहीं होते हैं। यह परियोजना प्रबंधकों की जिम्मेदारी है।
Huperniketes

@Huperniketes, शायद आप आगे स्पष्ट कर सकते हैं, कृपया? आपने मूल रूप से "विकास विफलताओं" कहा था, लेकिन फिर "परियोजना विफलताओं" में चले गए। मैं सहमत हूं कि यदि उनके डेवलपर्स में से कोई एक उम्मीदों से नीचे प्रदर्शन करता है, तो प्रोजेक्ट प्रबंधकों को "कैरी कैन" करना पड़ सकता है, लेकिन यह देखना कठिन है कि काउबॉय डिलीवर करने में कैसे विफल हो सकते हैं, यह कभी भी प्रोजेक्ट फेल होने का कारण नहीं हो सकता है।
विषमतापूर्ण

@ प्रत्यक्ष, मेरा मतलब "विकास विफलताओं" और "परियोजना विफलताओं" के बीच कोई अंतर नहीं था। वे यहाँ पर्यायवाची हैं। निश्चित रूप से, एक परियोजना सफल नहीं हो सकती है क्योंकि प्रोग्रामिंग प्रयास उप-समरूप था, लेकिन प्रोजेक्ट मैनेजर का कर्तव्य उन मामलों की पहचान करना और आवश्यकता पड़ने पर टीम में बदलाव के साथ उन्हें मापना है। यह देखना उसका काम है कि परियोजना सफल होती है। अगर वह ऐसा नहीं कर सकता तो उसे निकाल दिया जाना चाहिए। इसलिए उन्हें टीम के सदस्यों, यहां तक ​​कि काउबॉय कोडर्स और रॉक स्टार प्रोग्रामर को सुनिश्चित करने की आवश्यकता है, वे परियोजना के अपने दायित्वों को पूरा कर रहे हैं या उन्हें आग लगा सकते हैं।
Huperniketes

5

जब तक यह आपकी टीम के लिए काम कर रहा है तब तक चुस्त है।

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

मुझे चुस्त होने के पीछे के कई विचार पसंद हैं, लेकिन मैं बार-बार असफलता देख रहा हूं कि प्रबंधक "चुस्त प्रक्रियाओं" के एक सख्त सेट को आगे बढ़ा रहे हैं, जो चुस्त की पूरी अवधारणा के सामने उड़ता है, कि टीमों को स्व होना चाहिए -organizing।

जहाँ तक "काउबॉय" की बात है, मुझे लगता है कि मैं जितने भी फुर्तीले टीमों के लिए था, प्रक्रियाएँ उन्हें धीमा करने के लिए सेवा देती हैं, जितना कि उन्हें जंगली जाना। मैंने कभी भी ऐसी स्थिति का अनुभव नहीं किया है जहाँ चुस्त "चरवाहा कोडर" को सक्षम करने के लिए सेवा की जाती है ।

अच्छी टीमों के लिए, यह अच्छी तरह से काम करने लगता है (तब फिर से, जब आप एक अच्छी टीम होते हैं, तो अधिकांश प्रक्रियाएं अच्छी तरह से काम करने लगती हैं, मजेदार यह है कि यह कैसे काम करता है?)।

अन्य टीमों के लिए, मेरे अनुभव में, यह कभी भी बुरे लोगों को बेहतर करने में मदद नहीं करता है, लेकिन यह कभी-कभी उत्पादक लोगों को परेशान करने का काम करता है।

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

(यदि आपने ऊपर से पता नहीं लगाया है, तो मैं कम से कम "कैपिटल-ए एजाइल" का प्रशंसक नहीं हूं। दूसरी ओर, मुझे नहीं लगता कि यह काउबॉय को भी प्रोत्साहित करता है।)


3

जब ठीक से किया जाता है तो चुस्त "काउबॉय" तकनीकी लीड और "हीरो" प्रोग्रामर में फिर से चमकने का प्रभाव होना चाहिए। यदि आप इस प्रभाव का पालन नहीं करते हैं, तो यह संकेत हो सकता है कि आपके चुस्त कार्यान्वयन से कुछ महत्वपूर्ण गायब है।

मैं जोड़ना चाहता हूं कि "एजाइल" वास्तव में एक इंटरफ़ेस है (मैं यहां ऑब्जेक्ट-ओरिएंटेड रूपक का उपयोग कर रहा हूं) और आप इसे इंस्टेंट नहीं कर सकते। यदि आपका इसका ठोस क्रियान्वयन XP है , तो आपको बहुत सारे अनुशासन के साथ तकनीकी प्रथाओं का एक गुच्छा का पालन करना होगा, जो एम्ब्रॉइड प्रोग्रामिंग के लिए बहुत कम जगह छोड़ता है। एक और संभावना यह है कि एक अच्छी तरह से संगठित स्क्रम टीम की टीमवर्क इसे जांच में रखेगी।


3

काउबॉय कोडर्स भी कोड लिखने की प्रवृत्ति रखते हैं जो बहुत टेस्टी नहीं है, और वे टेस्ट लिखना पसंद नहीं करते हैं। मुझे लगता है कि हर कोई TDD करने से चरवाहे रवैये में राज कर सकता है और डेवलपर्स आर्किटेक्चर के बारे में थोड़ा और सोच सकता है। कोई कार्यप्रणाली बिल्कुल सही नहीं है।


1
पागल मत भूलना "अगर (var! =
Null

3

मैं वर्तमान में एक दुकान में काम कर रहा हूं जहां यह मामला है, सिवाय इसके कि विशेष रूप से व्यक्तिगत काउबॉय की तुलना में संगठनात्मक संस्कृति के साथ अधिक करना है।

संगठन ने हमेशा एक अपेक्षाकृत ढीले, "अनौपचारिक फुर्तीली" दृष्टिकोण पर काम किया है। मैं यह नहीं कहूंगा कि यह वास्तव में फुर्तीली है, यह अधिक "नाम में फुर्तीली" है, लेकिन व्यवहार में सिर्फ सादा गैर-मौजूद पद्धति है। अलग-अलग टीमें अलग-अलग काम करती हैं, लेकिन चूंकि समग्र संगठनात्मक संस्कृति में बहुत ढीली "केवल नाम में चुस्त" प्रक्रिया के अलावा कोई पद्धति नहीं है - यह अपेक्षाकृत चरवाहे और अराजक समग्र रूप से है - विशेषकर इंटरग्रेशन में (और बहुत कुछ है) )।

कहानी का नैतिक है - हाँ, ऐसा होता है। अगर मैं इस समय शिकार कर रहा था, तो मैं इससे बहुत सावधान रहूंगा। यदि कोई दुकान फुर्तीली होने का दावा कर रही है - मैं साक्षात्कार में कुछ कठिन प्रश्न पूछूंगा ताकि यह सुनिश्चित हो सके कि वास्तव में चंचल का एक मिथ्या नाम है।


1
यह मेरी स्थिति के साथ भी बहुत अच्छा लगता है। और यह इस पूरे सवाल के बिंदु पर पहुंच जाता है कि अगर "फुर्तीली" संगठनों के आसपास नहीं थी, तो शायद झरने से चिपके रहेंगे और जो भी इसकी कमी है वह अब तक कोई प्रक्रिया नहीं होने से बेहतर है।
सिपविज़

2

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


मैंने इसे भी देखा है, (वे ग्राहक जो एक शुरुआती संस्करण देखते हैं और उन बग्स / विशेषताओं को भी पकड़ लेते हैं जिन्हें आप जानते हैं कि वे अभी तक तैयार नहीं हैं), और आप उपयोगी प्रतिक्रिया प्राप्त करने के लिए कुछ समय संघर्ष कर सकते हैं। मुझे लगता है कि यह आपके ग्राहकों को शिक्षित करने का मामला है, हालांकि।
डीन हार्डिंग

प्रोटोटाइपिंग ....
sipwiz

2

मुझे लगता है कि यह सच है, कुछ वातावरण में एजाइल का उपयोग बिना किसी अनुशासन के बहाने के रूप में किया जाता है। असली समस्या यह है कि हम दृष्टि खो चुके हैं कि हमारे पास कोई पद्धति क्यों है। व्यक्तिगत रूप से, मुझे लगता है कि कार्यप्रणाली इस अर्थ में एक वास्तुशिल्प मुद्दा है कि प्रणाली की वास्तुकला गैर-कार्यात्मक, गुणवत्ता विशेषताओं को संबोधित करने के लिए है, कार्यप्रणाली को उन्हीं विशेषताओं में से कुछ को संबोधित किया जाना चाहिए (रखरखाव, विकास उत्पादकता, ज्ञान हस्तांतरण,) और अन्य।)

प्रक्रिया विशेषताओं के नियंत्रण के रूप में कार्यप्रणाली को देखने से कुछ बातों का पता चलता है: 1) मेट्रिक्स के बिना हम एक कार्यप्रणाली की प्रभावशीलता की तुलना दूसरे से नहीं कर सकते हैं, 2) जो महत्वपूर्ण हैं उनके बारे में एक सक्रिय निर्णय लेने की जरूरत है कि क्या विशेषताएं महत्वपूर्ण हैं (वितरण समय बनाम कोड गुणवत्ता बनाम ज्ञान हस्तांतरण)।

मेट्रिक्स और एक मूर्त दोनों लक्ष्य होने के बिना, हम बस अपने "जादू के पंख" के रूप में एक पद्धति का चयन करते हैं कि यदि हम तंग करते हैं, तो हम सॉफ़्टवेयर वितरित करने में सक्षम होंगे।

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

तो मेट्रिक्स क्या हैं? वे प्रोजेक्ट से प्रोजेक्ट, टीम से टीम और समय-समय पर बदलते रहते हैं। जब डिलीवरी शेड्यूल महत्वपूर्ण होता है, तो उपयोगी है कि एक जो मैंने व्यक्तिगत रूप से उपयोग किया है, वह अनुमान कौशल और गुणवत्ता है। अधिकांश डेवलपर्स उन कार्यों का सटीक अनुमान लगा सकते हैं जो एक सप्ताह लंबे या कम हैं। इसलिए एक दृष्टिकोण परियोजना को एक डेवलपर-सप्ताह लंबे और ट्रैक ट्रैक में विभाजित करना है जिसने अनुमान लगाया था। जैसे-जैसे यह परियोजना आगे बढ़ेगी, वे अपने अनुमान बदल सकते हैं। एक कार्य पूरा होने के बाद, यदि 10% से अधिक (1/2 दिन में) हम इसे बग के समान मानते हैं - हम पहचानते हैं कि अनुमान क्यों बंद था (यानी एक डेटाबेस तालिका पर विचार नहीं किया गया था), पहचानें सुधारात्मक कार्रवाई (यानी अनुमान में डीबीए को शामिल करें), और फिर आगे बढ़ें। इस जानकारी का उपयोग करके हम प्रति सप्ताह # अनुमान कीड़ों के #, # डेवलपर के बग के #, जैसे मैट्रिक्स बना सकते हैं,

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

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


अच्छे अंक। एक चुस्त दृष्टिकोण में डिलिवरेबल्स से मेरी कुंठाएं बहुत अधिक तरल हैं और यह अक्षम तकनीक को किसी भी चीज से दूर जाने की अनुमति देता है जो वे चाहते हैं और जो मेरे अनुभव में बिल्कुल भी नहीं है == चरवाहा कोडिंग।
सिप्विज

1

मैं यहाँ एक अच्छे उच्च स्तर के विनिर्देशन के साथ बैठा हूँ और हर दूसरे दिन एक ही स्क्रीन और कार्यक्षमता का पुन: परीक्षण नहीं कर रहा हूँ क्योंकि कुछ और फसलें या तो ऐसा सोचा नहीं था।

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

मैं चुस्त नहीं हूँ, मुझे संदेह है कि टीम ठीक से चुस्त नहीं है - लेकिन जैसा कि आप कहते हैं, शब्द "फुर्तीली" कभी-कभी काउबॉय द्वारा नुकीले नेतृत्व वाले प्रबंधन को समझाने के लिए इस्तेमाल किया जा सकता है कि अर्ध-बेक्ड डिज़ाइन एक नकारात्मक के बजाय एक सकारात्मक है ।


स्वचालित परीक्षणों के बिना फुर्तीली सिरदर्द के लिए पूछ रही है
स्टीवन ए लोव

1

यह अजीब है कि कोई भी खुद को चरवाहे कोडर के रूप में कैसे सोचता है। Im पोस्टर के कई सट्टेबाजी कर रहे हैं या एक हो गया है;)


1
मुझे लगता है कि हममें से ज्यादातर को काउबॉय के रूप में शुरुआत हुई।
डेविड थॉर्नले

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

1

चरवाहे कोडर अच्छे हैं क्योंकि उन्हें सामान जल्दी से प्राप्त करना पसंद है। वे अक्सर बड़े-चित्र मुद्दों या कोड गुणवत्ता के बारे में चिंतित नहीं होते हैं, यही वजह है कि "काउबॉय कोडर" अक्सर एक एपिटेट होता है। उनके तरीके देर परियोजना वितरण के अवसर लागत जोखिम को कम करते हैं।

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

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


0

फुर्तीले होने के कारण अप-फ्रंट डिज़ाइन / विनिर्देशों पर बहुत कम जोर दिया जाता है क्योंकि आवश्यकताएं बदल सकती हैं। गहरा कारण यह है कि आवश्यकताएं स्थिर होने पर भी चश्मा लगता है:

  • गलत - आवश्यकताओं को पकड़ने में विफल।

  • असंगत - विरोधाभासों से त्रस्त क्योंकि वे लेखक / पाठक को उन्हें पकड़ने के लिए असंभव बनाने के लिए पर्याप्त जानकारी रखते हैं।

  • अलग-थलग - वे एक चल (हालांकि पतित) प्रणाली से मूल्यवान प्रतिक्रिया को शामिल नहीं करते हैं।

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