پلتفرم CircleCI – یک پلتفرم یکپارچه سازی و تحویل مستمر، یافته های گزارش وضعیت تحویل نرم افزار 2022 خود را منتشر کرده است. این گزارش نشان می‌دهد که موفق‌ترین تیم‌های تحویل نرم‌افزار بزرگ‌تر هستند، از آزمایش‌های گسترده استفاده می‌کنند و آمادگی برای استقرار را در اولویت قرار می‌دهند.

یافته‌های کلیدی گزارش از نظر تیم‌ها و فرهنگ نشان می‌دهد که موفق‌ترین تیم‌ها به طور معمول چهار معیار کلیدی را دارا هستند: مدت، میانگین زمان تا بهبودی، میزان موفقیت، و توان عملیاتی. این تیم‌ها به جای تمرکز بر تعداد گردش‌های کاری که اجرا می‌شوند، توانایی استقرار در همه زمان‌ها – نشانگر کلیدی تحویل مداوم – را در اولویت قرار می‌دهند. مدت زمان گردش کار آنها به طور متوسط ​​بین 5 تا 10 دقیقه است، نرخ موفقیت بالای 90٪ در شاخه پیش فرض است و بازیابی هر گونه شکست کمتر از یک ساعت طول می کشد. این گزارش توضیح می‌دهد که چگونه نرم‌افزارهای معاصر به طور فزاینده‌ای با ترکیب کتابخانه‌های از پیش موجود در دسترس عموم از سراسر اینترنت به یکدیگر متصل می‌شوند، و بزرگی اجزای درگیر در ساخت نرم‌افزار پیچیدگی زیادی ایجاد می‌کند. بر اساس این گزارش، اکثر سازمان ها با استفاده از CI/CD این مشکل را کاهش می دهند. سپس CircleCI موفقیت یک سازمان را در پیاده سازی CI/CD بر اساس چهار معیار تحلیل می کند:


مدت زمان: مدت زمانی که طول می کشد تا یک گردش کار اجرا شود. مارتین فاولر پیشنهاد می کند که CI باید در «دقیقه» اجرا شود و گزارش نشان می دهد که مدت زمان متوسط ​​12-13 دقیقه بوده است. این گزارش نکاتی را برای بهبود این موضوع ارائه می‌کند که شامل تست‌های موازی، استفاده از تصاویر Docker که به طور خاص برای CI طراحی شده‌اند، و استفاده از اندازه بهینه ماشین و استراتژی‌های ذخیره‌سازی حافظه پنهان است.


میانگین زمان بازیابی (MTTR): میانگین زمان بین خرابی خط لوله و موفقیت بعدی آن. در حالت ایده‌آل، MTTR صفر خواهد بود، اما CircleCI فاکتورهایی را یافت که باعث بزرگ‌تر شدن آن می‌شوند شامل تعطیلات پایان سال، داشتن پوشش آزمایشی غیر جامع و پیام‌های خطای غیرشفاف از اجرای ناموفق. نکاتی برای بهبود این امر شامل کاهش مدت زمان تست‌ها، استفاده از ابزار برای شناسایی سریع خرابی‌های CI، استفاده از گزارش خطای معنی‌دار و قابل ردیابی در تست‌ها و امکان اشکال‌زدایی مستقیم در دستگاهی است که در آن گردش کار شکست خورده است.

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

توان عملیاتی: میانگین تعداد گردش کار در روز. با این حال، بازده کمتر لزوماً به معنای تغییر کمتر نیست، با این گزارش که نشان می‌دهد که می‌تواند به دلیل بزرگ‌تر بودن اندازه‌های تعهد باشد – روندی که مطالعات نشان می‌دهند که نتیجه معکوس دارد. این نشان می‌دهد که اندازه‌گیری توان عملیاتی خط پایه و نظارت بر نوسان‌ها مؤثرتر از هدف‌گیری برای یک عدد خروجی دلخواه یا یک عدد بر اساس سایرین است.


یک یافته دیگر این است که تیم های کوچکتر ممکن است از کمبود منابع برای تعمیر خطوط لوله شکسته رنج ببرند، بنابراین باید توسعه آزمایش محور (TDD) را برای جلوگیری از تولید کد بد در اولویت قرار دهند. با توجه به اینکه این سومین سالی است که CircleCI این گزارش را منتشر می‌کند، اعداد نشان می‌دهند که تیم‌های بیشتری نسبت به قبل در حال رسیدن به معیارها هستند.


بیشتر بدانید: https://www.infoq.com/news/2022/04/state-of-software-delivery/