बदलती जरूरतों से आप कैसे निपटते हैं? [बन्द है]


14

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

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

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


जवाबों:


14

@ जो "हम एक" फुर्तीली "दुकान हैं, इसलिए मुझे लगता है कि हम समायोजित करने वाले हैं और क्या नहीं, लेकिन कभी-कभी परिवर्तन बड़ा होता है और कुछ भी तुच्छ नहीं होता है।"

यदि आपकी प्रक्रिया आपको आवश्यकताओं में परिवर्तन की दर को नियंत्रित करने की अनुमति नहीं देती है, तो आपकी प्रक्रिया चुस्त नहीं है, बल्कि बेतरतीब है। चंचल का मतलब यह नहीं है कि "कुछ भी हो जो मेरे रास्ते में आता है।"

आवश्यकता परिवर्तन / रेंगने को नियंत्रित करने के लिए - आप अपनी प्रक्रिया में अपना सकते हैं - यह धारणा कि एक आवश्यकता नहीं बदलती (एक धारणा यह है कि यह स्क्रम के दिल में है।) एक आवश्यकता परिवर्तन को एक नई आवश्यकता के साथ एक पुरानी आवश्यकता को बदलने के रूप में व्यवहार करें। आपके पास आवश्यकताओं का एक बैकलॉग होना चाहिए, और आपके पास उपयोगकर्ता का चयन करना होगा कि वह किसे लागू करना चाहता है।

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

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

मामले में जहां आप बातचीत कर सकते हैं, आपको आवश्यकताओं और आवश्यकता परिवर्तनों को लागू करने में लगने वाले समय को (सटीकता के साथ) ट्रैक करना होगा। यही है, आपको पिछले और वर्तमान परियोजनाओं से यह डेटा एकत्र करना होगा।

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

कहें कि आपके पास एक मीट्रिक है, जिसके साथ आप उपयोगकर्ता से बात कर सकते हैं। आप जानते हैं कि एक नया अनुरोध, कोड की 1K लाइन्स, या 10 वेब पेजों के साथ औसतन 5 इनपुट फील्ड्स (प्रत्येक 50 फंक्शन पॉइंट्स) लेगा।

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

तब आप इसका उपयोग करते हैं और आप अपने ग्राहक को बताते हैं कि ऐतिहासिक डेटा पर आधारित है; आप तर्क देते हैं कि परियोजना विफलताओं के लिए एक घातीय वितरण का पालन करें; और फिर आप अपने ग्राहक के लिए निम्नलिखित तर्क से लैस हैं:

हमारी पिछली और वर्तमान परियोजनाओं और उपलब्ध संसाधनों के आंकड़ों के आधार पर, आप जो पूछ रहे हैं, वह आपको लगेगा

  1. विफलता की 25% संभावना (या सफलता का 75%) के साथ पूरा करने के लिए समय की एक्स राशि

  2. 5% विफलता (या सफलता का 95%) के साथ पूरा करने के लिए 1.5 * X राशि का समय

  3. विफलता के 95% (या सफलता का 5%) के साथ पूरा करने के लिए 0.5 * X राशि का समय

समय संसाधनों की मात्रा के एक समारोह के रूप में विफलता की संभावना आमतौर पर 95%, 25% और 5% जाती है (एक घातीय डिस्ट्रो से मिलती जुलती है।) आप यह संदेश देते हैं कि एक निश्चित आधारभूत राशि सफलता का एक अच्छा मौका देती है (लेकिन वास्तविक जोखिमों के साथ) )। इसमें से 1.5 न्यूनतम जोखिम के साथ सफलता का लगभग एक निश्चित मौका दे सकता है, लेकिन इससे बहुत कम (मूल गारंटी का 0.5 लगभग निश्चित विफलता)।

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

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


आपकी सलाह के लिए धन्यवाद। मेरे पास परियोजनाओं के लिए एक प्रयास अनुमान प्रदान करने वाले मुद्दे हैं। अपनी पोस्ट में आप इसे पिछले प्रोजेक्ट से प्राप्त करने की सलाह देते हैं। क्या होगा अगर हमारे पास अनुमान के साथ बाहर आने के लिए पिछला डेटा नहीं है। और हमारे पास जो संसाधन हैं, वे नए टीम के सदस्य हैं (कुछ थोड़े अनुभव के साथ नए स्नातक हैं जो अनुमान लगाने के लिए चीजों को और भी कठिन बना देता है)
user1872384

8

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


मैं यह नहीं कह रहा हूं कि देना और लेना एक समस्या है। मैं पूछ रहा हूं कि आप किसी बदलाव की जटिलता और गुंजाइश को कैसे पूछते हैं?

2
@ जो आप दे तो एक अनुमान
jk

4

आप एक नए अतिरिक्त / परिवर्तन की न्यूनतम आयु निर्धारित करने का प्रयास कर सकते हैं (बग फिक्स पर लागू नहीं)। उदाहरण के लिए कोई भी नए परिवर्तन पर काम नहीं किया जा सकता जब तक कि यह 3 सप्ताह पुराना न हो।

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

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


1

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

यह त्रुटिपूर्ण धारणा तीन प्रमुख विकास कार्यों से आती है जो समय का उपभोग करते हैं और कभी भी ग्राहकों द्वारा ठीक से हिसाब नहीं दिया जाएगा:

  1. कोड की समीक्षा / सफाई: पुराना कोड फूल जाता है और गड़बड़ हो जाता है और नियमित समीक्षा और सफाई की आवश्यकता होती है, इसमें बहुत समय लगता है और ग्राहक कभी भी इस पर विश्वास नहीं करेगा।
  2. सुरक्षा ऑडिट और सुधार: विशेष रूप से यदि आपके पास जूनियर टीम के सदस्य हैं, तो आपके पास कोड से संबंधित सुरक्षा समस्याएं बहुत अधिक होंगी और आप उन सभी नए कोड के माध्यम से नियमित रूप से जाना चाहेंगे, जो लिखा गया है और सामान को फिर से लिखना जो एक सुरक्षा से अच्छा नहीं लगता है परिप्रेक्ष्य, ग्राहक को इस समय के लिए कभी पता नहीं चलेगा या खाता नहीं होगा।
  3. वास्तुकला से संबंधित परिवर्तन: कई बिंदुओं पर एक बढ़ता हुआ कोड आधार (और सबसे अधिक संभावना है) संरचनात्मक पुनर्विचार की आवश्यकता हो सकती है और इसे फिर से भरने में शामिल हो सकते हैं: ए - प्रदर्शन-संबंधी परिवर्तन / अनुकूलन (एल्गोरिथम परिवर्तन, पुस्तकालय प्रतिस्थापन, कैश इंजन, ... आदि)। या: बी - उत्पादकता-संबंधी परिवर्तन / अनुकूलन (पठनीयता, कोड-पुन: प्रयोज्य, समझने में आसानी, नई कोडिंग परंपराएं, एक नया ढांचा, ... आदि)।

उपरोक्त में से कोई भी कभी भी समझा नहीं जाएगा और ठीक से हिसाब ग्राहकों द्वारा दिया जाएगा।

मूल रूप से जो कुछ भी "विचार" (GUI तत्व) नहीं किया गया है।

चलो इसे प्रोजेनिक्स प्रमेय कहते हैं, हाहा नो किडिंग: डी

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