Build light indicator
একটি বিল্ড লাইট ইন্ডিকেটর হল একটি সহজ চাক্ষুষ সূচক যা অ্যাজাইল সফ্টওয়্যার বিকাশে সফ্টওয়্যার ডেভেলপারদের একটি দলকে তাদের প্রকল্পের বর্তমান অবস্থা সম্পর্কে অবহিত করতে ব্যবহৃত হয়। ব্যবহৃত প্রকৃত বস্তুটি প্রেসার গেজ থেকে লাভা ল্যাম্প পর্যন্ত পরিবর্তিত হতে পারে, তবে এর উদ্দেশ্য একই থাকেঃ একটি সফ্টওয়্যার প্রক্রিয়া (যেমন 'বিল্ড') সফল কিনা তা দ্রুত যোগাযোগ করা। বিল্ড লাইট ইন্ডিকেটর ক্রুজ কন্ট্রোল থেকে উদ্ভূত হয়েছে, যা থটওয়ার্কসের কর্মচারীদের দ্বারা তৈরি একটি অবিচ্ছিন্ন ইন্টিগ্রেশন টুল। যদিও এটি প্রাথমিকভাবে একটি ওয়েব পেজ ড্যাশবোর্ড হিসাবে কাজ করত যা একটি বিল্ড সম্পর্কে আরও বিস্তারিত তথ্য রিপোর্ট করতে পারে, সফ্টওয়্যারটি সহজ প্রতিবেদনের জন্য বাহ্যিক ডিভাইসগুলিকেও নিয়ন্ত্রণ করতে পারে। বিল্ড লাইটের ঐতিহ্যগত ব্যবহার হল একটি কন্টিনিউয়াস ইন্টিগ্রেশন (সিআই) সিস্টেমে একটি সফ্টওয়্যার নির্মাণের সাফল্য নির্ধারণ করা। বিভিন্ন উন্নয়ন দল বিভিন্ন সূচক ব্যবহার করেছে, তবে একটি জনপ্রিয় পছন্দ হল সবুজ এবং লাল লাভা ল্যাম্প-নির্মাণ সফল হলে সবুজ এবং কিছু ভুল হলে লাল। বিল্ড লাইটগুলি এমনকি ওয়েবক্যাম বা অন্যান্য উপায়ে দূরবর্তীভাবে অ্যাক্সেসযোগ্য হতে পারে। যাইহোক, যেহেতু ব্যস্ত উন্নয়ন অফিসগুলিতে অনেক পরীক্ষা সর্বশেষ পরিবর্তনের পরে সর্বদা পুনরায় পরীক্ষার অবস্থায় থাকবে, তাই কিছু সূচকের তিনটি অবস্থা প্রদর্শন রয়েছে-পাস, ব্যর্থ এবং পুনরায় পরীক্ষা করা হচ্ছে, যাতে কর্মী এবং পরিচালকদের জন্য আরও সূক্ষ্ম সূচক সরবরাহ করা যায়। একক সূচকের বাইরে অবিচ্ছিন্ন সংহতকরণ থেকে অবিচ্ছিন্ন পরীক্ষায় বৃদ্ধির সাথে সাথে একক কোডবেসের জন্যও একযোগে নির্মাণ লক্ষ্যমাত্রার সংখ্যা বাড়তে পারে। পাশাপাশি একটি সহজ বিল্ড (অর্থাৎ। সংকলন) লক্ষ্য, এখন ইউনিট টেস্টিং এবং সিস্টেম টেস্টিংয়ের বিভিন্ন স্তর থাকবে। যেহেতু ব্যাপক পরীক্ষাগুলি ধীর এবং ডেভেলপারদের দ্রুত প্রতিক্রিয়া দেওয়ার জন্য দ্রুত চক্রে দ্রুত পরীক্ষাগুলি চালিয়ে যাওয়া বাঞ্ছনীয়, তাই নির্মাণ লক্ষ্যগুলির সংখ্যা পঞ্চাশ বা তার বেশি হতে পারে। এটি একটি সাধারণ লাভা ল্যাম্প প্রদর্শনের মাধ্যমে দেখানোর জন্য অনেক বেশি। জেনকিন্সের মতো ইন্টিগ্রেশন সার্ভারগুলি একটি ওয়েব-অ্যাক্সেসযোগ্য ড্যাশবোর্ড পৃষ্ঠা সরবরাহ করে এবং এটি পরিবর্তে একটি প্রাচীর-মাউন্ট করা ফ্ল্যাট স্ক্রিন মনিটরের উপর স্থায়ীভাবে প্রদর্শিত হতে পারে। এই ধরনের ড্যাশবোর্ডের বিবরণ একটি অফিস জুড়ে পড়ার জন্য খুব ছোট, তবে রঙের পরিবর্তনগুলি স্থিতির সামগ্রিক চিত্র উপস্থাপন করে। ক্রমাগত পরীক্ষা-চালিত বিকাশের একটি পদ্ধতির সাথে, সেগুলি পাস করার জন্য কার্যকরী কোড তৈরি করার আগে নতুন পরীক্ষাগুলি প্রকাশ করা হয়। এইভাবে এমন একটি সময় থাকে যখন কিছু পরীক্ষা জানা যায় এবং প্রকৃতপক্ষে ব্যর্থ হওয়া প্রয়োজন। ব্যর্থ পরীক্ষার প্রয়োজন হয় কারণ তারা উদ্বেগের পরিস্থিতি সনাক্ত করার জন্য নতুন পরীক্ষার ক্ষমতা প্রদর্শন করে। একবার নতুন কোডটি তৈরি এবং কাজ করার পরে, এই পরীক্ষাগুলি উত্তীর্ণ হতে শুরু করে। একটি অবিচ্ছিন্ন পরীক্ষার পরিবেশ যেখানে নতুন পরীক্ষাগুলি তাদের কোডের আগে প্রকাশ করা হয়, তাই দুটি নির্মাণ লক্ষ্যের প্রয়োজন হয়ঃ একটি সর্বশেষ কোড এবং পরীক্ষাগুলি ট্র্যাক করে, অন্য 'রিলিজ প্রার্থী' কেবলমাত্র বৃদ্ধিতে আপডেট করা হয় যখন সমস্ত পরীক্ষা পাসিং কোড দ্বারা সম্পন্ন হয়। নির্মাণ সূচকের জন্য এটি আরও বোঝায় যে সেই লক্ষ্যগুলির মধ্যে একটি প্রায়শই তার পরীক্ষায় "ব্যর্থ" হিসাবে দেখানো হবে। যেহেতু এই প্রত্যাশিত "ব্যর্থতা" সরল পর্যবেক্ষকদের কাছে বিভ্রান্তিকর হবে, তাই নির্মাণ সূচকের উচিত হয় এটি লুকানো বা স্পষ্টভাবে উপস্থাপন করা। যেখানে বেশ কয়েকটি কোড লক্ষ্য, যেমন পুরানো পণ্য সংস্করণ, এখনও সিআই-এর জন্য সমর্থিত, কিন্তু এই ধরনের সক্রিয় বিকাশের অধীনে নয়, তখন একটি সম্পূর্ণ ড্যাশবোর্ড "বাসি" লক্ষ্য দ্বারা প্রভাবিত হতে পারে যা খুব কমই পরিবর্তিত হয়। এই ক্ষেত্রে একটি নির্বাচিত ড্যাশবোর্ড আরও উপযুক্ত হতে পারে, যেখানে কেবল সেই লক্ষ্যগুলি প্রদর্শিত হয় যা ব্যর্থ হচ্ছে, বা সম্প্রতি সক্রিয় রয়েছে। সম্পূর্ণ ড্যাশবোর্ডটি ডেভেলপারদের ডেস্কটপের জন্য উপলব্ধ, তবে দেওয়ালের ডিসপ্লে শুধুমাত্র উল্লেখযোগ্য হাইলাইটগুলি দেখায়। এই ধরনের ড্যাশবোর্ডগুলি প্রায়শই মূল ড্যাশবোর্ডটি স্ক্রিন-স্ক্র্যাপ করে এবং স্থানীয় চাহিদা অনুযায়ী প্রাসঙ্গিক স্থানীয় ফিল্টার প্রয়োগ করে স্থানীয়ভাবে কোড করা হয়। স্ট্যাটিক ড্যাশবোর্ডের তুলনায় গতিশীল ফিল্টার করা ড্যাশবোর্ডের একটি অসুবিধা হল যে কোনও নির্দিষ্ট লক্ষ্যের জন্য আইকনগুলির অবস্থান পর্দায় পরিবর্তিত হতে পারে, যার ফলে কোনও অফিস জুড়ে পড়া কঠিন হয়ে পড়ে। এই ক্ষেত্রে, পণ্যের লোগোর মতো স্বতন্ত্র আইকনগুলি সাধারণ রঙের ব্লকের পরিবর্তে প্রদর্শিত হতে পারে। তথ্যসূত্র চটপটে সফ্টওয়্যার উন্নয়ন