सोलो डेवलपर के लिए चंचल


133

कैसे एक एकल डेवलपर के रूप में चंचल प्रक्रिया अवधारणाओं को लागू करेगा? Agile तेज गति से विकसित होने वाले अनुप्रयोगों के लिए उपयोगी लगती है, लेकिन यह बहुत ही टीम उन्मुख भी लगती है ...


77
मैंने सिर्फ एक एकल डेवलपर के रूप में जोड़ी प्रोग्रामिंग को अपनाने की कोशिश की, और इसने मेरे काम की गुणवत्ता में सुधार किया!
जादूगर79

जवाबों:


66
  • परीक्षण संचालित विकास करके
  • छोटे स्प्रिंट में विकसित करके
  • ग्राहक के साथ बहुत संपर्क होने से

मुझे याद है कि काउबॉय डेवलपमेंट के बारे में एक थीसिस पढ़ना, जो कि सोलो डेवलपर्स के लिए जरूरी एजाइल है, लेकिन मुझे याद नहीं है कि मुझे यह कहां मिला।


18
मैं जोर देकर असहमत हूं कि "काउबॉय" का विकास फुर्तीला है, यहां तक ​​कि एक एकल डेवलपर के लिए भी
ट्रैविस क्रिश्चियन

4
@TravisChristian - यह अधिक लोन रेंजर है।
जेएफओ

9
यहाँ थीसिस की एक कड़ी है , जिसे @ a.brookshollar ने एक संपादन के रूप में छोड़ने की कोशिश की।
स्कॉट व्हिटलॉक

6
मैं दांव लगाऊंगा कि न तो ट्रैविस और न ही 11 लोग जिन्होंने अपनी टिप्पणी को मतदान किया है, ने प्रश्न में थीसिस को पढ़ा है। पूरा शीर्षक है "काउबॉय: एन एजाइल प्रोग्रामिंग मेथडोलोजी फॉर ए सोलो प्रोग्रामर" और, जबकि थोड़ा दिनांकित, यह पढ़ने लायक है।
1946 में ब्रायन मेलोन

2
थीसिस का लिंक मृत है, लेकिन संग्रह में यह है: web.archive.org/web/20150914220334/http://…
टोबैस किंजलर

39

Klez (सभी अच्छे सुझावों) से उत्तर के लिए, मैं निम्नलिखित सुझाव दूंगा:

  • एक उत्पाद बैकलॉग रखना एक उत्पाद बैकलॉग
    मूल रूप से उन सभी मदों की एक सूची है जिन्हें आप इस उत्पाद के लिए कुछ स्तर पर पूरा करने का इरादा रखते हैं।
  • स्प्रिंट बरंडाउन और उत्पाद को बनाए रखना एक स्प्रिंट बरंडाउन
    उन सभी कार्यों की सूची के साथ शुरू होता है जिन्हें आपने इस स्प्रिंट में पूरा करने का निर्णय लिया है (आपके उत्पाद बैकलॉग का एक सेट समय की एक निर्धारित अवधि में पूरा किया जाना है - जैसे 2 सप्ताह के साथ। आवश्यक कार्य का अनुमान। जैसे ही आप चीजों को चिह्नित करते हैं, आप उन्हें चिह्नित करते हैं; जिससे उस स्प्रिंट के लिए शेष कार्य कम हो जाता है (या जल जाता है)।
    इसी तरह, एक उत्पाद बोन्डाउन पूरे उत्पाद बैकलॉग के लिए शेष काम को ट्रैक करता है
  • सापेक्ष आकलन और वेग की अवधारणाओं को अपनाना
    सापेक्ष अनुमान एक अनुमान तकनीक है जो अन्य कार्यों (या कहानियों) को एक गाइड के रूप में उपयोग करती है। उदाहरण के लिए, यदि आप जानते हैं कि कार्य A, कार्य B की तुलना में आसान है और कार्य C से दोगुना जटिल है, तो आप यह सुनिश्चित करेंगे कि कार्य A के लिए "अंक" उन अपेक्षाओं के सापेक्ष सही थे।
    जोर सही ढंग से आवश्यक कार्य की मात्रा का अनुमान लगाने पर नहीं है, लेकिन अनुमानों को एक दूसरे के अनुरूप बनाए रखते हैं।
    वेग एक माप है कि आप स्प्रिंट में कितने "अंक" प्राप्त करते हैं। यदि आपके रिश्तेदार अनुमान स्थिरता सुनिश्चित कर रहे हैं, तो इस वेग का उपयोग यह अनुमान लगाने के लिए किया जा सकता है कि आगामी स्प्रिंट में आपको कौन से कार्य करने की संभावना है। ध्यान दें कि वेग को लगातार संशोधित किया जाना चाहिए।

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

4
... जैसा कि टीडीडी, स्प्रिंट और कस्टमर कॉन्टैक्ट हैं ...
दामोविसा

5
अच्छा होगा यदि आप यह भी बताएं कि इस सभी लिंगो का क्या मतलब है। मैं उतनी ही क्लूलेस हूं जितनी पहले मैं इस जवाब को पढ़ रही थी ..
अपवोट

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

4
@azheglov वाह, अपराध का कारण बनने की जरूरत नहीं है। मैं पर प्रकाश डाला गया था जो स्क्रम के कुछ हिस्सों मुझे लगता है कि बजाय एक एकल डेवलपर परिदृश्य में सबसे उपयोगी होते हैं कैसे उन्हें लागू करने के। इनमें से किसी भी तकनीक को एकल बनाम टीम के लिए बिल्कुल नहीं बदलना चाहिए, इसलिए उन्हें बिल्कुल उसी तरह से लागू किया जाएगा। अपने शब्दों को प्रतिबिंबित करने के लिए - इन तकनीकों में ऐसा कुछ भी नहीं है जो माइक्रो-स्केल के लिए विशिष्ट हो।
दामोविसा

21
  • कार्य प्रगति पर है (टाइम-बॉक्सिंग के अलावा)। यहां तक ​​कि अगर आप एक पुनरावृत्ति विधि का उपयोग करते हैं (जैसा कि कानन के विपरीत), तो मान लीजिए कि आपका वेग 8 अंक प्रति पुनरावृत्ति है। एक बार में सभी 8 पर काम करना शुरू न करें। WIP को या तो कहानियों या कहानी बिंदुओं तक सीमित करना ठीक है।
  • अपनी सभी उपयोगकर्ता कहानियों के लिए स्वचालित स्वीकृति परीक्षण करें। सामान्य रूप से जितना संभव हो उतना स्वचालित करें।
  • उपयोगकर्ता की कहानियों को बहुत छोटा करने के पक्ष में इर। अंगूठे के एक नियम के रूप में, सबसे बड़ी से छोटी कहानी 3: 1 का अनुपात बनाएं । यदि आप स्क्रैम में एक कहानी को कम आंकते हैं और यह बहुत बड़ा हो जाता है, तो कई डेवलपर्स इसे ट्रैक पर वापस लाने के लिए झुंड सकते हैं। लेकिन आपके पास पर्याप्त लोग नहीं हैं।
  • यदि, एक नियमित आकार के टीम के संदर्भ में, आप संकोच करेंगे कि उपयोगकर्ता की कहानी से स्पाइक को विभाजित करें या नहीं - एकल या छोटी टीम के संदर्भ में, बिना किसी हिचकिचाहट के स्पाइक करें। इससे कहानियों को छोटी और अधिक पूर्वानुमानित रखने में मदद मिलती है।
  • रेट्रोस्पेक्टिव सामान्य रूप से चपलता में महत्वपूर्ण हैं, इसलिए कानबन (जो कि व्यक्तिगत कानबन होगा) यहां अतिरिक्त अंक स्कोर करता है, क्योंकि इसकी पूर्वव्यापी प्रक्रिया अधिक डेटा-चालित है। जब आपके पास पर्याप्त लोग नहीं हैं, तो ट्रिपल निकल्स खेलना मुश्किल है।

ये बातें संभवत: एकल और छोटी टीम (2 या 3 डेवलपर्स) दोनों स्थितियों में लागू होती हैं।

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


9
  • या तो अच्छी तरह से परिभाषित स्प्रिंट के लिए काम करते हैं, या जानबूझकर एक Kanban दृष्टिकोण का चयन करें। Kanban में गलती से समाप्त न करें
  • कीड़े पहले, सुविधाएँ दूसरे।
  • फिर भी वैल्यू बनाम फीचर ब्लोट पर फोकस रखें। (गोल्ड प्लेटिंग पर YAGNI)
  • रेट्रोस्पेक्टिव केवल मूल्यवान हैं। और बस महत्वपूर्ण रूप से, छोटे टुकड़ों में प्रक्रिया परिवर्तन करें। यह तय न करें कि आज आप एक शॉट में टीडीडी, मॉक और आईओसी शुरू करने जा रहे हैं जब तक कि आपके पास एटीएम देने के लिए वास्तव में कोई बाहरी सुविधाएँ न हों। एक बार में एक लाओ।

अंत में, मैं एजाइल को वास्तव में "अपनी टीम और ग्राहक के लिए समझदार बनाने और पुरानी प्रथाओं का पालन न करने के रूप में परिभाषित करता हूं क्योंकि वे अतीत में काम करते समय दिखते थे।"


3

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

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

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


0

वाह। मैं एक दोस्त को हुक पर रखने की कोशिश करूँगा जिसे मैं कॉल कर सकता था जब मैं मुसीबत में था - और कोडिंग समस्या के माध्यम से बात करता हूं। आप जानते हैं कि मेरा क्या मतलब है ... सिर्फ एक समस्या को जोर से समझाने का कार्य मेरे दिमाग में 90% समय के लिए एक समाधान लाता है ।


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

5
सम्बंधित: c2.com/cgi/wiki?RubberDucking
Jo Liss

2
रबर डकिंग महान अवधारणा है ( प्रासंगिक प्रश्नों में यहां चर्चा की गई है) लेकिन यह पूछे गए प्रश्न का उत्तर कैसे देता है? "कोई एकल डेवलपर के रूप में फुर्तीली प्रक्रिया अवधारणाओं को कैसे लागू करेगा?"
कुटकी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.