क्या होगा अगर बॉस हमेशा आवश्यकताओं और समग्र डिजाइन के बारे में प्रमुख निर्णय स्थगित कर दे?


12

एक नई परियोजना शुरू करते समय, मेरे मालिक हमेशा निश्चित निर्णय लेने से बचते हैं। वह आमतौर पर कह रहा है: ठीक है, बस कुछ लिखना शुरू करें और जितना संभव हो उतना सामान्य हो। जब आप समाप्त कर लेते हैं तो हम देखते हैं कि हम कैसे जारी रखते हैं। उनका तर्क मूल रूप से है जिसे आप कभी नहीं जानते हैं और "चुस्त विकास"।

प्रश्न को यथासंभव सामान्य रखने के लिए: यदि आपका बॉस निर्णय लेना पसंद नहीं करता है तो आप क्या करते हैं?

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

मैं यह भी देखता हूं कि मेरा बॉस लगभग हर चीज की आलोचना कर रहा है। यहां तक ​​कि सुझाव जो उसके स्वयं के आधार पर हैं ...


1
प्रति SICP व्याख्यान, LISP में कोड लिखना शुरू करें :)
अय्यूब

@Job - क्या LISP को इस वर्कफ़्लो के लिए डिज़ाइन किया गया है? ;)
जिम्बो

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

जवाबों:


12

प्रोटोटाइप बनाएँ

बस उन स्क्रीन को ड्राइंग करना शुरू करें जो पहले कुछ भी नहीं करते हैं (संभवतः आपके पास ऐसा करने के लिए पर्याप्त है?)

आपको इसे आंशिक रूप से धीरे-धीरे कार्यात्मक बनाने में सक्षम होना चाहिए, और अंततः कुछ बुरे कोड को फिर से भरना चाहिए जब यह अधिक स्पष्ट हो जाता है कि आप क्या करने की कोशिश कर रहे हैं।

यह एक सामान्य समस्या है कि वे नहीं जानते कि वे क्या चाहते हैं जब तक वे कुछ देखते हैं और महसूस करते हैं कि वे नहीं चाहते हैं। मैंने पाया है कि जब कोई चाहता है कि आप केवल 'एक ढांचा' या कुछ 'जेनेरिक' बनाना शुरू करें, जैसे वह आपको बता रहा है, तो आप कोशिश करने पर बस मुसीबत में पड़ेंगे। चौखटे पहले से ही लिखे हुए हैं, आपको ऐसा करने की आवश्यकता नहीं है।


यह ध्वनि वास्तव में परिचित है: 'एक ढांचा'। संभवतः मुझे कम से कम दो या तीन डेमो / प्रोटोटाइप दिखाने के बाद चीजों को पत्थर में स्थापित करने की प्रतीक्षा करनी चाहिए।
जिम्बो

4
+1 कोई नहीं जानता कि वे क्या चाहते हैं। हर कोई जानता है कि वे क्या नहीं चाहते हैं। आलोचना करना आसान है और जानकारीपूर्ण हो सकता है।
JohnFx

4

ऐसे कई मुद्दे हैं जो मैंने आपके संदेश से लिए हैं: 0-यह परियोजना का प्रबंधन करने के लिए आपका काम नहीं है और अंत-उपयोगकर्ता की आवश्यकताओं को इकट्ठा करना आपका काम नहीं है। 1-बॉस को सटीक आवश्यकताओं का पता नहीं है 2-बॉस आवश्यकताओं के बारे में अंतिम-उपयोगकर्ताओं से बात नहीं करता है 3-बॉस शब्दावली फेंक रहा है वह वास्तव में फुर्तीले 4 को नहीं समझता है-आप कुछ समाधान निकाल रहे हैं जो फिर से हो जाता है- कई बार लिखा गया है और आप इसके बारे में खुश नहीं हैं

1,2 और 3 के रूप में इस बारे में बहुत कुछ किया जा सकता है यदि आप वरिष्ठ व्यक्ति नहीं हैं। हालाँकि, निम्नलिखित किया जा सकता है:

A - उसे प्रोजेक्ट प्लान आपके साथ साझा करने के लिए कहें। वह एक हो सकता है या कार्यों और समय सीमा को दिखाने वाला निर्माण करेगा। इनमें से एक विश्लेषण और आवश्यकताओं के एकत्रीकरण के बारे में होना चाहिए। यदि यह सुझाव नहीं है।

बी - सॉफ्टवेयर परियोजना की सफलता के लिए आवश्यकताओं के महत्व पर कुछ संदर्भ तैयार करें

C - उसे एजाइल क्या है और क्या नहीं का 1 पेज तैयार करें।

डी - उसे डिजाइन चरण के लिए विशिष्ट इनपुट की एक सूची तैयार करें और प्रत्येक के मूल्य के बारे में बताएं।

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

एफ - देखें कि अन्य डेवलपर्स इस आदमी के साथ कैसे सहते हैं।

# 4 के लिए, आप उसे एक प्रोटोटाइप दृष्टिकोण या एक कोड जनरेटर का उपयोग करने का सुझाव दे सकते हैं जो उसे, आपको और उपयोगकर्ता को एप्लिकेशन के कार्यात्मक पहलुओं के बारे में अपना दिमाग बनाने में मदद करेगा। अधिकांश उपकरण सही GUI उत्पन्न नहीं करते हैं, लेकिन कम से कम आप आवश्यक कार्यक्षमता पर कब्जा कर सकते हैं।

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

दुर्भाग्य से कुछ लोग सलाह स्वीकार नहीं करते हैं। इसलिए सावधान रहें कि आप उसके साथ कैसे संवाद करते हैं।

यह ठीक नहीं चल रहा है!

सौभाग्य।


आपके अलग जवाब के लिए धन्यवाद! मेरी वर्तमान स्थिति कनिष्ठ और वरिष्ठ के बीच है, कम से कम यह है कि मैंने खुद को ए के दौरान कैसे वर्णित किया: वह कोई भी किसी भी, अनुभवजन्य अंतर्दृष्टि में दिलचस्पी नहीं रखता है। बी, सी: अभी नहीं ;-) कम से कम वर्तमान परियोजना के बारे में वह दिन में होने वाली समस्याओं के बारे में बहुत कुछ जानता है। ई एक अच्छा विचार है। आज मैंने एक छोटा डेमो लिखा, हम आज इस पर बहुत चर्चा कर रहे थे। हालांकि मैं इस बात से चकित था कि वह कितने अंकों से असंतुष्ट था। क्या आप कृपया बता सकते हैं कि डी के साथ आपका क्या मतलब है?
जिम्बो

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

4

मेरे पास उस तरह का एक बॉस हुआ करता था - वास्तव में मैं मजाक करूंगा कि उसका आदर्श वाक्य "अनिर्णय ही लचीलापन की कुंजी है"।

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

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

हमारे पास हमारे ग्राहकों के लिए $ WORK (आंतरिक वेब-ऐप) के बारे में एक कहावत है: "मैं आपको कुछ दूंगा ताकि आप मुझे बता सकें कि आप क्या चाहते हैं।" पहले ड्राफ्ट को फेंकने के लिए तैयार रहें, लेकिन आपको आश्चर्य हो सकता है कि वास्तव में आपके पास कितना कम है।


3

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

दूसरी ओर, अपने आप से भी सवाल करें। क्या आपको वास्तव में यह तय करने की आवश्यकता है कि इस ऐप के लिए आप किस दृढ़ता की परत का उपयोग करने जा रहे हैं? या क्या आप इसे एक सीएसवी के लिए लिखना शुरू कर सकते हैं और इसे बाद में निर्णय लेने के लिए पर्याप्त रूप से अमूर्त रख सकते हैं?


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

3

अपने स्वयं के कल्पना दस्तावेज़ लिखें और एक समीक्षा करें जहाँ आप इसे समझाते हैं और वह इस पर हस्ताक्षर करता है। तब आप बॉस बन जाएंगे, और आपका बॉस तकनीकी मुद्दों के बजाय अधिक पारस्परिक प्रबंधन के मुद्दों में बदल जाएगा।


2

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

और निश्चित रूप से सुनिश्चित करें कि वह सोचता है कि यह उसका विचार था। (खासकर जब यह सब गलत हो जाता है!)


जब सॉफ्टवेयर इंजीनियर सामाजिक इंजीनियरों को चालू करते हैं .. :)
मैटडवी

1
गंभीर रूप से, अधिकांश सॉफ्टवेयर समस्याएं हल करने योग्य होती हैं, इसका संचार पानी के अन्य अर्ध-संवेदी थैलों के साथ होता है, जो अक्सर समस्याग्रस्त सा होता है ...
NWS

1

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

यदि आपके बॉस ने जो नहीं चाहा था, उसे लागू करने में आपका समय बर्बाद हो रहा है, तो यह उस पर है और आप पर नहीं क्योंकि वह उस रास्ते के बारे में जानता था जिसे आप लेने जा रहे थे।

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


0

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

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