Build light indicator
एक बिल्ड लाइट इंडिकेटर एक सरल दृश्य संकेतक है जिसका उपयोग सॉफ्टवेयर डेवलपर्स की एक टीम को उनकी परियोजना की वर्तमान स्थिति के बारे में सूचित करने के लिए फुर्तीले सॉफ्टवेयर विकास में किया जाता है। उपयोग की जाने वाली वास्तविक वस्तु प्रेशर गेज से लेकर लावा लैंप तक भिन्न हो सकती है, लेकिन इसका उद्देश्य वही रहता हैः जल्दी से यह संवाद करना कि कोई सॉफ्टवेयर प्रक्रिया (जैसे 'बिल्ड') सफल है या नहीं। बिल्ड लाइट इंडिकेटर की उत्पत्ति क्रूजकंट्रोल से हुई, जो थॉटवर्क्स के कर्मचारियों द्वारा बनाया गया एक निरंतर एकीकरण उपकरण है। हालाँकि यह मुख्य रूप से एक वेब पेज डैशबोर्ड के रूप में कार्य करता था जो एक निर्माण के बारे में अधिक विस्तृत जानकारी की रिपोर्ट कर सकता था, सॉफ्टवेयर सरल रिपोर्टिंग के लिए बाहरी उपकरणों को भी नियंत्रित कर सकता था। एक बिल्ड लाइट का पारंपरिक उपयोग एक निरंतर एकीकरण (सी. आई.) प्रणाली में एक सॉफ्टवेयर निर्माण की सफलता को निर्धारित करने के लिए है। विभिन्न विकास दलों ने अलग-अलग संकेतकों का उपयोग किया है, लेकिन एक लोकप्रिय विकल्प हरा और लाल लावा लैंप है-निर्माण सफल होने पर हरा और कुछ गलत होने पर लाल। बिल्ड लाइट्स वेबकैम या अन्य माध्यमों से भी दूरस्थ रूप से सुलभ हो सकती हैं। हालाँकि, चूंकि व्यस्त विकास कार्यालयों में कई परीक्षण हमेशा नवीनतम परिवर्तनों के बाद पुनः परीक्षण की स्थिति में होंगे, कुछ संकेतकों में तीन राज्य प्रदर्शन होते हैं-उत्तीर्ण, विफल और पुनः परीक्षण किया जा रहा है, ताकि कर्मचारियों और प्रबंधकों के लिए एक अधिक सूक्ष्म संकेतक प्रदान किया जा सके। एकल संकेतकों से परे निरंतर एकीकरण से निरंतर परीक्षण तक की वृद्धि के साथ, एक एकल कोडबेस के लिए भी एक साथ निर्माण लक्ष्यों की संख्या बढ़ सकती है। साथ ही एक साधारण निर्माण (अर्थात। संकलन) लक्ष्य, अब इकाई परीक्षण और प्रणाली परीक्षण के विभिन्न स्तर होंगे। चूंकि व्यापक परीक्षण धीमे होते हैं और डेवलपर्स को तेजी से प्रतिक्रिया देने के लिए एक तेज चक्र पर तेजी से परीक्षण चलाना वांछनीय है, इसलिए निर्माण लक्ष्यों की संख्या बढ़कर पचास या उससे अधिक हो सकती है। यह एक साधारण लावा लैंप प्रदर्शन के साथ दिखाने के लिए बहुत अधिक है। जेनकिंस जैसे एकीकरण सर्वर एक वेब-सुलभ डैशबोर्ड पृष्ठ प्रदान करते हैं और इसे स्थायी रूप से दीवार पर लगे फ्लैट स्क्रीन मॉनिटर पर प्रदर्शित किया जा सकता है। इस तरह के डैशबोर्ड का विवरण एक कार्यालय में पढ़ने के लिए बहुत छोटा है, लेकिन रंग परिवर्तन स्थिति की समग्र तस्वीर प्रस्तुत करते हैं। निरंतर परीक्षण-संचालित विकास की एक पद्धति के साथ, उन्हें पास करने के लिए कार्य कोड विकसित करने से पहले नए परीक्षण जारी किए जाते हैं। इस प्रकार एक अवधि होती है जब कुछ परीक्षण ज्ञात होते हैं, और वास्तव में विफल होने की आवश्यकता होती है। असफल परीक्षणों की आवश्यकता होती है क्योंकि वे चिंता की स्थिति का पता लगाने के लिए नए परीक्षणों की क्षमता को प्रदर्शित करते हैं। एक बार जब नया कोड विकसित हो जाता है और काम करता है, तो ये परीक्षण पास होने लगते हैं। एक निरंतर परीक्षण वातावरण जिसमें नए परीक्षणों को उनके कोड से पहले जारी किया जाता है, इस प्रकार दो निर्माण लक्ष्यों की आवश्यकता होती हैः एक नवीनतम कोड और परीक्षणों को ट्रैक करता है, दूसरा 'रिलीज कैंडिडेट' केवल वृद्धि में अपडेट किया जाता है जब सभी परीक्षण पासिंग कोड द्वारा पूरे किए जाते हैं। निर्माण संकेतक के लिए इसका यह भी तात्पर्य है कि उन लक्ष्यों में से एक को अक्सर अपने परीक्षणों में "विफल" के रूप में दिखाया जाएगा। चूंकि यह प्रत्याशित "विफलता" भोली-भाली दर्शकों के लिए भ्रामक होगी, इसलिए निर्माण संकेतक को या तो इसे छिपाना चाहिए या इसे स्पष्ट रूप से प्रस्तुत करना चाहिए। जहाँ कई कोड लक्ष्य, जैसे कि पुराने उत्पाद संस्करण, अभी भी सी. आई. के लिए समर्थित हैं, लेकिन इस तरह के सक्रिय विकास के तहत नहीं हैं, तब एक पूर्ण डैशबोर्ड पर "बासी" लक्ष्यों का प्रभुत्व हो सकता है जो शायद ही कभी बदलते हैं। इस मामले में एक चयनित डैशबोर्ड अधिक उपयुक्त हो सकता है, जहां केवल वे लक्ष्य प्रदर्शित किए जाते हैं जो या तो विफल हो रहे हैं, या हाल ही में सक्रिय हैं। पूर्ण डैशबोर्ड डेवलपर के डेस्कटॉप के लिए उपलब्ध है, लेकिन दीवार प्रदर्शन केवल महत्वपूर्ण हाइलाइट्स दिखाता है। इस तरह के डैशबोर्ड को अक्सर स्थानीय जरूरतों के अनुसार मुख्य डैशबोर्ड को स्क्रीन-स्क्रैप करके और उस पर प्रासंगिक स्थानीय फिल्टर लागू करके स्थानीय रूप से कोड किया जाता है। स्थिर डैशबोर्ड की तुलना में गतिशील फ़िल्टर किए गए डैशबोर्ड की एक कमी यह है कि किसी विशेष लक्ष्य के लिए आइकन की स्थिति स्क्रीन पर स्थानांतरित हो सकती है, जिससे पूरे कार्यालय से पढ़ना मुश्किल हो जाता है। इस मामले में, विशिष्ट प्रतीक, जैसे कि उत्पाद का लोगो, सरल रंग खंडों के बजाय प्रदर्शित किया जा सकता है। संदर्भ फुर्तीला सॉफ्टवेयर विकास