عدم توجه و یا بهتر بگویم عدم داشتن #ریلیزپلن در اکثر شرکت های اکوسیستم جز معدودی از آنها با صحبت هایی که به گوش می رسد به وضوح مشخص است. به قول یکی از منتورهایم ریلیزپلن درون مایه یک تیم #چابک است و با تصویر کلی که ارائه می کند یک نقشه راه برای دیگر عناصر سیستم است. از این در بخش اول به چیستی آن و در متن بعدی به چرایی آن می پردازم. همچنین در متن سوم نیز به متد CI/CD به طور کامل خواهم پرداخت.
ریلیزپلن چیست ؟
گر بخواهیم به طور ساده بیان کنیم : هدف از ریلیز پلن این است که چه قابلیت های کاربردی و یا محصول جدید به کاربر و در چه زمانی تحویل داده می شود و این مهم باعث می شود تیم بتواند یک نمای کلی از خضوصیات نسخه های عرضه شده و برنامه تحویل نسخه های آتی را در رابطه با محصول داشته باشد .
با این برنامه ریزی که یک برنامه بلند مدت و پیش کوآرتری است ، تیم می تواند با انتظارات #مالک_ محصول خود را منطبق کرده و پاسخ به سوالات ذیل را داشته باشد :
و در نهایت به سرپرست محصول کمک می کند تا تعادل لازم را بین حفظ کیفیت و ارزش تجاری پروژه با محدودیت های منابع و مالی برقرار کند.
انواع ریلیزپلن چیست ؟
روش های متفاوتی برای ریلیز پلن در تیم ها وجود دارد . گاهی در برنامه ریلیز، در یک #اسپرینت یک قابلیت و یا فیچر به طور کامل دلیور می شود. و گاهی در دو یا سه اسپیرینت یک فیچر دلیور می شود و مالک محصول بنا به اولویت بندی و وابستگی فیچر به عناصر دیگر اسپرینت بک لاگ را جمع می کند و با تکمیل تمام اسپیرینت ها ریلیز صورت می گیرد .
و برخی دیگر از روش های بهینه شده تری استفاده می کند روشی که در آن توسعه دهندگان کد خود را چندین بار در روز در یک مخزن مشترک ادغام می کنند. برای تأیید کد یکپارچه ، آزمایشات و ساخت خودکار برای آن اجرا می شود ، پیرو آن تیم های توسعه اطمینان دارند که نرم افزار در هر زمان قابل انتشار است. طبق هر تعهد ، نرم افزار از فرآیند تست خودکار عبور می کند. اگر این آزمایش را با موفقیت پشت سر بگذارد آماده انتشار خواهد بود. روشی که با عنوان CI/CD (Continuous Integration and Continuous Delivery) آن را می شناسیم.