सॉफ्टवेयर इंजीनियरों को एक और तनावपूर्ण रिलीज के बाद क्या सामना करना पड़ता है? खैर, हमारे समूह में पहली चीज हम सामने आती हैं जो हमने खुले में जारी की हैं। तनावग्रस्त रिलीज के बाद हम सॉफ़्टवेयर इंजीनियरों के रूप में सबसे बड़ी समस्या स्पेगेटी-कोड है, जिसे big ball of mud भी कहा जाता है।मेरा स्टेकहोल्डर और मैनेजर साबित करने के लिए कैसे मेरा सॉफ़्टवेयर काम करता है?
पूर्णता का पीछा करने के लिए समय और धन शायद ही कभी उपलब्ध है, और न ही वे होना चाहिए। जीवित रहने के लिए, हमें अपने सॉफ़्टवेयर को काम करने और समय पर दरवाजा बाहर करने के लिए जो करना पड़ता है, उसे करना चाहिए। दरअसल, यदि कोई टीम समय के साथ एक परियोजना को पूरा करती है, तो आज के प्रबंधकों को अगली बार कम समय और पैसा या कम लोगों को प्रदान करने के लिए एक संकेत के रूप में लेने की संभावना है।
आप समय पर गुणवत्ता सॉफ्टवेयर वितरित करने के लिए की जरूरत है, और बजट के तहत
लागत: वास्तुकला एक लंबी अवधि के निवेश है। उन लोगों के लिए यह आसान है जो इसे खारिज करने के लिए बिल का भुगतान कर रहे हैं, जब तक कि कुछ ठोस तत्काल लाभ न हो, ऐसे कर लिखने के लिए, या जब तक अतिरिक्त धन और समय उपलब्ध न हो। ऐसा शायद ही कभी मामला है। अधिकतर, ग्राहक को कल तक काम करने की ज़रूरत होती है। प्रायः, जो लोग विकास प्रक्रिया को नियंत्रित और प्रबंधित करते हैं, वे वास्तुकला को दबाने वाली चिंता के रूप में नहीं मानते हैं। यदि प्रोग्रामर जानते हैं कि कारीगरी अदृश्य है, और प्रबंधक इसके लिए भुगतान नहीं करना चाहते हैं, तो एक दुष्चक्र का जन्म होता है।
लेकिन अगर यह वास्तव में प्रत्येक दीर्घकालिक सॉफ्टवेयर प्रोजेक्ट की तुलना में मामला हमेशा मिट्टी की एक बड़ी गेंद का नेतृत्व करेगा।
हम जानते हैं कि हमेशा नहीं होता है। कैसे? क्योंकि यह बयान है कि प्रबंधकों को आर्किटेक्चर को दबाने वाली चिंता के रूप में नहीं माना जाता है। कम से कम आजकल। आईटी क्षेत्र में प्रबंधकों को अच्छी तरह से पता है कि रखरखाव व्यापार के लिए महत्वपूर्ण है।
व्यवसाय इसे चलाने वाले डेटा पर निर्भर हो जाता है। व्यवसाय अपने सॉफ्टवेयर पर गंभीर रूप से निर्भर हैं और बुनियादी ढांचे की गणना कर रहे हैं। कई मिशन महत्वपूर्ण प्रणालियां हैं जो प्रति सप्ताह चौबीस घंटे प्रति सप्ताह/सात दिन होनी चाहिए। यदि ये सिस्टम नीचे जाते हैं, तो इन्वेंट्री की जांच नहीं की जा सकती है, कर्मचारियों को भुगतान नहीं किया जा सकता है, विमान को रूट नहीं किया जा सकता है, और इसी तरह। [..]
इसलिए यह व्यापार के केंद्र में है ताकि सिस्टम को मिट्टी की बड़ी गेंद से दूर रखने के तरीकों की तलाश कर सकें। यह प्रणाली अभी भी रखरखाव योग्य है। यह प्रणाली वास्तव में काम करती है और आप, प्रोग्रामर के रूप में यह साबित कर सकते हैं। क्या आपका प्रबंधक आपको पूछता है कि क्या आपने आज अपना कोडिंग समाप्त कर लिया है, क्या वह आपको पूछती है कि क्या ए, बी और सी को ठीक करने वाली रिलीज आज की जा सकती है या क्या वह पूछती है कि क्या सॉफ्टवेयर जारी किया जाएगा वास्तव में काम करता है? और क्या आपने साबित किया है कि यह काम करता है? किसके साथ?
अबमेरे सवाल के लिए:
क्या तरीके हम अपने प्रबंधकों और/या हितधारकों कि हमारे सॉफ्टवेयर काम करता है साबित करने के लिए क्या है? क्या हमारे सॉफ़्टवेयर-यूनिट परीक्षणों की उन हरे रंग की रोशनी काफी अच्छी हैं? यदि हां, तो क्या यह साबित नहीं होगा कि मिट्टी की हमारी बड़ी गेंद अभी भी कर रही है जो हम उम्मीद करते हैं? यह सॉफ्टवेयर रखरखाव योग्य है? आप कैसे अपना डिजाइन साबित कर सकते हैं सही है?
[बाद में दिया गया है]
क्रिस कंकड़ उसके नीचे इस सवाल का जवाब सही रास्ते पर अपनी टीम रहा है। गुणवत्ता आश्वासन निश्चित रूप से वह चीज़ है जिसे हम ढूंढ रहे हैं। धन्यवाद क्रिस।हितधारकों के साथ सहमत एक क्यूए नीति होने के कारण मेरी टीम जो खोज रही है उसके तार्किक परिणाम से है।
अनुवर्ती प्रश्न यह है कि सभी उस क्यूए नीति में क्या होना चाहिए?
- कि buildserver मेरी हितधारकों
- buildserver केवल सिर्फ निर्माण 'नहीं होने के लिए दिखाई दे चल होने लेकिन परीक्षण है कि गुणवत्ता आश्वासन नीति
- हमारे विकास की प्रक्रिया पर मेरी हितधारकों से एक समझौते के बाद का हिस्सा थे जोड़ने (डेवलपर्स एक दूसरे की समीक्षा जहां कोड का हिस्सा) है ..
- अधिक
कुछ अधिक जानकारी: टीम मैं अग्रणी रहा हूँ है webservices निर्माण है कि अन्य सॉफ्टवेयर के द्वारा खपत होती है टीमों। यही कारण है कि एक तोड़ने वाली webservice तुरंत पैसे खर्च कर रहा है। presentationlayer टीम के डेवलपर्स, या वास्तविक परीक्षकों आगे नहीं बढ़ सकता है जब हम तत्काल तनाव में हैं और जल्द से जल्द कीड़े तय करने के लिए है, जो जल्दी हैक्स के लिए बारी का नेतृत्व .. में
[बाद में जोड़ा]
है सारे सवालों के जवाब देने के लिए धन्यवाद। यह वास्तव में 'ट्रस्ट' के बारे में है। अगर हम हितधारकों द्वारा सॉफ़्टवेयर पर भरोसा नहीं करते हैं, तो हम रिलीज नहीं कर सकते हैं, जो हमारी वेबसाइट का उपभोग करने वाली वेबसाइट का उपयोग करके अपने सॉफ्टवेयर का सक्रिय रूप से परीक्षण कर रहे हैं। जब समस्याएं उत्पन्न होती हैं, तो हमारे परीक्षकों का पहला प्रश्न यह है: क्या यह servicelayer समस्या या प्रस्तुति समस्या है? जो मुझे एक क्यूए नीति रखने का निर्देश देता है जो सुनिश्चित करता है कि हमारे सॉफ़्टवेयर परीक्षण के लिए ठीक है।
तो, टेस्टर्स के साथ ट्रस्ट को सक्षम करने का एकमात्र तरीका (अब) कल्पना कर सकता है: - वर्तमान परीक्षण टीम के साथ बात करें, परीक्षणों पर जाएं कि वे मैन्युअल रूप से निष्पादित करने में सक्षम हैं (उनकी टेस्ट-स्क्रिप्ट से और परिदृश्य) और सुनिश्चित करें कि हमारी टीम के पास उन परीक्षण हैं जो यूनिट-परीक्षण पहले से ही हमारे webservice के खिलाफ चेक किए गए हैं। प्रेजेंटेशनरटेम को एकीकृत करने के लिए एक रिलीज करने से पहले यह 'साइन-ऑफ' के लिए एक अच्छा प्रारंभिक बिंदु होगा। यह स्पष्ट करने के लिए कुछ प्रयास करेंगे कि उन सभी परिदृश्यों के लिए स्वचालित परीक्षण बनाने में कुछ समय लगेगा। लेकिन यह सुनिश्चित करने के लिए निश्चित रूप से उपयोगी होगा कि हम जो निर्माण करते हैं वह वास्तव में काम कर रहा है।
उपयोगकर्ता कैसे बता सकते हैं कि आपके पास अच्छी तरह से व्यवहार किया गया है, फिर भी अस्पष्ट, मिट्टी की गेंद? मुझे लगता है कि सवाल सॉफ्टवेयर की गुणवत्ता के बारे में है, उपयोगिता नहीं। –
मैंने अपडेट किया है: जब मैं जिस शब्द की तलाश कर रहा था वह उपयोगी उपयोग था। –
जिस बिंदु को मैं बनाने की कोशिश कर रहा था वह यह है कि यूएटी आपके द्वारा दावा किए गए कोड की गुणवत्ता के बारे में कुछ भी साबित नहीं करता है। यूएटी केवल अचूक सबूत प्रदान करता है कि सॉफ्टवेयर उपयोगकर्ता की आंखों में "पर्याप्त" है। –