सॉफ़्टवेयर उद्योग में प्रचलित सबसे खराब झूठी अर्थव्यवस्थाएं (जो पैसे बचाने के तरीके हैं जो अंततः उन्हें बचाने की तुलना में अधिक खर्च होती हैं) और आप उनका मुकाबला कैसे करते हैं?
सॉफ़्टवेयर उद्योग में प्रचलित सबसे खराब झूठी अर्थव्यवस्थाएं (जो पैसे बचाने के तरीके हैं जो अंततः उन्हें बचाने की तुलना में अधिक खर्च होती हैं) और आप उनका मुकाबला कैसे करते हैं?
जवाबों:
यानी "बस जल्दी करो, हम बाद में रिफ्लेक्टर करेंगे"। सबसे पहले क्योंकि मुझे अभी तक किसी को इस व्यवहार में उलझते हुए देखना है, वास्तव में बाद में रिफ्लेक्टर। दूसरी बात यह है कि चीजों को त्वरित तरीके से करने के बजाय, अच्छे तरीके के बजाय भविष्य की विशेषताओं को जोड़ना या भविष्य के बग को हल करना कठिन हो जाता है ताकि आप लंबे समय में समय खो दें।
अफसोस की बात है, कई अभी भी लगता है कि यह डेवलपर चक्र बचाता है उन्हें कुछ तेजी से करने के लिए। मुझे लगता है कि यह संभव है, लेकिन मुझे अभी तक इसे अभ्यास में देखना है।
1 के बजाय 2 सस्ते डेवलपर्स किराए पर लेना वास्तव में बहुत अच्छा है। (एक ही कीमत के लिए)
मेरा उदाहरण निमशिम्पस्की के उदाहरण के पूर्ण विपरीत होगा , अर्थात्:
घर में कुछ ऐसा विकसित करने की कोशिश की जा सकती है जिसे ऑफ-द-शेल्फ खरीदा जा सके।
आम तौर पर यह वास्तव में बाजार-जगह की जांच करने में विफलता के कारण आता है, यह देखने के लिए कि क्या कुछ पहले से मौजूद है जो समस्या को हल करेगा। यह उन डेवलपर्स द्वारा संयोजित किया जा सकता है जो किसी भी शोध को करने से पहले कोडिंग में "गोता लगाना" पसंद करते हैं और परियोजना प्रबंधकों द्वारा जो उस समय के कारक में विफल होते हैं = पैसा।
सबसे आम उदाहरणों में से एक, जो मैंने अपने क्षेत्र में देखा है, वेब विकास, वे कंपनियां हैं जो इन-हाउस सीएमएस प्रणाली को विकसित करने की कोशिश कर रही हैं। ये हमेशा छोटे से शुरू होते हैं, लेकिन जल्द ही फूला हुआ और आउट-ऑफ-कंट्रोल हो जाता है क्योंकि सुविधाओं पर बोल्ट लगाया जाता है, जबकि हर समय बाहर मुफ्त उत्पादों और रूपरेखाओं के बहुत सारे होते हैं जो कि अधिक बेहतर अनुकूल होंगे।
परियोजना प्रबंधन के लिए कोई समर्पित संसाधन नहीं
मैंने कई बार अनुभव किया है जब कुछ प्रोग्रामरों को अनुबंधित किया गया था, और किसी के पास जो पहले से ही एक मांग वाले दिन का काम है, को परियोजना का प्रबंधन करना चाहिए था, लेकिन वास्तव में अन्य कार्यों में बहुत व्यस्त था, इसलिए परियोजना ने वास्तव में कभी भी गति नहीं प्राप्त की। प्रोग्रामर ने "प्रोटोटाइप" और सामान बनाया, लेकिन एक लीड के बिना, यह बहुत व्यस्त देखने के लिए हलकों में चल रहा था।
नए प्रोग्रामर के लिए खराब उपकरण
मैंने एक बार एक ऐसी कंपनी का अनुभव किया है जहाँ नीति थी "नए प्रोग्रामर को वास्तव में पुराने पीसी पर छोटे स्क्रीन के साथ काम करना होगा जब तक कि वे साबित नहीं करते कि वे लायक हैं"। कोई आश्चर्य नहीं कि इस तरह की नीति ने एक नकारात्मक चयन का कारण बना, जो अच्छे लोगों को बाहर निकाल दिया, जिनके पास हमेशा अधिक शांत वातावरण में काम करने का विकल्प होता है।
हम प्रोग्रामर को टेस्टर / तकनीकी लेखकों के रूप में दोगुना करके पैसे बचा सकते हैं
यदि आप परीक्षक / तकनीकी लेखक के काम के लिए प्रोग्रामर के वेतन का भुगतान कर रहे हैं, तो आप पैसे बर्बाद कर रहे हैं और संभवत: किसी ऐसे व्यक्ति की तुलना में कम गुणवत्ता वाले काम कर रहे हैं जिन्होंने अपना कैरियर उस कार्य के लिए समर्पित किया है। इसके अलावा, जब एक प्रोग्रामर एक तंग समय सीमा परीक्षण के खिलाफ होता है और इसे पूरा करने के लिए प्रलेखन या दस्तावेज को गिराए जाने की संभावना होती है।
BTW: डेवलपर्स हमेशा एक तंग समय सीमा के खिलाफ हैं।
उत्पाद विकास से संबंधित अनुसंधान / पढ़ना / लिखना कोड संसाधन की बर्बादी है।
कुछ प्रोग्रामर और यहां तक कि प्रबंधकों का मानना है कि। आम तौर पर, वे सिर्फ अपने सिर में ज्ञान के आधार पर प्रोग्रामिंग करते हैं, और शोध करते हैं और समस्याओं का सामना करने पर जवाब तलाशते हैं। वे लगातार अपने ज्ञान में लगातार सुधार नहीं करते हैं। मेरी राय, हमें हमेशा खुद को अपडेट रखना चाहिए, और जो ज्ञान हमने इकट्ठा किया है, वह मौजूदा और भविष्य की समस्याओं को हल करने में हमारे लिए उपयोगी होगा। बेशक, आपको ऐसा करने के लिए अपना समय बुद्धिमानी से आवंटित करना चाहिए।
यह भी दान के उत्तर के समान है । कुछ प्रबंधक बस चाहते हैं कि डेवलपर्स बाजार में मौजूदा उत्पादों पर शोध किए बिना आवश्यकताओं के अनुसार जल्दी से गोता लगाएँ और उत्पाद विकसित करें।
कई मामलों में ऑफशोरिंग में अधिक पैसा खर्च होता है। मेरी कंपनी में नए कर्मचारी स्लॉट प्राप्त करना बहुत कठिन है, हमें आउटसोर्स करने के लिए भारी धक्का दिया जाता है। यह भी साइट पर ठेकेदारों को पाने के लिए कठिन है; वहाँ 3 का अनुपात है: 1 अपतटीय के लिए तट पर वे बनाए रखने के लिए माना जाता है। नतीजतन, कई टीमें सिर्फ एक दर्जन अपतटीय काम पर रखती हैं और बमुश्किल उनका उपयोग करती हैं, बस इसलिए उन्हें 4 ऑनसाइट ठेकेदार मिल सकते हैं।
लंबी प्रतिक्रिया लूप्स!
यह हर किसी के लिए होता है: आप कुछ ऐसा बनाते हैं जो आपको लगता है कि भयानक है, और यह पता चलता है कि आप गलत थे। यह समस्या नहीं है। समस्या यह है कि आप कितनी देर तक इमारत बनाने से पहले यह पता लगा लेते हैं कि आपको रुकना चाहिए।
उच्च स्तर पर, आप इस समस्या को लंबे रिलीज़ चक्रों के साथ देखते हैं। यदि आप प्रतिक्रिया के बिना एक वर्ष के लिए निर्माण करते हैं, तो आप पूरे वर्ष जुआ कर रहे हैं। जितनी बार आप रिहा होते हैं, आपके जुआ खेलने के लिए उतना ही छोटा होता है, और उतना ही बेहतर होगा कि आप जुआ खेलते हैं।
लेकिन यह न्यूनतम स्तर पर भी होता है। एक डेवलपर के रूप में, मुझे वास्तव में बार-बार कोड समीक्षा (या, बेहतर, जोड़ी प्रोग्रामिंग) पसंद है क्योंकि यह उस समय की सीमा को सीमित करता है जब मैं किसी को कहने से पहले कुछ गूंगा कर सकता हूं, "अरे, इसका एक सरल तरीका है!" उसी कारण से, मुझे अपनी यूनिट के परीक्षण जल्दी और बार-बार चलाने के लिए पसंद हैं, इसलिए मैं बढ़ने से पहले कीड़े को पकड़ सकता हूं और मार सकता हूं।
एक बार जब आप लघु प्रतिक्रिया छोरों के महत्व को देखना शुरू करते हैं, तो आप इसे हर जगह देखेंगे। जैसे, Ooda लूप की सैन्य धारणा ।
मेरा अपना किस्सा नहीं है, लेकिन मैंने एक बार एक दुकान के बारे में सुना, जिसने अपने डेवलपर्स को मुफ्त कॉफी प्रदान करना बंद कर दिया, उन्हें यह बताने के बजाय कि किसी भी समय वे कॉफी प्राप्त करना चाहते थे, वे निकटतम कॉफी शॉप में जाने के लिए स्वतंत्र थे (कुछ दस मिनट की तरह हर तरह की यात्रा) और कुछ खरीद।
बहुत झूठी अर्थव्यवस्था की परिभाषा।
सिंगल-स्क्रीन वर्कस्टेशन प्रदान करना क्योंकि एक दूसरा मॉनिटर बहुत महंगा है । यहां तक कि अगर यह आपको हर साल केवल एक घंटे काम करता है, तो भी एक दूसरी स्क्रीन एक अच्छा निवेश है। मुझे पता है कि खदान ने मुझे कई, कई घंटों के काम से बचाया है।
एक मल्टी-मॉनिटर सेटअप विकास कार्यों को ही नहीं, लगभग किसी भी कार्य को अधिक कुशल बना सकता है। तीन मॉनिटर दो से भी बेहतर है, लेकिन प्रभाव हर अतिरिक्त स्क्रीन के साथ कम स्पष्ट हो जाता है।
बहु-मॉनिटर सेटअप:
एक सलाहकार को सस्ता हार्डवेयर दिया जाता है जब सलाहकार की लागत $ 150 / घंटा से अधिक होती है ।
इसे एक बेहतर हार्डवेयर के परिप्रेक्ष्य में रखना कम से कम काम को 30min प्रति दिन अधिक प्रभावी बना सकता है। यह प्रति माह 30 मिनट * 20 दिन का काम = 600min / महीना = 10 घंटे / महीना> और अधिक कि 1 दिन की नौकरी = 10 घंटे * 150 $ / घंटा = 1500 $
अब एक सलाहकार काम नहीं करेगा यदि वह 1500 डॉलर का कंप्यूटर रखता है? क्या यह सलाहकार को कम परेशान करेगा?
अब समस्या यह प्रतीत होती है कि दो बजट हैं, एक सलाहकार के लिए और दूसरा पीसी हार्डवेयर के लिए।
काम के महीने नियोजन के दिनों को बचाते हैं
(योजना में पर्याप्त समय निवेश नहीं)
अधिकांश प्रचलित मुझे संदेह है कि प्रबंधकों को डेवलपर्स को उन उपकरणों के साथ प्रदान नहीं किया जाता है जो उन्हें अपना काम कुशलता से करने की आवश्यकता होती है।
मूल रूप से, जोएल टेस्ट पर अंक 9 ।
"थ्रो (पर्याप्त) समस्या में शरीर" अभी भी कुछ स्थानों पर, दुर्भाग्य से इस्तेमाल किया जा सकता है। ब्रुक का नियम इसे द मैथिकल मैन-मंथ से काउंटर करता है , हालांकि कुछ को इस पाठ को सीखने के लिए अनुभव की आवश्यकता होती है। आमतौर पर यह मेरी शक्ति के भीतर कुछ नहीं है क्योंकि प्रबंधन लोगों को जोड़ने के बारे में गलत बयान पर विश्वास कर सकता है और इसके लिए कीमत नहीं चुकानी पड़ सकती है।
हर दिन बैठकें :
(meeting duration in hours) x (Y team members) x (average salary per hour) = ...
आंतरिक रूप से इसे विकसित करने के बजाय शेल्फ सॉफ़्टवेयर को खरीदना।
मुझे एचआर और बायोलॉजिकल लैबोरेट्रीज पर ध्यान केंद्रित करते हुए एन्ट्रेप स्केल स्केल मैनेजमेंट सिस्टम का अनुभव है।
शेल्फ समाधान के लिए £ 50-100k की लागत और व्यावसायिक आवश्यकताओं को पूरा करने के लिए आगे के विकास और अनुकूलन की आवश्यकता थी।
आंतरिक रूप से विकसित समाधान को विकसित करने के लिए (<6) महीने लगे, अन्य परियोजनाओं के साथ समानांतर में काम किया गया, और पहले से ही कार्यरत डेवलपर का उपयोग किया।
मैं सार्वजनिक क्षेत्र से गया था, जहां हमारे पास आंतरिक रूप से विकसित लीम्स (लैब सूचना प्रबंधन प्रणाली) थी और चल रही थी, एक बड़ी अंतरराष्ट्रीय दवा के लिए जहां शेल्फ समाधान के कार्यान्वयन को एक वर्ष से अधिक समय हो गया था और कहीं भी पूरा नहीं हुआ था।
(समानांतर में अन्य परियोजनाओं पर काम कर रहे पहले से ही काम पर रखे गए डेवलपर के 6 महीने। तो ~ 10k। और इसमें बंद शेल्फ समाधान से जुड़ी समर्थन लागत शामिल नहीं है)। प्रमुख बिंदु यह है कि आंतरिक रूप से विकसित प्रणाली वास्तव में इस्तेमाल की जा रही थी! तो आपके पास इसके साथ जोड़ा गया लागत लाभ है, जिसकी मैं गणना नहीं कर सकता।
मैं बुनियादी वेबसाइटों आदि के लिए सहमत हूँ, क्यों अपने खुद के विकास को परेशान करते हैं। लेकिन किसी भी बड़ी जटिल प्रणाली के लिए और यदि आपके पास पहले से ही घर के कौशल हैं, तो मैं इसे स्वयं बनाऊंगा ।
ओपन सोर्स के विकल्प बेहतर और मुफ्त होने पर महंगे ऑफ-द-शेल्व उत्पादों को खरीदना।
Git का उपयोग कितनी कंपनियां करती हैं? कितनी कंपनियां कुछ भद्दे एंटरप्राइस वर्जन कंट्रोल का उपयोग करती हैं?
हाँ, कोड को बनाए रखने के लिए प्रोग्रामर ढूंढना आसान हो जाता है, लेकिन अच्छे प्रोग्रामर को ढूंढना कठिन हो जाता है, जो केवल नवीनतम बज़ट को नहीं सीखते हैं जो उन्हें काम पर रखा जाएगा। हाँ, यह व्यक्तिगत बिट्स कोड को समझने में आसान बनाता है, लेकिन यह इसे 2x4 के रूप में कठोर बनाता है और कोड की मात्रा को बढ़ाता है जिसे समझने की आवश्यकता है। हाँ, यह एक विशाल निगम द्वारा समर्थित है, लेकिन कहा गया है कि विशाल निगम धीरे-धीरे और नौकरशाही में नवाचार करता है।
खराब प्रोजेक्ट मैनेजर / टीम लीड।
चूंकि एक अक्षम व्यक्ति में लोगों के समूह के काम को बर्बाद करने की शक्ति होती है। अंत में, परियोजना ऊपरी प्रबंधन (परियोजना / टीम लीड) के निर्णयों के बिना बहुत बेहतर करेगी।
"बस इसे जल्दी करो, हम बाद में रिफ्लेक्टर करेंगे"।
उपयोगकर्ता की आवश्यकताओं को याद कर रहा है
एक सॉफ्टवेयर उत्पाद डिजाइन करने का एक महत्वपूर्ण और कठिन कदम यह निर्धारित करता है कि ग्राहक वास्तव में क्या करना चाहता है।
मानो या न मानो कभी-कभी यह हिस्सा गायब है या पुराना है। यह लागत की बात आती है कि एक कार्यात्मकता पैदा करता है जो अंतिम उपयोगकर्ता ने कभी नहीं मांगा।
उत्पादकता रचनात्मकता से अधिक मूल्य की है
सामान्य रूप से मापने के लिए रचनात्मकता मुश्किल है, और सबसे अधिक बार असंभव है, यहां तक कि कभी भी मापना संभव नहीं है, जब सॉफ्टवेयर विकास की बात आती है। दूसरी ओर, उत्पादकता (अक्सर खराब) मापी जा सकती है, और इसका अवलोकन किया जा सकता है।
नतीजतन, डेवलपर्स जो कोड की अधिक पंक्तियां लिख सकते हैं (कोड की अधिक पंक्तियां लिख सकते हैं। कोड तेजी से लिखें। प्रश्नों के जवाब में तेजी से टेक्नोबैबल पढ़ें। अधिक दृश्यमान उत्पादक हैं) उन लोगों की तुलना में अधिक मूल्यवान होते हैं जो (समान समस्या को हल करने के लिए कोड की कम पंक्तियों का उपयोग करते हैं) कोड लिखने में अधिक समय लें, लेकिन अधिक विश्वसनीय उत्पाद तैयार करें। विषय को अच्छी तरह से समझें, ताकि वह सीधे सादे प्रश्नों का उत्तर दे सके, समझने में आसान हो, अंग्रेजी | समस्याओं का रचनात्मक हल करें)।
नीचे सभी खराब हो सकते हैं जब उपयोग किया जाता है या अनुचित तरीके से उपयोग नहीं किया जाता है
बाहरी बनाम इनडोर सॉफ्टवेयर
आईएसओ 9001 अनुपालन (अर्थव्यवस्था - उत्पाद की गुणवत्ता में कमी होने पर एक एमएसएस हानि जोखिम का शमन)
विकास / क्यूए आउटसोर्सिंग
विकास / निर्माण / रिलीज / समर्थन प्रक्रियाओं
बहुत से गैर-बिल योग्य वितरण प्रबंधक वाले।
कुछ साल पहले, हमारी कंपनी में हमारे पास कई बड़े बजट की परियोजनाएं चल रही थीं और भर्ती चरम पर थी। उस समय हमारी कंपनी ने बहुत से डिलीवरी मैनेजरों को काम पर रखा था (उनमें से कई गैर आईटी थे!) और बहुत कम कोडर / परीक्षक। प्रोग्रामर अनुपात के प्रबंधक का शाब्दिक अर्थ 1: 2 था। बाद में, उन परियोजनाओं के पूरा होने के बाद, हमारे पास एक ऐसी स्थिति थी जहां हमारे पास इनमें से कई प्रबंधक थे (उनमें से कुछ असली सुस्त थे) बेंच पर बैठकर कुछ भी नहीं कर रहे थे। हमारे पास एक मूल्यांकन चक्र था, जहां सभी को बहुत कम / कोई वृद्धि नहीं मिली (यहां तक कि हमारे मेहनती प्रोग्रामर, आह) ताकि कंपनी को किसी को बंद करने की ज़रूरत न पड़े! सौभाग्य से, कंपनी ने इस स्थिति को महसूस किया और इस साल पहली तिमाही में राइट्स किया!
रूपरेखा (उर्फ समयपूर्व अनुकूलन) से पहले अनुकूलन।
बहुत बार मैंने किसी को एक चतुर समाधान के लिए पहुंचते देखा है जो अनावश्यक रूप से रखरखाव और पठनीयता को इस आधार पर जटिल करता है कि यह तेज है। स्वाभाविक रूप से, कोड को बेंच मार्क नहीं किया गया है (माइक्रो-बेंचमार्क के साथ भी नहीं), इसलिए यह जल्दी से "अधिक प्रेरक तर्क के आधार पर तेज" हो जाता है जो कोड के एक से अधिक भाग पर होता है, जो सबसे अधिक संभावना समग्र के समग्र प्रदर्शन को प्रभावित नहीं करता है। बहुत से आवेदन।
जैसे, यह एक बहुत ही झूठी अर्थव्यवस्था है, और इस तरह की झूठी अर्थव्यवस्था जो कभी-कभी अनुभवी पेशेवरों को भी उलझा देती है।
सीमित या कोई इंटरनेट का उपयोग नहीं
क्योंकि जाहिर है कि आपके कर्मचारी इंटरनेट गेम का इस्तेमाल करने के लिए फेसबुक गेम का इस्तेमाल करेंगे, न कि स्टैकवर्फ्लो पर तकनीकी सवालों के जवाब।
वास्तव में, इंटरनेट एक बहुत बड़ी उत्पादकता को बढ़ावा देने वाला है, और वास्तव में, डूडली साइटों के लिए कुछ प्रकार के साइट फ़िल्टर का उपयोग करना उचित हो सकता है, अगर यह दृश्य स्टूडियो रीडमी फ़ाइल को अवरुद्ध कर रहा है या कारण के लिए स्थानीय स्थानीयकरण पृष्ठों को अवरुद्ध कर रहा है, तो कुछ गलत है। "सेक्स टूरिज्म"
व्यवसाय प्रशासन के बहुत से स्नातक (या जैसे), पदानुक्रमित रूप से आयोजित, जो कि वे सोचते हैं कि आधुनिक प्रबंधन के बारे में क्या लागू करने का प्रयास करें: "KPI", "SLA" वाले लोगों को परेशान करना और क्या नहीं, "रिपोर्ट" की आवश्यकता के बिना (बिना) बेशक, उन्हें उत्पन्न करने के लिए बुनियादी ढांचे की देखभाल करना), ताकि प्रोग्रामर अपने दिनों को फैंसी EXCEL शीट्स, Q4 रिपोर्ट में भरने में बर्बाद कर दें और क्या न करें और एक महान नए प्रबंधन उपकरण से कॉपी करें और दूसरे में पेस्ट करें (यह नियम लगता है कि ये उपकरण कभी भी एक-दूसरे के साथ अप्रभावित या एकीकृत नहीं होते हैं), और उन बैठकों में भाग लेते हैं जहां रिपोर्ट और आंकड़े प्रस्तुत किए जाते हैं (और हर कोई इस या उस KPI को पूरा करने में विफल होने के बारे में दोषी महसूस करता है)।