استراتژی کاردانو برای انتشار چیست؟

کاردانو از همکاری تیم‌های متعددی تشکیل شده که با هدفی مشترک و با نقشه راه مشترک کار می‌کنند. تیم توسعه روی پروژه‌ای کار می‌کند که شامل هسته، شبکه‌سازی، جستجوگر بلاکچین کاردانو، کیف پول و دیدالوس است؛آن‌ها رویکردی متفاوت‌تر از بقیه ارائه کرده‌اند که بر خلاف شرکت‌های نرم افزاری که در پایان تمام تغییرات ایجاد می‌شود با رویکردی تکراری نرم افزار به تدریج به روز رسانی می شود و به محض تصمیم به انتشار نسخه نهایی، تیم انتشار شروع به ترکیب شدن می‌کند تا شاخه‌ی ارشد به وجود آید این فرایند باعث تسهیل حرکت به سمت انتشار های مکرر و منظم را ایجاد می کند.

0 210

مهندسان IOHK از زمان انتشار شبکه اصلی خود (mainnet)، نه تنها شروع به برنامه‌ریزی ویژگی‌های جدید Shelley، که همان انتشار بزرگ بعدی‌شان است کرده‌اند، بلکه شیوه‌ی کارشان را نیز تکامل بخشیده‌اند. بزرگ‌ترین تغییر به وجود آمده این است که تیم توسعه‌دهنده‌ی کاردانو چرخه‌ی جدیدی از انتشار را دنبال می‌کند که به‌روزرسانی‌ها در آن به طور منظم‌تری برای نرم‌افزار منتشر خواهند شد.

این امر اکنون قابل انجام است چون بنیاد Byron را در اختیار داریم که می‌توانیم روی آن کار کنیم. این رویکرد به خانواده‌ کاردانو سود خواهند رساند چون به معنای ارائه‌ی ویژگی‌های جدید به کاربران توسط ما خواهد بود و مزایای دیگری همچون امکان طراحی بسیار دقیق تست برای کدها را خواهد داشت؛ برنامه‌ریزی قابل‌توجهی نیز برای کمک به تیممان جهت تغییر رویکرد انجام شده است و مطمئنیم که نتایج خوبی به دنبال خواهد داشت و این مطلب آنچه را در پشت پرده رخ می‌دهد نشان خواهد داد.

استرانژی کاردانو برای انتشار چیست؟
استرانژی کاردانو برای انتشار چیست؟

کاردانو از همکاری تیم‌های متعددی تشکیل شده که با هدفی مشترک و با نقشه‌ راه مشترک کار می‌کنند. تیم توسعه بر روی پروژه‌ای کار می‌کند که شامل هسته SL -Settlement Layer، شبکه‌سازی، جستجوگر بلاکچین کاردانو، کیف‌ پول و دیدالوس است. بخش توسعه‌ی ما از رویکرد توسعه‌ی نرم‌افزاری چابک پیروی می‌کند که این امکان را به ما داده که شیوه‌ی ساخت و ارسال کاردانو را به طور مرتب و مداوم بررسی کنیم و بهبود ببخشیم. چابک رویکردی تکراری است که نرم‌افزار در آن به جای آنکه ابتدا کامل شود و سپس تحویل داده شود، از شروع پروژه به تدریج ساخته می‌شود و بنابراین ما با همکاری Byron اجرای شبکه اصلی را انجام دادیم.

تیم‌های توسعه که بر روی Shelley کار می‌کنند اکنون مراحل دوهفته‌ای زمان‌بندی‌شده را دنبال می‌کنند که یک سری از دوره‌های زمانی هستند که طبق آن باید کار تکمیل و آماده بررسی شود. جلسات روزانه برای همکاری تیم‌ها و حل مسائل برگزار می‌شود. انباشت محصول (جایی که لیست اولویت ویژگی‌های آن ذخیره می‌شود و تمام توافقی که برای توسعه‌ی کاردانو مورد نیاز است، می‌باشد) توسط ابزار پیگیری مسئله مدیریت می‌شود. تیم‌ها هر کدام دوره‌‌های زمانی خود را دارند که کار خود را از این انباشت مشترک محصول می‌گیرند.

پس از دوره‌ی دو‌هفته‌ای، یک نسخه‌ی آزمایشی را بیرون می‌دهیم. پس از چند بار انتشار آزمایشی، یک نسخه‌ی اصلی بر اساس بازخورد خانواده‌ی کاردانو و آزمایش تضمین کیفیت داخلی بیرون داده می‌شود.

هدف ما کاهش زمان بین اجرای انتشار اصلی است. ما به منظور انتشار زود و مکرر، آن را به صورت زمان‌بندی شده بیرون می‌دهیم و نه بر اساس ویژگی‌های افزوده شده. انتشار مبتنی بر زمان در بسیازی از کسب‌وکارها و پروژه‌های متن باز مثل لینوکس (Linux) رایج است. این انتشار زمان‌بندی شده دیگر منتظر ایجاد ویژگی‌های جدید نخواهد بود؛ در عوض تنها چند ویژگی را که در هنگام انتشار آماده باشند را ترکیب می‌کنیم. این شامل Patchها که به‌روزرسانی برای بهبود باگ‌های نرم‌افزار هستندT نمی‌شود.

یکی از مشکلات انتشار یک‌جا که در Byron دنبال کردیم این است که به دلیل مشکلات موجود در ویژگی‌ها به طور همزمان، ما را در تنگنا قرار می‌دهد. جدا کردن ویژگی‌های برنامه از انتشار بدین معنی است که در آینده انتشار نرم‌افزار را به دلیل عدم آمادگی ویژگی‌های آن به تعویق نمی‌اندازیم. معنی دیگر آن این است که می‌توانیم بر ایجاد ویژگی‌های کوچک‌تر و ارائه‌ی آن به خانواده‌ی ارز خود تمرکز کنیم. بازخوردهای کم‌حجم‌تر به ما این امکان را می‌دهد تا بازخوردهای باارزش‌تری در مسیر خود جمع‌آوری کنیم. این کار به کاربران، همکاران و سهام‌داران این امکان را می‌دهد تا برای زمان‌بندی مشخص‌شده برنامه‌ریزی کنند و آماده باشند.

با این حال سنجش این رویکرد چابک در چندین تیم که همزمان بر یک محصول کار می‌کنند چالش‌هایی را به وجود می‌آورد. ما از یک مدل موفق و شناخته شده به نام git-flow برای موفقیت در کار خود استفاده می‌کنیم.

به محض اتمام زمان‌بندی توسعه، تیم عملیاتی و توسعه‌ی ما کدها را از شاخه‌ی توسعه به شاخه‌ی انتشار تقسیم می‌کند. تغییراتی در مراحل داخلی انجام می‌گیرد و به محض تایید این تغییرات، برای انتشار آزمایشی آماده می‌‌شوند. به محض تصمیم به انتشار نسخه‌ی نهایی، تیم انتشار ترکیب می‌شود تا شاخه‌ی ارشد به وجود آید. شاخه‌‌ی ارشد همیشه در حالتی باثبات همانند mainnet قرار دارد. ما برای تراز کردن فرایندهای‌مان جهت تسهیل حرکت به سمت انتشار‌های مکرر و منظم کار می‌کنیم. به محض تصویب یک برنامه‌ی مناسب انتشار، جامعه‌ی کاربران نیز اطلاع خواهند یافت. فرایند تشریح شده در اینجا، پایان کار نیست. ما در پی ارتقای مداوم هستیم و با تنظیم فرایندهای توسعه‌ی نرم‌افزاری‌مان، انتشار‌مان را به‌روزرسانی خواهیم کرد.

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.