तंग टाइमलाइन और शेड्यूलिंग दबाव TCO और वितरण समय को कैसे प्रभावित करते हैं?


9

एक दोस्त के पिता, जो एक सॉफ्टवेयर इंजीनियरिंग मैनेजर हैं, ने जोरदार ढंग से कहा, "ओवररन शेड्यूल करने का नंबर एक कारण शेड्यूलिंग दबाव है।"

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

सॉफ्टवेयर इंजीनियरिंग साहित्य के किसी भी लिंक की सराहना की जाएगी।


इस संदर्भ में TCO का क्या अर्थ है?
एंड्रेस एफ।

मैं यह मान रहा हूं कि TCO स्वामित्व की कुल लागत के लिए है । क्या ये सही है?
थॉमस ओवेन्स

@ThomasOwens तो मैंने अनुमान लगाया, लेकिन क्या यह प्रोजेक्ट शेड्यूल और बजट के संदर्भ में समझ में आता है? मुझे लगा कि TCO ने किसी उत्पाद के स्वामित्व का उल्लेख किया है , न कि विकास का।
एंड्रेस एफ।

@AndresF। मेरी समझ यह है कि यह व्यापक है - डिजाइन, विकास, शिपमेंट, रखरखाव और उन्नयन। लेकिन मैं चीजों के वित्तीय पक्ष में एक विशेषज्ञ (या यहां तक ​​कि किसी भी औसत दर्जे का अनुभव नहीं है) नहीं हूं।
थॉमस ओवेन्स

@ThomasOwens विकिपीडिया से उस लिंक को देखते हुए, यह धारणा मुझे नहीं मिली। विकास निश्चित रूप से उल्लेख नहीं है (एक खोज करें!), भले ही प्रौद्योगिकी और सॉफ्टवेयर उत्पाद हैं (और संबंधित चिंताएं, जैसे कि तैनाती और रखरखाव)। TCO स्वामित्व से संबंधित है , यह भी नाम में ऐसा कहता है! मेरी समझ यह है कि TCO एक विचार है जब यह चुनना है कि कौन सा उत्पाद खरीदना है , कौन सा उत्पाद नहीं बनाना है
एंड्रेस एफ।

जवाबों:


5

ओवररन शेड्यूल करने का नंबर एक कारण शेड्यूलिंग दबाव है।

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

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

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


+1 इसके अलावा, कभी-कभी "दबाव" का निर्धारण करना - हालांकि हमेशा नहीं - वास्तविक व्यावसायिक चिंताओं को दर्शाता है। उससे बचने का कोई उपाय नहीं। "जब भी यह किया जाता है" कई परियोजनाओं के लिए एक स्वीकार्य नियत तारीख नहीं है। वास्तव में, यदि सभी को लक्षित तिथि के रूप में वादा किया जा सकता है "जब भी", तो एक स्वीकार्य संभावना सिर्फ परियोजना को रद्द करने की है।
एंड्रेस एफ।

स्टीव मैककोनेल क्लासिक सॉफ्टवेयर विकास अभ्यास गलतियों में से एक के रूप में "अति आशावादी अनुसूची", और परियोजना समस्याओं का एक प्रमुख स्रोत है; यह पहली बार में ओवररन शेड्यूल करने का कारण होगा। stevemcconnell.com/rdenum.htm
केवल आप

2

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

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

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


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

** यहाँ एक निहित धारणा है कि प्रोग्रामिंग गणित करने के समान है; मुझे लगता है कि यह धारणा उचित है।


2

आपके पास जितना अधिक समय का दबाव होगा, प्रसव का समय और अधिक TCO होगा?

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

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


2

बाएं शेड्यूलिंग का अधिकार।

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

समस्या कुछ समय के लिए आसपास रही है। फ्रेड ब्रुक्स ने पौराणिक मानव-माह में आंत-कम अनुमान के बारे में बात की । बैरी बोहम प्रबंधन के लिए एक थ्योरी-डब्ल्यू दृष्टिकोण के लिए अपने प्रस्तावों में इसके बारे में बात करते हैं । अभी हाल ही में, स्टीव मैककोनेल ( कोड कम्प्लीट के लेखक ) "कैसे एक अलोकप्रिय अनुसूची की रक्षा के लिए" में केंद्रित बातचीत के मुद्दे की अवधारणा लाता है ।

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

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

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

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

स्क्रम आरेख - क्रिएटिव कॉमन्स लाइसेंस देखें

क्रिएटिव कॉमन्स लाइसेंस - http://en.wikipedia.org/wiki/File:Scrum_process.svg देखें


+1 केवल एक संदर्भ नहीं, बल्कि कई संदर्भ जोड़ने के लिए!
क्रिस्टोस हेवर्डवर्ड

1

आपको सॉफ्टवेयर इंजीनियरिंग साहित्य की आवश्यकता नहीं है। अंडरग्रेड से, अवधारणात्मक संभावना और आँकड़े, आप सभी की आवश्यकता है।

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

संभाव्यता १०१: पी (अंडर्रन या हिट वास्तव में) + पी (ओवररन) = १००%।

एक अनुमान के आधार पर अनुसूची में ठीक वैसी ही विशेषताएं हैं।

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

अब, इसके बारे में सोचें: यदि आप शेड्यूल को अंदर खींचते हैं, तो संभावना है कि आप शेड्यूल को कम या ठीक से हिट करेंगे। कुल अभी भी 100% की राशि है। वह संभावना कहां जाती है? उत्तर, यह अधिक संभावना में चला जाता है।

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


अब तक का सबसे अच्छा जवाब - निर्धारण और अनुमान दो पूरी तरह से अलग मुद्दे हैं। बहुत से लोग इसे समझ नहीं पाते हैं।
मटनज़

1

मुझे लगता है कि एक परियोजना में एक निश्चित मात्रा में दबाव ठीक है क्योंकि यह ध्यान बनाए रखने में मदद करता है।

हालांकि, अगर दबाव यथार्थवादी नहीं है, या यदि प्रबंधन और तकनीकी लोगों के बीच संचार ठीक से काम नहीं करता है, तो हाँ, एक जोखिम है जो दबाव के कारण खराब गुणवत्ता और / या देर से वितरण का परिणाम है।

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

ऐसे कई कारक हैं जो अच्छे की परिभाषा को प्रभावित करते हैं।

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

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

लब्बोलुआब यह है कि मुझे लगता है कि प्रबंधन और तकनीकी लोगों के बीच खराब संचार और हाथ में परियोजना के लिए पर्याप्त रूप से अच्छी समझ की कमी के कारण अत्यधिक समयबद्धता दबाव हो सकता है, जिसके परिणामस्वरूप खराब गुणवत्ता / देरी से वितरण हो सकता है।

पहली बार इसे ठीक से करने के लिए पर्याप्त समय नहीं है, लेकिन बाद में इसे ठीक करने के लिए हमेशा पर्याप्त समय है।


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

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